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;