Skip to content

Commit 781090b

Browse files
authored
Merge pull request #1666 from jamescowens/disabletrxnotifications
Add options checkbox to disable transaction notifications
2 parents 5e41e02 + 4a8b90e commit 781090b

File tree

5 files changed

+29
-4
lines changed

5 files changed

+29
-4
lines changed

src/qt/bitcoingui.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1014,10 +1014,12 @@ void BitcoinGUI::incomingTransaction(const QModelIndex & parent, int start, int
10141014
TransactionTableModel *ttm = walletModel->getTransactionTableModel();
10151015
qint64 amount = ttm->index(start, TransactionTableModel::Amount, parent)
10161016
.data(Qt::EditRole).toULongLong();
1017-
if(!clientModel->inInitialBlockDownload())
1017+
1018+
// On new transaction, make an info balloon
1019+
// Unless the initial block download is in progress OR transaction notification
1020+
// is disabled, to prevent balloon-spam.
1021+
if(!(clientModel->inInitialBlockDownload() || walletModel->getOptionsModel()->getDisableTrxNotifications()))
10181022
{
1019-
// On new transaction, make an info balloon
1020-
// Unless the initial block download is in progress, to prevent balloon-spam
10211023
QString date = ttm->index(start, TransactionTableModel::Date, parent)
10221024
.data().toString();
10231025
QString type = ttm->index(start, TransactionTableModel::Type, parent)

src/qt/forms/optionsdialog.ui

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -324,6 +324,13 @@
324324
</property>
325325
</widget>
326326
</item>
327+
<item>
328+
<widget class="QCheckBox" name="disableTransactionNotifications">
329+
<property name="text">
330+
<string>Disable Transaction Notifications</string>
331+
</property>
332+
</widget>
333+
</item>
327334
<item>
328335
<spacer name="verticalSpacer_Window">
329336
<property name="orientation">

src/qt/optionsdialog.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@ void OptionsDialog::setMapper()
141141
mapper->addMapping(ui->socksVersion, OptionsModel::ProxySocksVersion);
142142

143143
/* Window */
144+
mapper->addMapping(ui->disableTransactionNotifications, OptionsModel::DisableTrxNotifications);
144145
#ifndef Q_OS_MAC
145146
mapper->addMapping(ui->minimizeToTray, OptionsModel::MinimizeToTray);
146147
mapper->addMapping(ui->minimizeOnClose, OptionsModel::MinimizeOnClose);

src/qt/optionsmodel.cpp

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ void OptionsModel::Init()
4141
// These are Qt-only settings:
4242
nDisplayUnit = settings.value("nDisplayUnit", BitcoinUnits::BTC).toInt();
4343
fMinimizeToTray = settings.value("fMinimizeToTray", false).toBool();
44-
bDisplayAddresses = settings.value("bDisplayAddresses", false).toBool();
44+
fDisableTrxNotifications = settings.value("fDisableTrxNotifications", false).toBool();
45+
bDisplayAddresses = settings.value("bDisplayAddresses", false).toBool();
4546
fMinimizeOnClose = settings.value("fMinimizeOnClose", false).toBool();
4647
fCoinControlFeatures = settings.value("fCoinControlFeatures", false).toBool();
4748
nTransactionFee = settings.value("nTransactionFee").toLongLong();
@@ -79,6 +80,8 @@ QVariant OptionsModel::data(const QModelIndex & index, int role) const
7980
return QVariant(GUIUtil::GetStartOnSystemStartup());
8081
case MinimizeToTray:
8182
return QVariant(fMinimizeToTray);
83+
case DisableTrxNotifications:
84+
return QVariant(fDisableTrxNotifications);
8285
case MapPortUPnP:
8386
return settings.value("fUseUPnP", GetBoolArg("-upnp", true));
8487
case MinimizeOnClose:
@@ -139,6 +142,10 @@ bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, in
139142
fMinimizeToTray = value.toBool();
140143
settings.setValue("fMinimizeToTray", fMinimizeToTray);
141144
break;
145+
case DisableTrxNotifications:
146+
fDisableTrxNotifications = value.toBool();
147+
settings.setValue("fDisableTrxNotifications", fDisableTrxNotifications);
148+
break;
142149
case MapPortUPnP:
143150
fUseUPnP = value.toBool();
144151
settings.setValue("fUseUPnP", fUseUPnP);
@@ -249,6 +256,11 @@ bool OptionsModel::getMinimizeToTray()
249256
return fMinimizeToTray;
250257
}
251258

259+
bool OptionsModel::getDisableTrxNotifications()
260+
{
261+
return fDisableTrxNotifications;
262+
}
263+
252264
bool OptionsModel::getMinimizeOnClose()
253265
{
254266
return fMinimizeOnClose;

src/qt/optionsmodel.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ class OptionsModel : public QAbstractListModel
1919
enum OptionID {
2020
StartAtStartup, // bool
2121
MinimizeToTray, // bool
22+
DisableTrxNotifications, // bool
2223
MapPortUPnP, // bool
2324
MinimizeOnClose, // bool
2425
ProxyUse, // bool
@@ -46,6 +47,7 @@ class OptionsModel : public QAbstractListModel
4647
qint64 getTransactionFee();
4748
qint64 getReserveBalance();
4849
bool getMinimizeToTray();
50+
bool getDisableTrxNotifications();
4951
bool getMinimizeOnClose();
5052
int getDisplayUnit();
5153
bool getDisplayAddresses();
@@ -56,6 +58,7 @@ class OptionsModel : public QAbstractListModel
5658
private:
5759
int nDisplayUnit;
5860
bool fMinimizeToTray;
61+
bool fDisableTrxNotifications;
5962
bool bDisplayAddresses;
6063
bool fMinimizeOnClose;
6164
bool fCoinControlFeatures;

0 commit comments

Comments
 (0)