[Qt] make Out-Of-Sync warning icon clickable

This commit is contained in:
Jonas Schnelli 2016-07-19 15:27:14 +02:00
parent 0904c3cda4
commit bd44a04dc3
No known key found for this signature in database
GPG key ID: 29D4BCB6416F53EC
7 changed files with 34 additions and 2 deletions

View file

@ -61,7 +61,7 @@
<item> <item>
<widget class="QPushButton" name="labelWalletStatus"> <widget class="QPushButton" name="labelWalletStatus">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>true</bool>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
@ -447,7 +447,7 @@
<item> <item>
<widget class="QPushButton" name="labelTransactionsStatus"> <widget class="QPushButton" name="labelTransactionsStatus">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>true</bool>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>

View file

@ -140,6 +140,8 @@ OverviewPage::OverviewPage(const PlatformStyle *platformStyle, QWidget *parent)
// start with displaying the "out of sync" warnings // start with displaying the "out of sync" warnings
showOutOfSyncWarning(true); showOutOfSyncWarning(true);
connect(ui->labelWalletStatus, SIGNAL(clicked()), this, SLOT(handleOutOfSyncWarningClicks()));
connect(ui->labelTransactionsStatus, SIGNAL(clicked()), this, SLOT(handleOutOfSyncWarningClicks()));
} }
void OverviewPage::handleTransactionClicked(const QModelIndex &index) void OverviewPage::handleTransactionClicked(const QModelIndex &index)
@ -148,6 +150,11 @@ void OverviewPage::handleTransactionClicked(const QModelIndex &index)
Q_EMIT transactionClicked(filter->mapToSource(index)); Q_EMIT transactionClicked(filter->mapToSource(index));
} }
void OverviewPage::handleOutOfSyncWarningClicks()
{
Q_EMIT outOfSyncWarningClicked();
}
OverviewPage::~OverviewPage() OverviewPage::~OverviewPage()
{ {
delete ui; delete ui;

View file

@ -42,6 +42,7 @@ public Q_SLOTS:
Q_SIGNALS: Q_SIGNALS:
void transactionClicked(const QModelIndex &index); void transactionClicked(const QModelIndex &index);
void outOfSyncWarningClicked();
private: private:
Ui::OverviewPage *ui; Ui::OverviewPage *ui;
@ -62,6 +63,7 @@ private Q_SLOTS:
void handleTransactionClicked(const QModelIndex &index); void handleTransactionClicked(const QModelIndex &index);
void updateAlerts(const QString &warnings); void updateAlerts(const QString &warnings);
void updateWatchOnlyLabels(bool showWatchOnly); void updateWatchOnlyLabels(bool showWatchOnly);
void handleOutOfSyncWarningClicks();
}; };
#endif // BITCOIN_QT_OVERVIEWPAGE_H #endif // BITCOIN_QT_OVERVIEWPAGE_H

View file

@ -57,6 +57,8 @@ bool WalletFrame::addWallet(const QString& name, WalletModel *walletModel)
// Ensure a walletView is able to show the main window // Ensure a walletView is able to show the main window
connect(walletView, SIGNAL(showNormalIfMinimized()), gui, SLOT(showNormalIfMinimized())); connect(walletView, SIGNAL(showNormalIfMinimized()), gui, SLOT(showNormalIfMinimized()));
connect(walletView, SIGNAL(outOfSyncWarningClicked()), this, SLOT(outOfSyncWarningClicked()));
return true; return true;
} }
@ -195,3 +197,7 @@ WalletView *WalletFrame::currentWalletView()
return qobject_cast<WalletView*>(walletStack->currentWidget()); return qobject_cast<WalletView*>(walletStack->currentWidget());
} }
void WalletFrame::outOfSyncWarningClicked()
{
Q_EMIT requestedOfSyncWarningInfo();
}

View file

@ -38,6 +38,10 @@ public:
void showOutOfSyncWarning(bool fShow); void showOutOfSyncWarning(bool fShow);
Q_SIGNALS:
/** Notify that the user has requested more information about the out-of-sync warning */
void requestedOfSyncWarningInfo();
private: private:
QStackedWidget *walletStack; QStackedWidget *walletStack;
BitcoinGUI *gui; BitcoinGUI *gui;
@ -78,6 +82,8 @@ public Q_SLOTS:
void usedSendingAddresses(); void usedSendingAddresses();
/** Show used receiving addresses */ /** Show used receiving addresses */
void usedReceivingAddresses(); void usedReceivingAddresses();
/** Pass on signal over requested out-of-sync-warning information */
void outOfSyncWarningClicked();
}; };
#endif // BITCOIN_QT_WALLETFRAME_H #endif // BITCOIN_QT_WALLETFRAME_H

View file

@ -66,6 +66,7 @@ WalletView::WalletView(const PlatformStyle *platformStyle, QWidget *parent):
// Clicking on a transaction on the overview pre-selects the transaction on the transaction history page // Clicking on a transaction on the overview pre-selects the transaction on the transaction history page
connect(overviewPage, SIGNAL(transactionClicked(QModelIndex)), transactionView, SLOT(focusTransaction(QModelIndex))); connect(overviewPage, SIGNAL(transactionClicked(QModelIndex)), transactionView, SLOT(focusTransaction(QModelIndex)));
connect(overviewPage, SIGNAL(outOfSyncWarningClicked()), this, SLOT(requestedOfSyncWarningInfo()));
// Double-clicking on a transaction on the transaction history page shows details // Double-clicking on a transaction on the transaction history page shows details
connect(transactionView, SIGNAL(doubleClicked(QModelIndex)), transactionView, SLOT(showDetails())); connect(transactionView, SIGNAL(doubleClicked(QModelIndex)), transactionView, SLOT(showDetails()));
@ -322,3 +323,8 @@ void WalletView::showProgress(const QString &title, int nProgress)
else if (progressDialog) else if (progressDialog)
progressDialog->setValue(nProgress); progressDialog->setValue(nProgress);
} }
void WalletView::requestedOfSyncWarningInfo()
{
Q_EMIT outOfSyncWarningClicked();
}

View file

@ -110,6 +110,9 @@ public Q_SLOTS:
/** Show progress dialog e.g. for rescan */ /** Show progress dialog e.g. for rescan */
void showProgress(const QString &title, int nProgress); void showProgress(const QString &title, int nProgress);
/** User has requested more information about the out of sync state */
void requestedOfSyncWarningInfo();
Q_SIGNALS: Q_SIGNALS:
/** Signal that we want to show the main window */ /** Signal that we want to show the main window */
void showNormalIfMinimized(); void showNormalIfMinimized();
@ -121,6 +124,8 @@ Q_SIGNALS:
void hdEnabledStatusChanged(int hdEnabled); void hdEnabledStatusChanged(int hdEnabled);
/** Notify that a new transaction appeared */ /** Notify that a new transaction appeared */
void incomingTransaction(const QString& date, int unit, const CAmount& amount, const QString& type, const QString& address, const QString& label); void incomingTransaction(const QString& date, int unit, const CAmount& amount, const QString& type, const QString& address, const QString& label);
/** Notify that the out of sync warning icon has been pressed */
void outOfSyncWarningClicked();
}; };
#endif // BITCOIN_QT_WALLETVIEW_H #endif // BITCOIN_QT_WALLETVIEW_H