mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-03-03 13:44:42 -05:00
Merge bitcoin-core/gui#115: Replace "Hide tray icon" option with positive "Show tray icon" one
03edb52eee
qt: Remove redundant BitcoinGUI::setTrayIconVisible (Hennadii Stepanov)17174f8328
gui: Replace "Hide tray icon" option with positive "Show tray icon" one (Hennadii Stepanov) Pull request description: This change makes easier both (1) using this option, and (2) reasoning about the code. ACKs for top commit: jonasschnelli: utACK03edb52eee
Tree-SHA512: 38e317492210d4fb13302dea383bd1f4f0ae1219d7ff2fdcb78607f15ac61a51969acaadb59b72c3f075b6356ef54368eb46fb49e6e1bd42db6d5804b97e232b
This commit is contained in:
commit
33d6337269
7 changed files with 31 additions and 41 deletions
|
@ -615,10 +615,10 @@ void BitcoinGUI::setClientModel(ClientModel *_clientModel, interfaces::BlockAndH
|
|||
OptionsModel* optionsModel = _clientModel->getOptionsModel();
|
||||
if (optionsModel && trayIcon) {
|
||||
// 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, trayIcon, &QSystemTrayIcon::setVisible);
|
||||
|
||||
// initialize the disable state of the tray icon with the current value in the model.
|
||||
setTrayIconVisible(optionsModel->getHideTrayIcon());
|
||||
trayIcon->setVisible(optionsModel->getShowTrayIcon());
|
||||
}
|
||||
} else {
|
||||
// Disable possibility to show main window via action
|
||||
|
@ -1387,14 +1387,6 @@ void BitcoinGUI::showProgress(const QString &title, int nProgress)
|
|||
}
|
||||
}
|
||||
|
||||
void BitcoinGUI::setTrayIconVisible(bool fHideTrayIcon)
|
||||
{
|
||||
if (trayIcon)
|
||||
{
|
||||
trayIcon->setVisible(!fHideTrayIcon);
|
||||
}
|
||||
}
|
||||
|
||||
void BitcoinGUI::showModalOverlay()
|
||||
{
|
||||
if (modalOverlay && (progressBar->isVisible() || modalOverlay->isLayerVisible()))
|
||||
|
|
|
@ -318,9 +318,6 @@ public Q_SLOTS:
|
|||
/** Show progress dialog e.g. for verifychain */
|
||||
void showProgress(const QString &title, int nProgress);
|
||||
|
||||
/** When hideTrayIcon setting is changed in OptionsModel hide or show the icon accordingly. */
|
||||
void setTrayIconVisible(bool);
|
||||
|
||||
void showModalOverlay();
|
||||
};
|
||||
|
||||
|
|
|
@ -568,12 +568,15 @@
|
|||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_Window">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="hideTrayIcon">
|
||||
<widget class="QCheckBox" name="showTrayIcon">
|
||||
<property name="toolTip">
|
||||
<string>Hide the icon from the system tray.</string>
|
||||
<string>Show the icon in the system tray.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Hide tray icon</string>
|
||||
<string>&Show tray icon</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
|
|
@ -130,8 +130,8 @@ OptionsDialog::OptionsDialog(QWidget *parent, bool enableWallet) :
|
|||
connect(ui->proxyPortTor, &QLineEdit::textChanged, this, &OptionsDialog::updateProxyValidationState);
|
||||
|
||||
if (!QSystemTrayIcon::isSystemTrayAvailable()) {
|
||||
ui->hideTrayIcon->setChecked(true);
|
||||
ui->hideTrayIcon->setEnabled(false);
|
||||
ui->showTrayIcon->setChecked(false);
|
||||
ui->showTrayIcon->setEnabled(false);
|
||||
ui->minimizeToTray->setChecked(false);
|
||||
ui->minimizeToTray->setEnabled(false);
|
||||
}
|
||||
|
@ -227,7 +227,7 @@ void OptionsDialog::setMapper()
|
|||
/* Window */
|
||||
#ifndef Q_OS_MAC
|
||||
if (QSystemTrayIcon::isSystemTrayAvailable()) {
|
||||
mapper->addMapping(ui->hideTrayIcon, OptionsModel::HideTrayIcon);
|
||||
mapper->addMapping(ui->showTrayIcon, OptionsModel::ShowTrayIcon);
|
||||
mapper->addMapping(ui->minimizeToTray, OptionsModel::MinimizeToTray);
|
||||
}
|
||||
mapper->addMapping(ui->minimizeOnClose, OptionsModel::MinimizeOnClose);
|
||||
|
@ -286,17 +286,14 @@ void OptionsDialog::on_cancelButton_clicked()
|
|||
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->setEnabled(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->minimizeToTray->setEnabled(true);
|
||||
}
|
||||
}
|
||||
|
||||
void OptionsDialog::togglePruneWarning(bool enabled)
|
||||
|
|
|
@ -57,7 +57,7 @@ private Q_SLOTS:
|
|||
void on_okButton_clicked();
|
||||
void on_cancelButton_clicked();
|
||||
|
||||
void on_hideTrayIcon_stateChanged(int fState);
|
||||
void on_showTrayIcon_stateChanged(int state);
|
||||
|
||||
void togglePruneWarning(bool enabled);
|
||||
void showRestartWarning(bool fPersistent = false);
|
||||
|
|
|
@ -54,14 +54,15 @@ void OptionsModel::Init(bool resetSettings)
|
|||
// These are Qt-only settings:
|
||||
|
||||
// Window
|
||||
if (!settings.contains("fHideTrayIcon"))
|
||||
if (!settings.contains("fHideTrayIcon")) {
|
||||
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"))
|
||||
settings.setValue("fMinimizeToTray", false);
|
||||
fMinimizeToTray = settings.value("fMinimizeToTray").toBool() && !fHideTrayIcon;
|
||||
fMinimizeToTray = settings.value("fMinimizeToTray").toBool() && m_show_tray_icon;
|
||||
|
||||
if (!settings.contains("fMinimizeOnClose"))
|
||||
settings.setValue("fMinimizeOnClose", false);
|
||||
|
@ -272,8 +273,8 @@ QVariant OptionsModel::data(const QModelIndex & index, int role) const
|
|||
{
|
||||
case StartAtStartup:
|
||||
return GUIUtil::GetStartOnSystemStartup();
|
||||
case HideTrayIcon:
|
||||
return fHideTrayIcon;
|
||||
case ShowTrayIcon:
|
||||
return m_show_tray_icon;
|
||||
case MinimizeToTray:
|
||||
return fMinimizeToTray;
|
||||
case MapPortUPnP:
|
||||
|
@ -342,10 +343,10 @@ 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);
|
||||
case ShowTrayIcon:
|
||||
m_show_tray_icon = value.toBool();
|
||||
settings.setValue("fHideTrayIcon", !m_show_tray_icon);
|
||||
Q_EMIT showTrayIconChanged(m_show_tray_icon);
|
||||
break;
|
||||
case MinimizeToTray:
|
||||
fMinimizeToTray = value.toBool();
|
||||
|
|
|
@ -45,7 +45,7 @@ public:
|
|||
|
||||
enum OptionID {
|
||||
StartAtStartup, // bool
|
||||
HideTrayIcon, // bool
|
||||
ShowTrayIcon, // bool
|
||||
MinimizeToTray, // bool
|
||||
MapPortUPnP, // bool
|
||||
MinimizeOnClose, // bool
|
||||
|
@ -78,7 +78,7 @@ public:
|
|||
void setDisplayUnit(const QVariant &value);
|
||||
|
||||
/* Explicit getters */
|
||||
bool getHideTrayIcon() const { return fHideTrayIcon; }
|
||||
bool getShowTrayIcon() const { return m_show_tray_icon; }
|
||||
bool getMinimizeToTray() const { return fMinimizeToTray; }
|
||||
bool getMinimizeOnClose() const { return fMinimizeOnClose; }
|
||||
int getDisplayUnit() const { return nDisplayUnit; }
|
||||
|
@ -100,7 +100,7 @@ public:
|
|||
private:
|
||||
interfaces::Node* m_node = nullptr;
|
||||
/* Qt-only settings */
|
||||
bool fHideTrayIcon;
|
||||
bool m_show_tray_icon;
|
||||
bool fMinimizeToTray;
|
||||
bool fMinimizeOnClose;
|
||||
QString language;
|
||||
|
@ -118,7 +118,7 @@ private:
|
|||
Q_SIGNALS:
|
||||
void displayUnitChanged(int unit);
|
||||
void coinControlFeaturesChanged(bool);
|
||||
void hideTrayIconChanged(bool);
|
||||
void showTrayIconChanged(bool);
|
||||
};
|
||||
|
||||
#endif // BITCOIN_QT_OPTIONSMODEL_H
|
||||
|
|
Loading…
Add table
Reference in a new issue