Skip to content

Commit 12d8d26

Browse files
committed
Qt: When multiple wallets are used, include in notifications the name
1 parent d1ec34a commit 12d8d26

File tree

6 files changed

+28
-7
lines changed

6 files changed

+28
-7
lines changed

src/qt/bitcoingui.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1000,12 +1000,15 @@ void BitcoinGUI::showEvent(QShowEvent *event)
10001000
}
10011001

10021002
#ifdef ENABLE_WALLET
1003-
void BitcoinGUI::incomingTransaction(const QString& date, int unit, const CAmount& amount, const QString& type, const QString& address, const QString& label)
1003+
void BitcoinGUI::incomingTransaction(const QString& date, int unit, const CAmount& amount, const QString& type, const QString& address, const QString& label, const QString& walletName)
10041004
{
10051005
// On new transaction, make an info balloon
10061006
QString msg = tr("Date: %1\n").arg(date) +
1007-
tr("Amount: %1\n").arg(BitcoinUnits::formatWithUnit(unit, amount, true)) +
1008-
tr("Type: %1\n").arg(type);
1007+
tr("Amount: %1\n").arg(BitcoinUnits::formatWithUnit(unit, amount, true));
1008+
if (WalletModel::isMultiwallet() && !walletName.isEmpty()) {
1009+
msg += tr("Wallet: %1\n").arg(walletName);
1010+
}
1011+
msg += tr("Type: %1\n").arg(type);
10091012
if (!label.isEmpty())
10101013
msg += tr("Label: %1\n").arg(label);
10111014
else if (!address.isEmpty())

src/qt/bitcoingui.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ public Q_SLOTS:
196196
bool handlePaymentRequest(const SendCoinsRecipient& recipient);
197197

198198
/** Show incoming transaction notification for new transactions. */
199-
void incomingTransaction(const QString& date, int unit, const CAmount& amount, const QString& type, const QString& address, const QString& label);
199+
void incomingTransaction(const QString& date, int unit, const CAmount& amount, const QString& type, const QString& address, const QString& label, const QString& walletName);
200200
#endif // ENABLE_WALLET
201201

202202
private Q_SLOTS:

src/qt/walletmodel.cpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -744,3 +744,18 @@ int WalletModel::getDefaultConfirmTarget() const
744744
{
745745
return nTxConfirmTarget;
746746
}
747+
748+
QString WalletModel::getWalletName() const
749+
{
750+
LOCK(wallet->cs_wallet);
751+
QString walletName = QString::fromStdString(wallet->GetName());
752+
if (walletName.endsWith(".dat")) {
753+
walletName.truncate(walletName.size() - 4);
754+
}
755+
return walletName;
756+
}
757+
758+
bool WalletModel::isMultiwallet()
759+
{
760+
return gArgs.GetArgs("-wallet").size() > 1;
761+
}

src/qt/walletmodel.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,9 @@ class WalletModel : public QObject
222222

223223
int getDefaultConfirmTarget() const;
224224

225+
QString getWalletName() const;
226+
227+
static bool isMultiwallet();
225228
private:
226229
CWallet *wallet;
227230
bool fHaveWatchOnly;

src/qt/walletview.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ void WalletView::setBitcoinGUI(BitcoinGUI *gui)
104104
connect(this, SIGNAL(encryptionStatusChanged()), gui, SLOT(updateWalletStatus()));
105105

106106
// Pass through transaction notifications
107-
connect(this, SIGNAL(incomingTransaction(QString,int,CAmount,QString,QString,QString)), gui, SLOT(incomingTransaction(QString,int,CAmount,QString,QString,QString)));
107+
connect(this, SIGNAL(incomingTransaction(QString,int,CAmount,QString,QString,QString,QString)), gui, SLOT(incomingTransaction(QString,int,CAmount,QString,QString,QString,QString)));
108108

109109
// Connect HD enabled state signal
110110
connect(this, SIGNAL(hdEnabledStatusChanged()), gui, SLOT(updateWalletStatus()));
@@ -172,7 +172,7 @@ void WalletView::processNewTransaction(const QModelIndex& parent, int start, int
172172
QString address = ttm->data(index, TransactionTableModel::AddressRole).toString();
173173
QString label = ttm->data(index, TransactionTableModel::LabelRole).toString();
174174

175-
Q_EMIT incomingTransaction(date, walletModel->getOptionsModel()->getDisplayUnit(), amount, type, address, label);
175+
Q_EMIT incomingTransaction(date, walletModel->getOptionsModel()->getDisplayUnit(), amount, type, address, label, walletModel->getWalletName());
176176
}
177177

178178
void WalletView::gotoOverviewPage()

src/qt/walletview.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ public Q_SLOTS:
124124
/** HD-Enabled status of wallet changed (only possible during startup) */
125125
void hdEnabledStatusChanged();
126126
/** Notify that a new transaction appeared */
127-
void incomingTransaction(const QString& date, int unit, const CAmount& amount, const QString& type, const QString& address, const QString& label);
127+
void incomingTransaction(const QString& date, int unit, const CAmount& amount, const QString& type, const QString& address, const QString& label, const QString& walletName);
128128
/** Notify that the out of sync warning icon has been pressed */
129129
void outOfSyncWarningClicked();
130130
};

0 commit comments

Comments
 (0)