allow emit message() in sendcoinsdialog and walletview

- this allows us to use emit message() over MessageBox:: or gui->message()
  calls in sendcoinsdialog and walletview
- move main handlePaymentRequest() functionality back to BitcoinGUI
- move a showNormalIfMinimized() before gotoSendCoinsPage()
This commit is contained in:
Philip Kaufmann 2013-10-24 15:49:13 +02:00
parent 081c0cdeb2
commit 2384a2864b
5 changed files with 30 additions and 17 deletions

View File

@ -752,9 +752,17 @@ bool BitcoinGUI::eventFilter(QObject *object, QEvent *event)
return QMainWindow::eventFilter(object, event); return QMainWindow::eventFilter(object, event);
} }
void BitcoinGUI::handlePaymentRequest(const SendCoinsRecipient& recipient) bool BitcoinGUI::handlePaymentRequest(const SendCoinsRecipient& recipient)
{ {
walletFrame->handlePaymentRequest(recipient); // URI has to be valid
if (walletFrame->handlePaymentRequest(recipient))
{
showNormalIfMinimized();
gotoSendCoinsPage();
return true;
}
else
return false;
} }
void BitcoinGUI::setEncryptionStatus(int status) void BitcoinGUI::setEncryptionStatus(int status)

View File

@ -146,7 +146,7 @@ public slots:
*/ */
void askFee(qint64 nFeeRequired, bool *payFee); void askFee(qint64 nFeeRequired, bool *payFee);
void handlePaymentRequest(const SendCoinsRecipient& recipient); bool handlePaymentRequest(const SendCoinsRecipient& recipient);
/** Show incoming transaction notification for new transactions. */ /** Show incoming transaction notification for new transactions. */
void incomingTransaction(const QString& date, int unit, qint64 amount, const QString& type, const QString& address); void incomingTransaction(const QString& date, int unit, qint64 amount, const QString& type, const QString& address);

View File

@ -52,6 +52,10 @@ private slots:
void on_sendButton_clicked(); void on_sendButton_clicked();
void removeEntry(SendCoinsEntry* entry); void removeEntry(SendCoinsEntry* entry);
void updateDisplayUnit(); void updateDisplayUnit();
signals:
// Fired when a message should be reported to the user
void message(const QString &title, const QString &message, unsigned int style);
}; };
#endif // SENDCOINSDIALOG_H #endif // SENDCOINSDIALOG_H

View File

@ -81,9 +81,15 @@ WalletView::~WalletView()
void WalletView::setBitcoinGUI(BitcoinGUI *gui) void WalletView::setBitcoinGUI(BitcoinGUI *gui)
{ {
this->gui = gui; this->gui = gui;
if (gui) if (gui)
{ {
// Clicking on a transaction on the overview page sends you to the transactions tab
connect(overviewPage, SIGNAL(transactionClicked(QModelIndex)), gui, SLOT(gotoHistoryPage())); connect(overviewPage, SIGNAL(transactionClicked(QModelIndex)), gui, SLOT(gotoHistoryPage()));
// Receive and report messages
connect(this, SIGNAL(message(QString,QString,unsigned int)), gui, SLOT(message(QString,QString,unsigned int)));
connect(sendCoinsPage, SIGNAL(message(QString,QString,unsigned int)), gui, SLOT(message(QString,QString,unsigned int)));
} }
} }
@ -187,15 +193,7 @@ void WalletView::gotoVerifyMessageTab(QString addr)
bool WalletView::handlePaymentRequest(const SendCoinsRecipient& recipient) bool WalletView::handlePaymentRequest(const SendCoinsRecipient& recipient)
{ {
// URI has to be valid return sendCoinsPage->handlePaymentRequest(recipient);
if (sendCoinsPage->handlePaymentRequest(recipient))
{
gotoSendCoinsPage();
emit showNormalIfMinimized();
return true;
}
else
return false;
} }
void WalletView::showOutOfSyncWarning(bool fShow) void WalletView::showOutOfSyncWarning(bool fShow)
@ -229,11 +227,11 @@ void WalletView::backupWallet()
QString filename = QFileDialog::getSaveFileName(this, tr("Backup Wallet"), saveDir, tr("Wallet Data (*.dat)")); QString filename = QFileDialog::getSaveFileName(this, tr("Backup Wallet"), saveDir, tr("Wallet Data (*.dat)"));
if (!filename.isEmpty()) { if (!filename.isEmpty()) {
if (!walletModel->backupWallet(filename)) { if (!walletModel->backupWallet(filename)) {
gui->message(tr("Backup Failed"), tr("There was an error trying to save the wallet data to the new location."), emit message(tr("Backup Failed"), tr("There was an error trying to save the wallet data to the new location."),
CClientUIInterface::MSG_ERROR); CClientUIInterface::MSG_ERROR);
} }
else else
gui->message(tr("Backup Successful"), tr("The wallet data was successfully saved to the new location."), emit message(tr("Backup Successful"), tr("The wallet data was successfully saved to the new location."),
CClientUIInterface::MSG_INFORMATION); CClientUIInterface::MSG_INFORMATION);
} }
} }

View File

@ -105,6 +105,9 @@ public slots:
signals: signals:
/** Signal that we want to show the main window */ /** Signal that we want to show the main window */
void showNormalIfMinimized(); void showNormalIfMinimized();
/** Fired when a message should be reported to the user */
void message(const QString &title, const QString &message, unsigned int style);
}; };
#endif // WALLETVIEW_H #endif // WALLETVIEW_H