Skip to content

Commit 75142ec

Browse files
committed
Merge #16706: qt: Replace deprecated QSignalMapper by lambda expressions
0912134 qt: Remove QSignalMapper from TransactionView (Hennadii Stepanov) 9e0c1d6 qt: Remove QSignalMapper from RPCConsole (Hennadii Stepanov) Pull request description: The [`QSignalMapper`](https://doc.qt.io/qt-5/qsignalmapper.html) class has been [deprecated](https://doc-snapshots.qt.io/qt5-5.10/obsoleteclasses.html) since Qt 5.10. This PR replaces it by lambdas and does not change behavior. ACKs for top commit: jonasschnelli: utACK 0912134 Tree-SHA512: 0c102d5cab4adc8b6252f72e07123ac87c65434c88cada3e72816ecea8fc4803f15b9c050fb5e1c7e8a96f709265521fd6813ab1890dbf5634032f7ee0d50675
2 parents 1f83785 + 0912134 commit 75142ec

File tree

3 files changed

+7
-25
lines changed

3 files changed

+7
-25
lines changed

src/qt/rpcconsole.cpp

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
#include <QScrollBar>
3535
#include <QScreen>
3636
#include <QSettings>
37-
#include <QSignalMapper>
3837
#include <QTime>
3938
#include <QTimer>
4039
#include <QStringList>
@@ -614,19 +613,10 @@ void RPCConsole::setClientModel(ClientModel *model)
614613
peersTableContextMenu->addAction(banAction7d);
615614
peersTableContextMenu->addAction(banAction365d);
616615

617-
// Add a signal mapping to allow dynamic context menu arguments.
618-
// We need to use int (instead of int64_t), because signal mapper only supports
619-
// int or objects, which is okay because max bantime (1 year) is < int_max.
620-
QSignalMapper* signalMapper = new QSignalMapper(this);
621-
signalMapper->setMapping(banAction1h, 60*60);
622-
signalMapper->setMapping(banAction24h, 60*60*24);
623-
signalMapper->setMapping(banAction7d, 60*60*24*7);
624-
signalMapper->setMapping(banAction365d, 60*60*24*365);
625-
connect(banAction1h, &QAction::triggered, signalMapper, static_cast<void (QSignalMapper::*)()>(&QSignalMapper::map));
626-
connect(banAction24h, &QAction::triggered, signalMapper, static_cast<void (QSignalMapper::*)()>(&QSignalMapper::map));
627-
connect(banAction7d, &QAction::triggered, signalMapper, static_cast<void (QSignalMapper::*)()>(&QSignalMapper::map));
628-
connect(banAction365d, &QAction::triggered, signalMapper, static_cast<void (QSignalMapper::*)()>(&QSignalMapper::map));
629-
connect(signalMapper, static_cast<void (QSignalMapper::*)(int)>(&QSignalMapper::mapped), this, &RPCConsole::banSelectedNode);
616+
connect(banAction1h, &QAction::triggered, [this] { banSelectedNode(60 * 60); });
617+
connect(banAction24h, &QAction::triggered, [this] { banSelectedNode(60 * 60 * 24); });
618+
connect(banAction7d, &QAction::triggered, [this] { banSelectedNode(60 * 60 * 24 * 7); });
619+
connect(banAction365d, &QAction::triggered, [this] { banSelectedNode(60 * 60 * 24 * 365); });
630620

631621
// peer table context menu signals
632622
connect(ui->peerWidget, &QTableView::customContextMenuRequested, this, &RPCConsole::showPeersTableContextMenu);

src/qt/transactionview.cpp

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
#include <QMenu>
3131
#include <QPoint>
3232
#include <QScrollBar>
33-
#include <QSignalMapper>
3433
#include <QTableView>
3534
#include <QTimer>
3635
#include <QUrl>
@@ -176,11 +175,6 @@ TransactionView::TransactionView(const PlatformStyle *platformStyle, QWidget *pa
176175
contextMenu->addAction(abandonAction);
177176
contextMenu->addAction(editLabelAction);
178177

179-
mapperThirdPartyTxUrls = new QSignalMapper(this);
180-
181-
// Connect actions
182-
connect(mapperThirdPartyTxUrls, static_cast<void (QSignalMapper::*)(const QString&)>(&QSignalMapper::mapped), this, &TransactionView::openThirdPartyTxUrl);
183-
184178
connect(dateWidget, static_cast<void (QComboBox::*)(int)>(&QComboBox::activated), this, &TransactionView::chooseDate);
185179
connect(typeWidget, static_cast<void (QComboBox::*)(int)>(&QComboBox::activated), this, &TransactionView::chooseType);
186180
connect(watchOnlyWidget, static_cast<void (QComboBox::*)(int)>(&QComboBox::activated), this, &TransactionView::chooseWatchonly);
@@ -246,15 +240,15 @@ void TransactionView::setModel(WalletModel *_model)
246240
QStringList listUrls = _model->getOptionsModel()->getThirdPartyTxUrls().split("|", QString::SkipEmptyParts);
247241
for (int i = 0; i < listUrls.size(); ++i)
248242
{
249-
QString host = QUrl(listUrls[i].trimmed(), QUrl::StrictMode).host();
243+
QString url = listUrls[i].trimmed();
244+
QString host = QUrl(url, QUrl::StrictMode).host();
250245
if (!host.isEmpty())
251246
{
252247
QAction *thirdPartyTxUrlAction = new QAction(host, this); // use host as menu item label
253248
if (i == 0)
254249
contextMenu->addSeparator();
255250
contextMenu->addAction(thirdPartyTxUrlAction);
256-
connect(thirdPartyTxUrlAction, &QAction::triggered, mapperThirdPartyTxUrls, static_cast<void (QSignalMapper::*)()>(&QSignalMapper::map));
257-
mapperThirdPartyTxUrls->setMapping(thirdPartyTxUrlAction, listUrls[i].trimmed());
251+
connect(thirdPartyTxUrlAction, &QAction::triggered, [this, url] { openThirdPartyTxUrl(url); });
258252
}
259253
}
260254
}

src/qt/transactionview.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ class QFrame;
2323
class QLineEdit;
2424
class QMenu;
2525
class QModelIndex;
26-
class QSignalMapper;
2726
class QTableView;
2827
QT_END_NAMESPACE
2928

@@ -72,7 +71,6 @@ class TransactionView : public QWidget
7271
QLineEdit *amountWidget;
7372

7473
QMenu *contextMenu;
75-
QSignalMapper *mapperThirdPartyTxUrls;
7674

7775
QFrame *dateRangeWidget;
7876
QDateTimeEdit *dateFrom;

0 commit comments

Comments
 (0)