diff --git a/src/qt/rpcconsole.cpp b/src/qt/rpcconsole.cpp --- a/src/qt/rpcconsole.cpp +++ b/src/qt/rpcconsole.cpp @@ -36,7 +36,6 @@ #include #include #include -#include #include #include #include @@ -705,31 +704,14 @@ peersTableContextMenu->addAction(banAction7d); peersTableContextMenu->addAction(banAction365d); - // Add a signal mapping to allow dynamic context menu arguments. We need - // to use int (instead of int64_t), because signal mapper only supports - // int or objects, which is okay because max bantime (1 year) is < - // int_max. - QSignalMapper *signalMapper = new QSignalMapper(this); - signalMapper->setMapping(banAction1h, 60 * 60); - signalMapper->setMapping(banAction24h, 60 * 60 * 24); - signalMapper->setMapping(banAction7d, 60 * 60 * 24 * 7); - signalMapper->setMapping(banAction365d, 60 * 60 * 24 * 365); - connect(banAction1h, &QAction::triggered, signalMapper, - static_cast(&QSignalMapper::map)); - connect(banAction24h, &QAction::triggered, signalMapper, - static_cast(&QSignalMapper::map)); - connect(banAction7d, &QAction::triggered, signalMapper, - static_cast(&QSignalMapper::map)); - connect(banAction365d, &QAction::triggered, signalMapper, - static_cast(&QSignalMapper::map)); -#if (QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)) - const auto mappedIntEvent = &QSignalMapper::mappedInt; -#else - const auto mappedIntEvent = - static_cast(&QSignalMapper::mapped); -#endif - connect(signalMapper, mappedIntEvent, this, - &RPCConsole::banSelectedNode); + connect(banAction1h, &QAction::triggered, + [this] { banSelectedNode(60 * 60); }); + connect(banAction24h, &QAction::triggered, + [this] { banSelectedNode(60 * 60 * 24); }); + connect(banAction7d, &QAction::triggered, + [this] { banSelectedNode(60 * 60 * 24 * 7); }); + connect(banAction365d, &QAction::triggered, + [this] { banSelectedNode(60 * 60 * 24 * 365); }); // peer table context menu signals connect(ui->peerWidget, &QTableView::customContextMenuRequested, this, diff --git a/src/qt/transactionview.h b/src/qt/transactionview.h --- a/src/qt/transactionview.h +++ b/src/qt/transactionview.h @@ -22,7 +22,6 @@ class QLineEdit; class QMenu; class QModelIndex; -class QSignalMapper; class QTableView; QT_END_NAMESPACE @@ -72,7 +71,6 @@ QLineEdit *amountWidget; QMenu *contextMenu; - QSignalMapper *mapperThirdPartyTxUrls; QFrame *dateRangeWidget; QDateTimeEdit *dateFrom; diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp --- a/src/qt/transactionview.cpp +++ b/src/qt/transactionview.cpp @@ -28,7 +28,6 @@ #include #include #include -#include #include #include #include @@ -179,19 +178,6 @@ contextMenu->addAction(abandonAction); contextMenu->addAction(editLabelAction); - mapperThirdPartyTxUrls = new QSignalMapper(this); - - // Connect actions -#if (QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)) - const auto mappedStringEvent = &QSignalMapper::mappedString; -#else - const auto mappedStringEvent = - static_cast( - &QSignalMapper::mapped); -#endif - connect(mapperThirdPartyTxUrls, mappedStringEvent, this, - &TransactionView::openThirdPartyTxUrl); - connect(dateWidget, static_cast(&QComboBox::activated), this, &TransactionView::chooseDate); @@ -281,8 +267,8 @@ QStringList listUrls = GUIUtil::splitSkipEmptyParts( _model->getOptionsModel()->getThirdPartyTxUrls(), "|"); for (int i = 0; i < listUrls.size(); ++i) { - QString host = - QUrl(listUrls[i].trimmed(), QUrl::StrictMode).host(); + QString url = listUrls[i].trimmed(); + QString host = QUrl(url, QUrl::StrictMode).host(); if (!host.isEmpty()) { // use host as menu item label QAction *thirdPartyTxUrlAction = new QAction(host, this); @@ -291,11 +277,7 @@ } contextMenu->addAction(thirdPartyTxUrlAction); connect(thirdPartyTxUrlAction, &QAction::triggered, - mapperThirdPartyTxUrls, - static_cast( - &QSignalMapper::map)); - mapperThirdPartyTxUrls->setMapping(thirdPartyTxUrlAction, - listUrls[i].trimmed()); + [this, url] { openThirdPartyTxUrl(url); }); } } }