From 398171c2b918199ae959674406744348689a5a39 Mon Sep 17 00:00:00 2001 From: orignal Date: Fri, 9 Feb 2018 15:35:20 -0500 Subject: [PATCH] invoke paper wallet --- src/qt/bitcoingui.cpp | 11 +++++++++++ src/qt/bitcoingui.h | 4 +++- src/qt/res/html/paperwallet.html | 2 +- src/qt/walletframe.cpp | 7 +++++++ src/qt/walletframe.h | 5 +++++ src/qt/walletview.cpp | 11 +++++++++++ src/qt/walletview.h | 7 ++++++- 7 files changed, 44 insertions(+), 3 deletions(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 993253d..272d999 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -258,6 +258,13 @@ void BitcoinGUI::createActions() connect(changePassphraseAction, SIGNAL(triggered()), walletFrame, SLOT(changePassphrase())); connect(signMessageAction, SIGNAL(triggered()), this, SLOT(gotoSignMessageTab())); connect(verifyMessageAction, SIGNAL(triggered()), this, SLOT(gotoVerifyMessageTab())); + +#ifdef USE_QRCODE + printPaperWalletAction = new QAction(QIcon(":/icons/key"), tr("&Print paper wallet..."), this); + printPaperWalletAction->setIconVisibleInMenu(true); + printPaperWalletAction->setStatusTip(tr("Generate new address and print")); + connect(printPaperWalletAction, SIGNAL(triggered()), walletFrame, SLOT(printPaperWallet())); +#endif } void BitcoinGUI::createMenuBar() @@ -276,6 +283,10 @@ void BitcoinGUI::createMenuBar() file->addAction(signMessageAction); file->addAction(verifyMessageAction); file->addSeparator(); +#ifdef USE_QRCODE + file->addAction(printPaperWalletAction); + file->addSeparator(); +#endif file->addAction(quitAction); QMenu *settings = appMenuBar->addMenu(tr("&Settings")); diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index a51dc09..99612ca 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -105,7 +105,9 @@ private: QAction *changePassphraseAction; QAction *aboutQtAction; QAction *openRPCConsoleAction; - +#ifdef USE_QRCODE + QAction *printPaperWalletAction; +#endif QSystemTrayIcon *trayIcon; Notificator *notificator; TransactionView *transactionView; diff --git a/src/qt/res/html/paperwallet.html b/src/qt/res/html/paperwallet.html index 0dccbc6..ec6a7fe 100644 --- a/src/qt/res/html/paperwallet.html +++ b/src/qt/res/html/paperwallet.html @@ -55,7 +55,7 @@
- +
diff --git a/src/qt/walletframe.cpp b/src/qt/walletframe.cpp index dc074e8..cbe513b 100644 --- a/src/qt/walletframe.cpp +++ b/src/qt/walletframe.cpp @@ -147,6 +147,13 @@ void WalletFrame::unlockWallet() walletView->unlockWallet(); } +void WalletFrame::printPaperWallet() +{ + WalletView *walletView = currentWalletView(); + if (walletView) + walletView->printPaperWallet(); +} + void WalletFrame::setEncryptionStatus() { WalletView *walletView = currentWalletView(); diff --git a/src/qt/walletframe.h b/src/qt/walletframe.h index 74454b1..40d17df 100644 --- a/src/qt/walletframe.h +++ b/src/qt/walletframe.h @@ -67,6 +67,11 @@ public slots: /** Ask for passphrase to unlock wallet temporarily */ void unlockWallet(); +#ifdef USE_QRCODE + /** Print paper wallet addresses */ + void printPaperWallet(); +#endif + /** Set the encryption status as shown in the UI. @param[in] status current encryption status @see WalletModel::EncryptionStatus diff --git a/src/qt/walletview.cpp b/src/qt/walletview.cpp index 277c056..adaa1c6 100644 --- a/src/qt/walletview.cpp +++ b/src/qt/walletview.cpp @@ -18,6 +18,10 @@ #include "askpassphrasedialog.h" #include "ui_interface.h" +#ifdef USE_QRCODE +#include "paperwallet.h" +#endif + #include #include #include @@ -272,3 +276,10 @@ void WalletView::unlockWallet() dlg.exec(); } } + +#ifdef USE_QRCODE +void WalletView::printPaperWallet() +{ + PrintPaperWallet (this); +} +#endif diff --git a/src/qt/walletview.h b/src/qt/walletview.h index 6bcd70b..eb30152 100644 --- a/src/qt/walletview.h +++ b/src/qt/walletview.h @@ -82,7 +82,7 @@ public slots: /** 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 = ""); + void gotoVerifyMessageTab(QString addr = ""); /** Show incoming transaction notification for new transactions. @@ -98,6 +98,11 @@ public slots: /** Ask for passphrase to unlock wallet temporarily */ void unlockWallet(); +#ifdef USE_QRCODE + /** Print paper wallet addresses */ + void printPaperWallet(); +#endif + void setEncryptionStatus(); };