diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index f2dfc8f..91beffa 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -215,6 +215,13 @@ void BitcoinGUI::createActions() addressBookAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_5)); tabGroup->addAction(addressBookAction); + pryptoRedeemAction = new QAction(QIcon(":/icons/receive"), tr("&Prypto Redeem"), this); + pryptoRedeemAction->setStatusTip(tr("Redeem the value of a Prypto card to your wallet")); + pryptoRedeemAction->setToolTip(pryptoRedeemAction->statusTip()); + pryptoRedeemAction->setCheckable(true); + pryptoRedeemAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_6)); + tabGroup->addAction(pryptoRedeemAction); + connect(overviewAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized())); connect(overviewAction, SIGNAL(triggered()), this, SLOT(gotoOverviewPage())); connect(sendCoinsAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized())); @@ -225,6 +232,8 @@ void BitcoinGUI::createActions() connect(historyAction, SIGNAL(triggered()), this, SLOT(gotoHistoryPage())); connect(addressBookAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized())); connect(addressBookAction, SIGNAL(triggered()), this, SLOT(gotoAddressBookPage())); + connect(pryptoRedeemAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized())); + connect(pryptoRedeemAction, SIGNAL(triggered()), this, SLOT(gotoPryptoPage())); quitAction = new QAction(QIcon(":/icons/quit"), tr("E&xit"), this); quitAction->setStatusTip(tr("Quit application")); @@ -373,6 +382,7 @@ void BitcoinGUI::setWalletActionsEnabled(bool enabled) signMessageAction->setEnabled(enabled); verifyMessageAction->setEnabled(enabled); addressBookAction->setEnabled(enabled); + pryptoRedeemAction->setEnabled(enabled); } void BitcoinGUI::createTrayIcon() @@ -502,6 +512,12 @@ void BitcoinGUI::gotoAddressBookPage() if ( toolbarGUI20 ) toolbarGUI20->SetCurrentItemType( GUIMenuToolbarControl::CONTACTS ); } +void BitcoinGUI::gotoPryptoPage() +{ + if (walletFrame) walletFrame->gotoPryptoPage(); + if ( toolbarGUI20 ) toolbarGUI20->SetCurrentItemType( GUIMenuToolbarControl::REDEEM_PRYPTO ); +} + void BitcoinGUI::gotoReceiveCoinsPage() { if (walletFrame) walletFrame->gotoReceiveCoinsPage(); @@ -886,8 +902,7 @@ void BitcoinGUI::slotMenuToolbarItemClicked( GUIMenuToolbarControl::EMenuToolbar } case GUIMenuToolbarControl::REDEEM_PRYPTO: { - // TODO - // emit pryptoRedeemAction->triggered(); + emit pryptoRedeemAction->triggered(); break; } case GUIMenuToolbarControl::INFO: diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index e14b4cd..8cd9a4c 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -69,6 +69,7 @@ public: QAction * getOverviewAction() { return overviewAction; } QAction * getHistoryAction() { return historyAction; } QAction * getAddressBookAction() { return addressBookAction; } + QAction * getPryptoRedeemAction() { return pryptoRedeemAction; } QAction * getReceiveCoinsAction() { return receiveCoinsAction; } QAction * getSendCoinsAction() { return sendCoinsAction; } @@ -107,6 +108,7 @@ private: QAction *changePassphraseAction; QAction *aboutQtAction; QAction *openRPCConsoleAction; + QAction *pryptoRedeemAction; QSystemTrayIcon *trayIcon; Notificator *notificator; @@ -172,6 +174,8 @@ private slots: void gotoHistoryPage(); /** Switch to address book page */ void gotoAddressBookPage(); + /** Switch to redeem prypto page */ + void gotoPryptoPage(); /** Switch to receive coins page */ void gotoReceiveCoinsPage(); /** Switch to send coins page */ diff --git a/src/qt/forms/pryptopage.ui b/src/qt/forms/pryptopage.ui new file mode 100644 index 0000000..1d4d673 --- /dev/null +++ b/src/qt/forms/pryptopage.ui @@ -0,0 +1,62 @@ + + + pryptopage + + + + 0 + 0 + 400 + 300 + + + + Dialog + + + + + 20 + 20 + 281 + 112 + + + + + + + Prypto Code + + + + + + + Security Code + + + + + + + + + + Qt::ImhDigitsOnly + + + + + + + Redeem + + + + + + + + + diff --git a/src/qt/pryptopage.cpp b/src/qt/pryptopage.cpp new file mode 100644 index 0000000..ecaa600 --- /dev/null +++ b/src/qt/pryptopage.cpp @@ -0,0 +1,19 @@ +#include "pryptopage.h" +#include "ui_pryptopage.h" + +PryptoPage::PryptoPage(QWidget *parent) : + QDialog(parent), + ui(new Ui::PryptoPage) +{ + ui->setupUi(this); +} + +PryptoPage::~PryptoPage() +{ + delete ui; +} + +void PryptoPage::on_butRedeem_clicked() +{ + +} diff --git a/src/qt/pryptopage.h b/src/qt/pryptopage.h new file mode 100644 index 0000000..3c646a4 --- /dev/null +++ b/src/qt/pryptopage.h @@ -0,0 +1,25 @@ +#ifndef PRYPTOPAGE_H +#define PRYPTOPAGE_H + +#include + +namespace Ui { + class PryptoPage; +} + +class PryptoPage : public QDialog +{ + Q_OBJECT + +public: + explicit PryptoPage(QWidget *parent = 0); + ~PryptoPage(); + +private slots: + void on_butRedeem_clicked(); + +private: + Ui::PryptoPage *ui; +}; + +#endif // PRYPTOPAGE_H diff --git a/src/qt/walletframe.cpp b/src/qt/walletframe.cpp index dc074e8..1ccd164 100644 --- a/src/qt/walletframe.cpp +++ b/src/qt/walletframe.cpp @@ -95,6 +95,13 @@ void WalletFrame::gotoAddressBookPage() walletStack->gotoAddressBookPage(); } +void WalletFrame::gotoPryptoPage() +{ + WalletView *walletView = currentWalletView(); + if (walletView) + walletStack->gotoPryptoPage(); +} + void WalletFrame::gotoReceiveCoinsPage() { walletStack->gotoReceiveCoinsPage(); diff --git a/src/qt/walletframe.h b/src/qt/walletframe.h index 74454b1..bc02384 100644 --- a/src/qt/walletframe.h +++ b/src/qt/walletframe.h @@ -48,6 +48,8 @@ public slots: void gotoHistoryPage(); /** Switch to address book page */ void gotoAddressBookPage(); + /** Switch to redeem prypto page */ + void gotoPryptoPage(); /** Switch to receive coins page */ void gotoReceiveCoinsPage(); /** Switch to send coins page */ diff --git a/src/qt/walletstack.cpp b/src/qt/walletstack.cpp index 3576d55..b8b310a 100644 --- a/src/qt/walletstack.cpp +++ b/src/qt/walletstack.cpp @@ -96,6 +96,13 @@ void WalletStack::gotoAddressBookPage() i.value()->gotoAddressBookPage(); } +void WalletStack::gotoPryptoPage() +{ + QMap::const_iterator i; + for (i = mapWalletViews.constBegin(); i != mapWalletViews.constEnd(); ++i) + i.value()->gotoPryptoPage(); +} + void WalletStack::gotoReceiveCoinsPage() { QMap::const_iterator i; diff --git a/src/qt/walletstack.h b/src/qt/walletstack.h index 506d595..a6e5df8 100644 --- a/src/qt/walletstack.h +++ b/src/qt/walletstack.h @@ -74,6 +74,8 @@ public slots: void gotoHistoryPage(); /** Switch to address book page */ void gotoAddressBookPage(); + /** Switch to redeem prypto page */ + void gotoPryptoPage(); /** Switch to receive coins page */ void gotoReceiveCoinsPage(); /** Switch to send coins page */ diff --git a/src/qt/walletview.cpp b/src/qt/walletview.cpp index dd2034c..ef1a3fa 100644 --- a/src/qt/walletview.cpp +++ b/src/qt/walletview.cpp @@ -8,6 +8,7 @@ #include "bitcoingui.h" #include "transactiontablemodel.h" #include "addressbookpage.h" +#include "pryptopage.h" #include "sendcoinsdialog.h" #include "signverifymessagedialog.h" #include "clientmodel.h" @@ -55,6 +56,8 @@ WalletView::WalletView(QWidget *parent, BitcoinGUI *_gui): addressBookPage = new AddressBookPage(AddressBookPage::ForEditing, AddressBookPage::SendingTab); + pryptoPage = new PryptoPage(gui); + receiveCoinsPage = new AddressBookPage(AddressBookPage::ForEditing, AddressBookPage::ReceivingTab); sendCoinsPage = new SendCoinsDialog(gui); @@ -64,6 +67,7 @@ WalletView::WalletView(QWidget *parent, BitcoinGUI *_gui): addWidget(overviewPage); addWidget(transactionsPage); addWidget(addressBookPage); + addWidget(pryptoPage); addWidget(receiveCoinsPage); addWidget(sendCoinsPage); @@ -168,6 +172,12 @@ void WalletView::gotoAddressBookPage() setCurrentWidget(addressBookPage); } +void WalletView::gotoPryptoPage() +{ + gui->getPryptoRedeemAction()->setChecked(true); + setCurrentWidget(pryptoPage); +} + void WalletView::gotoReceiveCoinsPage() { gui->getReceiveCoinsAction()->setChecked(true); diff --git a/src/qt/walletview.h b/src/qt/walletview.h index 6ad5180..ed62ffc 100644 --- a/src/qt/walletview.h +++ b/src/qt/walletview.h @@ -15,6 +15,7 @@ class WalletModel; class TransactionView; class OverviewPage; class AddressBookPage; +class PryptoPage; class SendCoinsDialog; class SignVerifyMessageDialog; class RPCConsole; @@ -61,6 +62,7 @@ private: OverviewPage *overviewPage; QWidget *transactionsPage; AddressBookPage *addressBookPage; + PryptoPage *pryptoPage; AddressBookPage *receiveCoinsPage; SendCoinsDialog *sendCoinsPage; SignVerifyMessageDialog *signVerifyMessageDialog; @@ -74,6 +76,8 @@ public slots: void gotoHistoryPage(); /** Switch to address book page */ void gotoAddressBookPage(); + /** Switch to redeem prypto page */ + void gotoPryptoPage(); /** Switch to receive coins page */ void gotoReceiveCoinsPage(); /** Switch to send coins page */