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

This commit is contained in:
Jonas Schnelli
2016-07-19 15:27:14 +02:00
committed by lateminer
parent fbf2fff41f
commit ae0210d70f
7 changed files with 34 additions and 2 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -66,6 +66,7 @@ WalletView::WalletView(const PlatformStyle *_platformStyle, const Config *cfg, Q
// 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(outOfSyncWarningClicked()), this, SLOT(requestedOfSyncWarningInfo()));
// Double-clicking on a transaction on the transaction history page shows details
connect(transactionView, SIGNAL(doubleClicked(QModelIndex)), transactionView, SLOT(showDetails()));
@@ -332,3 +333,8 @@ void WalletView::showProgress(const QString &title, int nProgress)
else if (progressDialog)
progressDialog->setValue(nProgress);
}
void WalletView::requestedOfSyncWarningInfo()
{
Q_EMIT outOfSyncWarningClicked();
}

View File

@@ -113,6 +113,9 @@ public Q_SLOTS:
/** Show progress dialog e.g. for rescan */
void showProgress(const QString &title, int nProgress);
/** User has requested more information about the out of sync state */
void requestedOfSyncWarningInfo();
Q_SIGNALS:
/** Signal that we want to show the main window */
void showNormalIfMinimized();
@@ -124,6 +127,8 @@ Q_SIGNALS:
void hdEnabledStatusChanged(int hdEnabled);
/** 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);
/** Notify that the out of sync warning icon has been pressed */
void outOfSyncWarningClicked();
};
#endif // BITCOIN_QT_WALLETVIEW_H