From 58248552528c638ada47b1a96e397b38c7b0314f Mon Sep 17 00:00:00 2001 From: Volker Fischer Date: Wed, 8 Apr 2020 15:30:32 +0200 Subject: [PATCH] added show licence switch in the server GUI --- ChangeLog | 4 +- src/main.cpp | 4 ++ src/server.h | 7 +-- src/serverdlg.cpp | 30 +++++++++++ src/serverdlg.h | 1 + src/serverdlgbase.ui | 126 +++++++++++++++++++++++++------------------ src/settings.cpp | 11 ++++ 7 files changed, 125 insertions(+), 58 deletions(-) diff --git a/ChangeLog b/ChangeLog index a3ba93e1..478b6e5d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6,13 +6,13 @@ - added support for channel meters, coded by pljones +- added show licence switch in the server GUI + - store fader mute state in the ini file, coded by doloopuntil - fixed low-res icon issue (Ticket #28) -TODO insert licence setting in server dialog -> on per default - TODO support OPUS 64 in the server as a first step towards official 64 samples frame size support TODO in CreateLevelsForAllConChannels we should call CStereoSignalLevelMeter::CalcLogResult instead -> make it public and static diff --git a/src/main.cpp b/src/main.cpp index 3bb18690..eddd8f03 100755 --- a/src/main.cpp +++ b/src/main.cpp @@ -541,6 +541,10 @@ const bool bUseDoubleSystemFrameSize = true; // TODO for now this value is fixed // settings file) Server.SetUseDefaultCentralServerAddress ( true ); + // special case for the GUI mode: we want the licenct type to be + // creative commons per default (if not given in the settings file) + Server.SetLicenceType ( LT_CREATIVECOMMONS ); + // load settings from init-file CSettings Settings ( &Server, strIniFileName ); Settings.Load(); diff --git a/src/server.h b/src/server.h index e04436e0..72baf0a7 100755 --- a/src/server.h +++ b/src/server.h @@ -191,11 +191,12 @@ public: // GUI settings ------------------------------------------------------------ - void SetAutoRunMinimized ( const bool NAuRuMin ) - { bAutoRunMinimized = NAuRuMin; } - + void SetAutoRunMinimized ( const bool NAuRuMin ) { bAutoRunMinimized = NAuRuMin; } bool GetAutoRunMinimized() { return bAutoRunMinimized; } + void SetLicenceType ( const ELicenceType NLiType ) { eLicenceType = NLiType; } + ELicenceType GetLicenceType() { return eLicenceType; } + protected: // access functions for actual channels bool IsConnected ( const int iChanNum ) diff --git a/src/serverdlg.cpp b/src/serverdlg.cpp index 228a113e..e4bfe7d8 100755 --- a/src/serverdlg.cpp +++ b/src/serverdlg.cpp @@ -56,6 +56,11 @@ CServerDlg::CServerDlg ( CServer* pNServP, "started when the operating system starts up and is automatically " "minimized to a system task bar icon." ) ); + // CC licence dialog switch + chbUseCCLicence->setWhatsThis ( tr ( "Show Creative Commons Licence " + "Dialog: If enabled, a Creative Commons Licence dialog is shown " + "each time a new user connects the server." ) ); + // register server flag chbRegisterServer->setWhatsThis ( tr ( "Register Server Status: If " "the register server check box is checked, this server registers " @@ -229,6 +234,16 @@ lvwClients->setMinimumHeight ( 140 ); chbRegisterServer->setCheckState ( Qt::Unchecked ); } + // update show Creative Commons licence check box + if ( pServer->GetLicenceType() == LT_CREATIVECOMMONS ) + { + chbUseCCLicence->setCheckState ( Qt::Checked ); + } + else + { + chbUseCCLicence->setCheckState ( Qt::Unchecked ); + } + // update start minimized check box (only available for Windows) #ifndef _WIN32 chbStartOnOSStart->setVisible ( false ); @@ -284,6 +299,9 @@ lvwClients->setMinimumHeight ( 140 ); QObject::connect ( chbStartOnOSStart, SIGNAL ( stateChanged ( int ) ), this, SLOT ( OnStartOnOSStartStateChanged ( int ) ) ); + QObject::connect ( chbUseCCLicence, SIGNAL ( stateChanged ( int ) ), + this, SLOT ( OnUseCCLicenceStateChanged ( int ) ) ); + // line edits QObject::connect ( edtCentralServerAddress, SIGNAL ( editingFinished() ), this, SLOT ( OnCentralServerAddressEditingFinished() ) ); @@ -342,6 +360,18 @@ void CServerDlg::OnStartOnOSStartStateChanged ( int value ) ModifyAutoStartEntry ( bCurAutoStartMinState ); } +void CServerDlg::OnUseCCLicenceStateChanged ( int value ) +{ + if ( value == Qt::Checked ) + { + pServer->SetLicenceType ( LT_CREATIVECOMMONS ); + } + else + { + pServer->SetLicenceType ( LT_NO_LICENCE ); + } +} + void CServerDlg::OnDefaultCentralServerStateChanged ( int value ) { // apply new setting to the server and update it diff --git a/src/serverdlg.h b/src/serverdlg.h index 476a69a6..ece00181 100755 --- a/src/serverdlg.h +++ b/src/serverdlg.h @@ -86,6 +86,7 @@ public slots: void OnRegisterServerStateChanged ( int value ); void OnDefaultCentralServerStateChanged ( int value ); void OnStartOnOSStartStateChanged ( int value ); + void OnUseCCLicenceStateChanged ( int value ); void OnCentralServerAddressEditingFinished(); void OnServerNameTextChanged ( const QString& strNewName ); void OnLocationCityTextChanged ( const QString& strNewCity ); diff --git a/src/serverdlgbase.ui b/src/serverdlgbase.ui index e22f3d48..08e420b0 100755 --- a/src/serverdlgbase.ui +++ b/src/serverdlgbase.ui @@ -1,80 +1,89 @@ - + + CServerDlgBase - - + + 0 0 588 - 386 + 415 - - + + - - :/png/main/res/fronticon.png + + + :/png/main/res/fronticon.png:/png/main/res/fronticon.png - + true - + - - + + false - + Client IP:Port - + Name - + Jitter Buffer Size - + Block Size Out/ms - - + + Start Minimized on Windows Start - - + + + Show Creative Commons Licence Dialog + + + + + + Register My Server in the Server List at the Central Server - + - - + + Central Server Address: - + - - + + Default @@ -82,30 +91,30 @@ - - + + My Server Info - + - + - - + + Name - - + + Location: City - - + + Location: Country @@ -113,15 +122,15 @@ - + - + - + - + @@ -129,41 +138,41 @@ - - + + 6 - + 0 - + 0 - + 0 - + 0 - - + + TextLabelNameVersion - + false - + Qt::Horizontal - + QSizePolicy::Expanding - + 20 20 @@ -175,8 +184,19 @@ + + lvwClients + chbStartOnOSStart + chbUseCCLicence + chbRegisterServer + edtCentralServerAddress + chbDefaultCentralServer + edtServerName + edtLocationCity + cbxLocationCountry + - + diff --git a/src/settings.cpp b/src/settings.cpp index 9b9a4460..36861f09 100755 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -364,6 +364,13 @@ void CSettings::Load() { pServer->SetAutoRunMinimized ( bValue ); } + + // licence type + if ( GetNumericIniSet ( IniXMLDocument, "server", "licencetype", + 0, 1 /* LT_CREATIVECOMMONS */, iValue ) ) + { + pServer->SetLicenceType ( static_cast ( iValue ) ); + } } } @@ -583,6 +590,10 @@ void CSettings::Save() // start minimized on OS start SetFlagIniSet ( IniXMLDocument, "server", "autostartmin", pServer->GetAutoRunMinimized() ); + + // licence type + SetNumericIniSet ( IniXMLDocument, "server", "licencetype", + static_cast ( pServer->GetLicenceType() ) ); } // prepare file name for storing initialization data in XML file and store