gui: Replace "Hide tray icon" option with positive "Show tray icon" one

This change makes easier both (1) using this option, and (2) reasoning
about the code.
This commit is contained in:
Hennadii Stepanov committed 2020-11-15 19:07:06 +02:00
1 parent d67883d01e
commit 17174f8328
7 files changed
+35 -35

No files matched your search

+5 -6
View File
@@ -615,10 +615,10 @@ void BitcoinGUI::setClientModel(ClientModel *_clientModel, interfaces::BlockAndH
OptionsModel* optionsModel = _clientModel->getOptionsModel(); OptionsModel* optionsModel = _clientModel->getOptionsModel();
if (optionsModel && trayIcon) { if (optionsModel && trayIcon) {
// be aware of the tray icon disable state change reported by the OptionsModel object. // be aware of the tray icon disable state change reported by the OptionsModel object.
connect(optionsModel, &OptionsModel::hideTrayIconChanged, this, &BitcoinGUI::setTrayIconVisible); connect(optionsModel, &OptionsModel::showTrayIconChanged, this, &BitcoinGUI::setTrayIconVisible);
// initialize the disable state of the tray icon with the current value in the model. // initialize the disable state of the tray icon with the current value in the model.
setTrayIconVisible(optionsModel->getHideTrayIcon()); setTrayIconVisible(optionsModel->getShowTrayIcon());
} }
} else { } else {
// Disable possibility to show main window via action // Disable possibility to show main window via action
@@ -1387,11 +1387,10 @@ void BitcoinGUI::showProgress(const QString &title, int nProgress)
} }
} }
void BitcoinGUI::setTrayIconVisible(bool fHideTrayIcon) void BitcoinGUI::setTrayIconVisible(bool show_tray_con)
{ {
if (trayIcon) if (trayIcon) {
{ trayIcon->setVisible(show_tray_con);
trayIcon->setVisible(!fHideTrayIcon);
} }
} }
+1 -1
View File
@@ -317,7 +317,7 @@ public Q_SLOTS:
/** Show progress dialog e.g. for verifychain */ /** Show progress dialog e.g. for verifychain */
void showProgress(const QString &title, int nProgress); void showProgress(const QString &title, int nProgress);
/** When hideTrayIcon setting is changed in OptionsModel hide or show the icon accordingly. */ /** When showTrayIcon setting is changed in OptionsModel show or hide the icon accordingly. */
void setTrayIconVisible(bool); void setTrayIconVisible(bool);
void showModalOverlay(); void showModalOverlay();
+6 -3
View File
@@ -568,12 +568,15 @@
</attribute> </attribute>
<layout class="QVBoxLayout" name="verticalLayout_Window"> <layout class="QVBoxLayout" name="verticalLayout_Window">
<item> <item>
<widget class="QCheckBox" name="hideTrayIcon"> <widget class="QCheckBox" name="showTrayIcon">
<property name="toolTip"> <property name="toolTip">
<string>Hide the icon from the system tray.</string> <string>Show the icon in the system tray.</string>
</property> </property>
<property name="text"> <property name="text">
<string>&amp;Hide tray icon</string> <string>&amp;Show tray icon</string>
</property>
<property name="checked">
<bool>true</bool>
</property> </property>
</widget> </widget>
</item> </item>
+7 -10
View File
@@ -130,8 +130,8 @@ OptionsDialog::OptionsDialog(QWidget *parent, bool enableWallet) :
connect(ui->proxyPortTor, &QLineEdit::textChanged, this, &OptionsDialog::updateProxyValidationState); connect(ui->proxyPortTor, &QLineEdit::textChanged, this, &OptionsDialog::updateProxyValidationState);
if (!QSystemTrayIcon::isSystemTrayAvailable()) { if (!QSystemTrayIcon::isSystemTrayAvailable()) {
ui->hideTrayIcon->setChecked(true); ui->showTrayIcon->setChecked(false);
ui->hideTrayIcon->setEnabled(false); ui->showTrayIcon->setEnabled(false);
ui->minimizeToTray->setChecked(false); ui->minimizeToTray->setChecked(false);
ui->minimizeToTray->setEnabled(false); ui->minimizeToTray->setEnabled(false);
} }
@@ -227,7 +227,7 @@ void OptionsDialog::setMapper()
/* Window */ /* Window */
#ifndef Q_OS_MAC #ifndef Q_OS_MAC
if (QSystemTrayIcon::isSystemTrayAvailable()) { if (QSystemTrayIcon::isSystemTrayAvailable()) {
mapper->addMapping(ui->hideTrayIcon, OptionsModel::HideTrayIcon); mapper->addMapping(ui->showTrayIcon, OptionsModel::ShowTrayIcon);
mapper->addMapping(ui->minimizeToTray, OptionsModel::MinimizeToTray); mapper->addMapping(ui->minimizeToTray, OptionsModel::MinimizeToTray);
} }
mapper->addMapping(ui->minimizeOnClose, OptionsModel::MinimizeOnClose); mapper->addMapping(ui->minimizeOnClose, OptionsModel::MinimizeOnClose);
@@ -286,17 +286,14 @@ void OptionsDialog::on_cancelButton_clicked()
reject(); reject();
} }
void OptionsDialog::on_hideTrayIcon_stateChanged(int fState) void OptionsDialog::on_showTrayIcon_stateChanged(int state)
{ {
if(fState) if (state == Qt::Checked) {
{ ui->minimizeToTray->setEnabled(true);
} else {
ui->minimizeToTray->setChecked(false); ui->minimizeToTray->setChecked(false);
ui->minimizeToTray->setEnabled(false); ui->minimizeToTray->setEnabled(false);
} }
else
{
ui->minimizeToTray->setEnabled(true);
}
} }
void OptionsDialog::togglePruneWarning(bool enabled) void OptionsDialog::togglePruneWarning(bool enabled)
+1 -1
View File
@@ -57,7 +57,7 @@ private Q_SLOTS:
void on_okButton_clicked(); void on_okButton_clicked();
void on_cancelButton_clicked(); void on_cancelButton_clicked();
void on_hideTrayIcon_stateChanged(int fState); void on_showTrayIcon_stateChanged(int state);
void togglePruneWarning(bool enabled); void togglePruneWarning(bool enabled);
void showRestartWarning(bool fPersistent = false); void showRestartWarning(bool fPersistent = false);
+11 -10
View File
@@ -54,14 +54,15 @@ void OptionsModel::Init(bool resetSettings)
// These are Qt-only settings: // These are Qt-only settings:
// Window // Window
if (!settings.contains("fHideTrayIcon")) if (!settings.contains("fHideTrayIcon")) {
settings.setValue("fHideTrayIcon", false); settings.setValue("fHideTrayIcon", false);
fHideTrayIcon = settings.value("fHideTrayIcon").toBool(); }
Q_EMIT hideTrayIconChanged(fHideTrayIcon); m_show_tray_icon = !settings.value("fHideTrayIcon").toBool();
Q_EMIT showTrayIconChanged(m_show_tray_icon);
if (!settings.contains("fMinimizeToTray")) if (!settings.contains("fMinimizeToTray"))
settings.setValue("fMinimizeToTray", false); settings.setValue("fMinimizeToTray", false);
fMinimizeToTray = settings.value("fMinimizeToTray").toBool() && !fHideTrayIcon; fMinimizeToTray = settings.value("fMinimizeToTray").toBool() && m_show_tray_icon;
if (!settings.contains("fMinimizeOnClose")) if (!settings.contains("fMinimizeOnClose"))
settings.setValue("fMinimizeOnClose", false); settings.setValue("fMinimizeOnClose", false);
@@ -272,8 +273,8 @@ QVariant OptionsModel::data(const QModelIndex & index, int role) const
{ {
case StartAtStartup: case StartAtStartup:
return GUIUtil::GetStartOnSystemStartup(); return GUIUtil::GetStartOnSystemStartup();
case HideTrayIcon: case ShowTrayIcon:
return fHideTrayIcon; return m_show_tray_icon;
case MinimizeToTray: case MinimizeToTray:
return fMinimizeToTray; return fMinimizeToTray;
case MapPortUPnP: case MapPortUPnP:
@@ -342,10 +343,10 @@ bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, in
case StartAtStartup: case StartAtStartup:
successful = GUIUtil::SetStartOnSystemStartup(value.toBool()); successful = GUIUtil::SetStartOnSystemStartup(value.toBool());
break; break;
case HideTrayIcon: case ShowTrayIcon:
fHideTrayIcon = value.toBool(); m_show_tray_icon = value.toBool();
settings.setValue("fHideTrayIcon", fHideTrayIcon); settings.setValue("fHideTrayIcon", !m_show_tray_icon);
Q_EMIT hideTrayIconChanged(fHideTrayIcon); Q_EMIT showTrayIconChanged(m_show_tray_icon);
break; break;
case MinimizeToTray: case MinimizeToTray:
fMinimizeToTray = value.toBool(); fMinimizeToTray = value.toBool();
+4 -4
View File
@@ -45,7 +45,7 @@ public:
enum OptionID { enum OptionID {
StartAtStartup, // bool StartAtStartup, // bool
HideTrayIcon, // bool ShowTrayIcon, // bool
MinimizeToTray, // bool MinimizeToTray, // bool
MapPortUPnP, // bool MapPortUPnP, // bool
MinimizeOnClose, // bool MinimizeOnClose, // bool
@@ -78,7 +78,7 @@ public:
void setDisplayUnit(const QVariant &value); void setDisplayUnit(const QVariant &value);
/* Explicit getters */ /* Explicit getters */
bool getHideTrayIcon() const { return fHideTrayIcon; } bool getShowTrayIcon() const { return m_show_tray_icon; }
bool getMinimizeToTray() const { return fMinimizeToTray; } bool getMinimizeToTray() const { return fMinimizeToTray; }
bool getMinimizeOnClose() const { return fMinimizeOnClose; } bool getMinimizeOnClose() const { return fMinimizeOnClose; }
int getDisplayUnit() const { return nDisplayUnit; } int getDisplayUnit() const { return nDisplayUnit; }
@@ -100,7 +100,7 @@ public:
private: private:
interfaces::Node* m_node = nullptr; interfaces::Node* m_node = nullptr;
/* Qt-only settings */ /* Qt-only settings */
bool fHideTrayIcon; bool m_show_tray_icon;
bool fMinimizeToTray; bool fMinimizeToTray;
bool fMinimizeOnClose; bool fMinimizeOnClose;
QString language; QString language;
@@ -118,7 +118,7 @@ private:
Q_SIGNALS: Q_SIGNALS:
void displayUnitChanged(int unit); void displayUnitChanged(int unit);
void coinControlFeaturesChanged(bool); void coinControlFeaturesChanged(bool);
void hideTrayIconChanged(bool); void showTrayIconChanged(bool);
}; };
#endif // BITCOIN_QT_OPTIONSMODEL_H #endif // BITCOIN_QT_OPTIONSMODEL_H