diff --git a/src/qt/addressbookpage.cpp b/src/qt/addressbookpage.cpp index e502d9bc3..7edf4b1ec 100644 --- a/src/qt/addressbookpage.cpp +++ b/src/qt/addressbookpage.cpp @@ -190,10 +190,7 @@ void AddressBookPage::on_signMessage_clicked() addr = address.toString(); } - QObject *qoGUI = parent()->parent(); - BitcoinGUI *gui = qobject_cast(qoGUI); - if (gui) - gui->gotoSignMessageTab(addr); + emit signMessage(addr); } void AddressBookPage::on_verifyMessage_clicked() @@ -208,10 +205,7 @@ void AddressBookPage::on_verifyMessage_clicked() addr = address.toString(); } - QObject *qoGUI = parent()->parent(); - BitcoinGUI *gui = qobject_cast(qoGUI); - if (gui) - gui->gotoVerifyMessageTab(addr); + emit verifyMessage(addr); } void AddressBookPage::on_newAddressButton_clicked() diff --git a/src/qt/addressbookpage.h b/src/qt/addressbookpage.h index fae688fc9..df8748694 100644 --- a/src/qt/addressbookpage.h +++ b/src/qt/addressbookpage.h @@ -76,6 +76,10 @@ private slots: /** New entry/entries were added to address table */ void selectNewAddress(const QModelIndex &parent, int begin, int end); + +signals: + void signMessage(QString addr); + void verifyMessage(QString addr); }; #endif // ADDRESSBOOKDIALOG_H diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 775d676ee..53401b376 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -165,6 +165,11 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): rpcConsole = new RPCConsole(this); connect(openRPCConsoleAction, SIGNAL(triggered()), rpcConsole, SLOT(show())); + // Clicking on "Verify Message" in the address book sends you to the verify message tab + connect(addressBookPage, SIGNAL(verifyMessage(QString)), this, SLOT(gotoVerifyMessageTab(QString))); + // Clicking on "Sign Message" in the receive coins page sends you to the sign message tab + connect(receiveCoinsPage, SIGNAL(signMessage(QString)), this, SLOT(gotoSignMessageTab(QString))); + gotoOverviewPage(); } diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index 4a395012e..9e0cd0c19 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -132,9 +132,6 @@ public slots: void askFee(qint64 nFeeRequired, bool *payFee); void handleURI(QString strURI); - void gotoSignMessageTab(QString addr = ""); - void gotoVerifyMessageTab(QString addr = ""); - private slots: /** Switch to overview (home) page */ void gotoOverviewPage(); @@ -147,6 +144,11 @@ private slots: /** Switch to send coins page */ void gotoSendCoinsPage(); + /** Show Sign/Verify Message dialog and switch to sign message tab */ + void gotoSignMessageTab(QString addr = ""); + /** Show Sign/Verify Message dialog and switch to verify message tab */ + void gotoVerifyMessageTab(QString addr = ""); + /** Show configuration dialog */ void optionsClicked(); /** Show about dialog */