[gui] Make proxy icon from statusbar clickable
Clicking on the proxy icon will open settings showing the network tab Create enum Tab in OptionsModel Use new connect syntax Use lambda for private slots
This commit is contained in:
+19
-13
@@ -146,7 +146,7 @@ BitcoinGUI::BitcoinGUI(interfaces::Node& node, const PlatformStyle *_platformSty
|
||||
unitDisplayControl = new UnitDisplayStatusBarControl(platformStyle);
|
||||
labelWalletEncryptionIcon = new QLabel();
|
||||
labelWalletHDStatusIcon = new QLabel();
|
||||
labelProxyIcon = new QLabel();
|
||||
labelProxyIcon = new GUIUtil::ClickableLabel();
|
||||
connectionsControl = new GUIUtil::ClickableLabel();
|
||||
labelBlocksIcon = new GUIUtil::ClickableLabel();
|
||||
if(enableWallet)
|
||||
@@ -193,7 +193,12 @@ BitcoinGUI::BitcoinGUI(interfaces::Node& node, const PlatformStyle *_platformSty
|
||||
// Subscribe to notifications from core
|
||||
subscribeToCoreSignals();
|
||||
|
||||
connect(connectionsControl, SIGNAL(clicked(QPoint)), this, SLOT(toggleNetworkActive()));
|
||||
connect(connectionsControl, &GUIUtil::ClickableLabel::clicked, [this] {
|
||||
m_node.setNetworkActive(!m_node.getNetworkActive());
|
||||
});
|
||||
connect(labelProxyIcon, &GUIUtil::ClickableLabel::clicked, [this] {
|
||||
openOptionsDialogWithTab(OptionsDialog::TAB_NETWORK);
|
||||
});
|
||||
|
||||
modalOverlay = new ModalOverlay(this->centralWidget());
|
||||
#ifdef ENABLE_WALLET
|
||||
@@ -635,12 +640,7 @@ void BitcoinGUI::trayIconActivated(QSystemTrayIcon::ActivationReason reason)
|
||||
|
||||
void BitcoinGUI::optionsClicked()
|
||||
{
|
||||
if(!clientModel || !clientModel->getOptionsModel())
|
||||
return;
|
||||
|
||||
OptionsDialog dlg(this, enableWallet);
|
||||
dlg.setModel(clientModel->getOptionsModel());
|
||||
dlg.exec();
|
||||
openOptionsDialogWithTab(OptionsDialog::TAB_MAIN);
|
||||
}
|
||||
|
||||
void BitcoinGUI::aboutClicked()
|
||||
@@ -764,6 +764,17 @@ void BitcoinGUI::updateHeadersSyncProgressLabel()
|
||||
progressBarLabel->setText(tr("Syncing Headers (%1%)...").arg(QString::number(100.0 / (headersTipHeight+estHeadersLeft)*headersTipHeight, 'f', 1)));
|
||||
}
|
||||
|
||||
void BitcoinGUI::openOptionsDialogWithTab(OptionsDialog::Tab tab)
|
||||
{
|
||||
if (!clientModel || !clientModel->getOptionsModel())
|
||||
return;
|
||||
|
||||
OptionsDialog dlg(this, enableWallet);
|
||||
dlg.setCurrentTab(tab);
|
||||
dlg.setModel(clientModel->getOptionsModel());
|
||||
dlg.exec();
|
||||
}
|
||||
|
||||
void BitcoinGUI::setNumBlocks(int count, const QDateTime& blockDate, double nVerificationProgress, bool header)
|
||||
{
|
||||
if (modalOverlay)
|
||||
@@ -1231,11 +1242,6 @@ void BitcoinGUI::unsubscribeFromCoreSignals()
|
||||
m_handler_question->disconnect();
|
||||
}
|
||||
|
||||
void BitcoinGUI::toggleNetworkActive()
|
||||
{
|
||||
m_node.setNetworkActive(!m_node.getNetworkActive());
|
||||
}
|
||||
|
||||
UnitDisplayStatusBarControl::UnitDisplayStatusBarControl(const PlatformStyle *platformStyle) :
|
||||
optionsModel(0),
|
||||
menu(0)
|
||||
|
||||
Reference in New Issue
Block a user