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();
};
|