diff --git a/src/clientsettingsdlg.cpp b/src/clientsettingsdlg.cpp index c7458826fd..1fb4c0813e 100644 --- a/src/clientsettingsdlg.cpp +++ b/src/clientsettingsdlg.cpp @@ -397,6 +397,11 @@ CClientSettingsDlg::CClientSettingsDlg ( CClient* pNCliP, CClientSettings* pNSet "A second sound device may be required to hear the alerts." ) ); chbAudioAlerts->setAccessibleName ( tr ( "Audio Alerts check box" ) ); + // show tooltips + chbShowToolTips->setWhatsThis ( "" + tr ( "Show ToolTips" ) + ": " + + tr ( "Enable or disable the showing of ToolTips when the mouse points to certain items." ) ); + chbShowToolTips->setAccessibleName ( tr ( "Show ToolTips check box" ) ); + // init driver button #if defined( _WIN32 ) && !defined( WITH_JACK ) butDriverSetup->setText ( tr ( "ASIO Device Settings" ) ); @@ -480,6 +485,9 @@ CClientSettingsDlg::CClientSettingsDlg ( CClient* pNCliP, CClientSettings* pNSet // init audio alerts chbAudioAlerts->setCheckState ( pSettings->bEnableAudioAlerts ? Qt::Checked : Qt::Unchecked ); + // init show tooltips + chbShowToolTips->setCheckState ( pSettings->bShowToolTips ? Qt::Checked : Qt::Unchecked ); + // update feedback detection chbDetectFeedback->setCheckState ( pSettings->bEnableFeedbackDetection ? Qt::Checked : Qt::Unchecked ); @@ -645,6 +653,8 @@ CClientSettingsDlg::CClientSettingsDlg ( CClient* pNCliP, CClientSettings* pNSet QObject::connect ( chbAudioAlerts, &QCheckBox::stateChanged, this, &CClientSettingsDlg::OnAudioAlertsChanged ); + QObject::connect ( chbShowToolTips, &QCheckBox::stateChanged, this, &CClientSettingsDlg::OnShowToolTipsChanged ); + // line edits QObject::connect ( edtNewClientLevel, &QLineEdit::editingFinished, this, &CClientSettingsDlg::OnNewClientLevelEditingFinished ); @@ -998,6 +1008,8 @@ void CClientSettingsDlg::OnMeterStyleActivated ( int iMeterStyleIdx ) void CClientSettingsDlg::OnAudioAlertsChanged ( int value ) { pSettings->bEnableAudioAlerts = value == Qt::Checked; } +void CClientSettingsDlg::OnShowToolTipsChanged ( int value ) { pSettings->bShowToolTips = value == Qt::Checked; } + void CClientSettingsDlg::OnAutoJitBufStateChanged ( int value ) { pClient->SetDoAutoSockBufSize ( value == Qt::Checked ); diff --git a/src/clientsettingsdlg.h b/src/clientsettingsdlg.h index 4678aeb32f..1855784069 100644 --- a/src/clientsettingsdlg.h +++ b/src/clientsettingsdlg.h @@ -97,6 +97,7 @@ public slots: void OnGUIDesignActivated ( int iDesignIdx ); void OnMeterStyleActivated ( int iMeterStyleIdx ); void OnAudioAlertsChanged ( int value ); + void OnShowToolTipsChanged ( int value ); void OnLanguageChanged ( QString strLanguage ) { pSettings->strLanguage = strLanguage; } void OnAliasTextChanged ( const QString& strNewName ); void OnInstrumentActivated ( int iCntryListItem ); @@ -116,6 +117,7 @@ public slots: void GUIDesignChanged(); void MeterStyleChanged(); void AudioAlertsChanged(); + void ShowToolTipsChanged(); void AudioChannelsChanged(); void CustomDirectoriesChanged(); void NumMixerPanelRowsChanged ( int value ); diff --git a/src/clientsettingsdlgbase.ui b/src/clientsettingsdlgbase.ui index 7ee311701a..f68bfcc738 100644 --- a/src/clientsettingsdlgbase.ui +++ b/src/clientsettingsdlgbase.ui @@ -276,6 +276,13 @@ + + + + + + + @@ -322,6 +329,13 @@ + + + + Show Tooltips + + + @@ -1358,6 +1372,7 @@ cbxLanguage spnMixerRows chbAudioAlerts + chbShowToolTips cbxSoundcard butDriverSetup cbxLInChan diff --git a/src/settings.cpp b/src/settings.cpp index 20a89b2ad4..37baea050f 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -289,6 +289,12 @@ void CClientSettings::ReadSettingsFromXML ( const QDomDocument& IniXMLDocument, bEnableAudioAlerts = bValue; } + // show tooltips + if ( GetFlagIniSet ( IniXMLDocument, "client", "showtooltips", bValue ) ) + { + bShowToolTips = bValue; + } + // name pClient->ChannelInfo.strName = FromBase64ToString ( GetIniSetting ( IniXMLDocument, "client", "name_base64", ToBase64 ( QCoreApplication::translate ( "CMusProfDlg", "No Name" ) ) ) ); @@ -652,6 +658,9 @@ void CClientSettings::WriteSettingsToXML ( QDomDocument& IniXMLDocument, bool is // audio alerts SetFlagIniSet ( IniXMLDocument, "client", "enableaudioalerts", bEnableAudioAlerts ); + // show tooltips + SetFlagIniSet ( IniXMLDocument, "client", "showtooltips", bShowToolTips ); + // name PutIniSetting ( IniXMLDocument, "client", "name_base64", ToBase64 ( pClient->ChannelInfo.strName ) ); diff --git a/src/settings.h b/src/settings.h index a7d7564519..9dc09b1709 100644 --- a/src/settings.h +++ b/src/settings.h @@ -157,6 +157,7 @@ class CClientSettings : public CSettings eDirectoryType ( AT_DEFAULT ), bEnableFeedbackDetection ( true ), bEnableAudioAlerts ( false ), + bShowToolTips ( true ), vecWindowPosSettings(), // empty array vecWindowPosChat(), // empty array vecWindowPosConnect(), // empty array @@ -191,6 +192,7 @@ class CClientSettings : public CSettings int iCustomDirectoryIndex; // index of selected custom directory bool bEnableFeedbackDetection; bool bEnableAudioAlerts; + bool bShowToolTips; // window position/state settings QByteArray vecWindowPosSettings;