X-Git-Url: https://git.novaco.in/?p=novacoin.git;a=blobdiff_plain;f=src%2Fqt%2Fbitcoingui.cpp;h=95646b1df14281059d638decec8441e8b0060cb9;hp=e15941e7ddb5874e68d98887d9a621a36720c5f8;hb=cf9195c8085bade8076e064c043756024fcafa5a;hpb=69e87633bca0e43f3a58dad921a6fb1bdecd307b diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index e15941e..95646b1 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -20,6 +20,7 @@ #include "bitcoinunits.h" #include "guiconstants.h" #include "askpassphrasedialog.h" +#include "notificator.h" #include #include @@ -51,7 +52,8 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): walletModel(0), encryptWalletAction(0), changePassphraseAction(0), - trayIcon(0) + trayIcon(0), + notificator(0) { resize(850, 550); setWindowTitle(tr("Bitcoin Wallet")); @@ -287,6 +289,8 @@ void BitcoinGUI::createTrayIcon() connect(trayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(trayIconActivated(QSystemTrayIcon::ActivationReason))); trayIcon->show(); + + notificator = new Notificator(tr("bitcoin-qt"), trayIcon); } void BitcoinGUI::trayIconActivated(QSystemTrayIcon::ActivationReason reason) @@ -394,18 +398,7 @@ void BitcoinGUI::setNumBlocks(int count) void BitcoinGUI::error(const QString &title, const QString &message) { // Report errors from network/worker thread - if(trayIcon->supportsMessages()) - { - // Show as "balloon" message if possible - trayIcon->showMessage(title, message, QSystemTrayIcon::Critical); - } - else - { - // Fall back to old fashioned popup dialog if not - QMessageBox::critical(this, title, - message, - QMessageBox::Ok, QMessageBox::Ok); - } + notificator->notify(Notificator::Critical, title, message); } void BitcoinGUI::changeEvent(QEvent *e) @@ -453,8 +446,6 @@ void BitcoinGUI::askFee(qint64 nFeeRequired, bool *payFee) void BitcoinGUI::incomingTransaction(const QModelIndex & parent, int start, int end) { - if(start == end) - return; TransactionTableModel *ttm = walletModel->getTransactionTableModel(); qint64 amount = ttm->index(start, TransactionTableModel::Amount, parent) .data(Qt::EditRole).toULongLong(); @@ -468,14 +459,21 @@ void BitcoinGUI::incomingTransaction(const QModelIndex & parent, int start, int .data().toString(); QString address = ttm->index(start, TransactionTableModel::ToAddress, parent) .data().toString(); - - trayIcon->showMessage((amount)<0 ? tr("Sent transaction") : - tr("Incoming transaction"), - tr("Date: ") + date + "\n" + - tr("Amount: ") + BitcoinUnits::formatWithUnit(walletModel->getOptionsModel()->getDisplayUnit(), amount, true) + "\n" + - tr("Type: ") + type + "\n" + - tr("Address: ") + address + "\n", - QSystemTrayIcon::Information); + QIcon icon = qvariant_cast(ttm->index(start, + TransactionTableModel::ToAddress, parent) + .data(Qt::DecorationRole)); + + notificator->notify(Notificator::Information, + (amount)<0 ? tr("Sent transaction") : + tr("Incoming transaction"), + tr("Date: %1\n" + "Amount: %2\n" + "Type: %3\n" + "Address: %4\n") + .arg(date) + .arg(BitcoinUnits::formatWithUnit(walletModel->getOptionsModel()->getDisplayUnit(), amount, true)) + .arg(type) + .arg(address), icon); } }