mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-12 06:58:57 +01:00
Qt: Add option to hide the system tray icon
My changes leave all tray icon and menu creation/initialization logic untouched. It only shows or hides the icon according to the setting. A new checkbox was added to the OptionsDialog under the Window tab. A bool option named "hideTrayIcon" was added to OptionsModel. This checkbox was mapped like other all options to the OptionsModel. A signal was added to the OptionsModel for broadcasting changes the the hideTrayIcon option. This signal was connected to a new slot added to BitcoinGUI named setTrayIconVisible(bool). The slot simply hides or shows the trayIcon in BitcoinGUI according to the parameter recieved.
This commit is contained in:
@@ -51,9 +51,14 @@ void OptionsModel::Init(bool resetSettings)
|
||||
// These are Qt-only settings:
|
||||
|
||||
// Window
|
||||
if (!settings.contains("fHideTrayIcon"))
|
||||
settings.setValue("fHideTrayIcon", false);
|
||||
fHideTrayIcon = settings.value("fHideTrayIcon").toBool();
|
||||
Q_EMIT hideTrayIconChanged(fHideTrayIcon);
|
||||
|
||||
if (!settings.contains("fMinimizeToTray"))
|
||||
settings.setValue("fMinimizeToTray", false);
|
||||
fMinimizeToTray = settings.value("fMinimizeToTray").toBool();
|
||||
fMinimizeToTray = settings.value("fMinimizeToTray").toBool() && !fHideTrayIcon;
|
||||
|
||||
if (!settings.contains("fMinimizeOnClose"))
|
||||
settings.setValue("fMinimizeOnClose", false);
|
||||
@@ -166,6 +171,8 @@ QVariant OptionsModel::data(const QModelIndex & index, int role) const
|
||||
{
|
||||
case StartAtStartup:
|
||||
return GUIUtil::GetStartOnSystemStartup();
|
||||
case HideTrayIcon:
|
||||
return fHideTrayIcon;
|
||||
case MinimizeToTray:
|
||||
return fMinimizeToTray;
|
||||
case MapPortUPnP:
|
||||
@@ -242,6 +249,11 @@ bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, in
|
||||
case StartAtStartup:
|
||||
successful = GUIUtil::SetStartOnSystemStartup(value.toBool());
|
||||
break;
|
||||
case HideTrayIcon:
|
||||
fHideTrayIcon = value.toBool();
|
||||
settings.setValue("fHideTrayIcon", fHideTrayIcon);
|
||||
Q_EMIT hideTrayIconChanged(fHideTrayIcon);
|
||||
break;
|
||||
case MinimizeToTray:
|
||||
fMinimizeToTray = value.toBool();
|
||||
settings.setValue("fMinimizeToTray", fMinimizeToTray);
|
||||
|
||||
Reference in New Issue
Block a user