From 8d814a16b3dbf1944a48108a8f136040bc753a39 Mon Sep 17 00:00:00 2001 From: tobtoht Date: Tue, 7 May 2024 21:30:37 +0200 Subject: [PATCH] plugins: remove localmonero Thank you Alex for all you've done for the community over the years. --- CMakeLists.txt | 2 - src/ContactsWidget.cpp | 2 +- src/SettingsDialog.cpp | 13 - src/SettingsDialog.ui | 18 +- src/assets.qrc | 8 +- src/assets/images/localMonero_buy.svg | 1 - src/assets/images/localMonero_buy_white.svg | 1 - src/assets/images/localMonero_logo.png | Bin 10540 -> 0 bytes src/assets/images/localMonero_search.svg | 1 - src/assets/images/localMonero_sell.svg | 1 - src/assets/images/localMonero_sell_white.svg | 1 - ...{localMonero_register.svg => register.svg} | 0 src/plugins/exchange/ExchangePlugin.cpp | 64 --- src/plugins/exchange/ExchangePlugin.h | 38 -- src/plugins/exchange/ExchangeWidget.cpp | 24 -- src/plugins/exchange/ExchangeWidget.h | 31 -- src/plugins/exchange/ExchangeWidget.ui | 36 -- src/plugins/localmonero/LocalMoneroApi.cpp | 119 ------ src/plugins/localmonero/LocalMoneroApi.h | 53 --- .../localmonero/LocalMoneroInfoDialog.cpp | 49 --- .../localmonero/LocalMoneroInfoDialog.h | 37 -- .../localmonero/LocalMoneroInfoDialog.ui | 195 --------- src/plugins/localmonero/LocalMoneroModel.cpp | 172 -------- src/plugins/localmonero/LocalMoneroModel.h | 47 --- src/plugins/localmonero/LocalMoneroPlugin.cpp | 58 --- src/plugins/localmonero/LocalMoneroPlugin.h | 40 -- src/plugins/localmonero/LocalMoneroWidget.cpp | 216 ---------- src/plugins/localmonero/LocalMoneroWidget.h | 56 --- src/plugins/localmonero/LocalMoneroWidget.ui | 385 ------------------ src/utils/config.cpp | 3 +- src/utils/config.h | 1 - 31 files changed, 4 insertions(+), 1668 deletions(-) delete mode 100644 src/assets/images/localMonero_buy.svg delete mode 100644 src/assets/images/localMonero_buy_white.svg delete mode 100644 src/assets/images/localMonero_logo.png delete mode 100644 src/assets/images/localMonero_search.svg delete mode 100644 src/assets/images/localMonero_sell.svg delete mode 100644 src/assets/images/localMonero_sell_white.svg rename src/assets/images/{localMonero_register.svg => register.svg} (100%) delete mode 100644 src/plugins/exchange/ExchangePlugin.cpp delete mode 100644 src/plugins/exchange/ExchangePlugin.h delete mode 100644 src/plugins/exchange/ExchangeWidget.cpp delete mode 100644 src/plugins/exchange/ExchangeWidget.h delete mode 100644 src/plugins/exchange/ExchangeWidget.ui delete mode 100644 src/plugins/localmonero/LocalMoneroApi.cpp delete mode 100644 src/plugins/localmonero/LocalMoneroApi.h delete mode 100644 src/plugins/localmonero/LocalMoneroInfoDialog.cpp delete mode 100644 src/plugins/localmonero/LocalMoneroInfoDialog.h delete mode 100644 src/plugins/localmonero/LocalMoneroInfoDialog.ui delete mode 100644 src/plugins/localmonero/LocalMoneroModel.cpp delete mode 100644 src/plugins/localmonero/LocalMoneroModel.h delete mode 100644 src/plugins/localmonero/LocalMoneroPlugin.cpp delete mode 100644 src/plugins/localmonero/LocalMoneroPlugin.h delete mode 100644 src/plugins/localmonero/LocalMoneroWidget.cpp delete mode 100644 src/plugins/localmonero/LocalMoneroWidget.h delete mode 100644 src/plugins/localmonero/LocalMoneroWidget.ui diff --git a/CMakeLists.txt b/CMakeLists.txt index dd2f22c..7418190 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -34,8 +34,6 @@ option(WITH_PLUGIN_BOUNTIES "Include Bounties Home plugin" ON) option(WITH_PLUGIN_REDDIT "Include Reddit Home plugin" ON) option(WITH_PLUGIN_REVUO "Include Revuo Home plugin" ON) option(WITH_PLUGIN_CALC "Include Calc tab plugin" ON) -option(WITH_PLUGIN_EXCHANGE "Include Exchange tab plugin" ON) -option(WITH_PLUGIN_LOCALMONERO "Include LocalMonero plugin" ON) option(WITH_PLUGIN_XMRIG "Include XMRig plugin" ON) list(INSERT CMAKE_MODULE_PATH 0 "${CMAKE_SOURCE_DIR}/cmake") diff --git a/src/ContactsWidget.cpp b/src/ContactsWidget.cpp index 5f52297..5c6b77d 100644 --- a/src/ContactsWidget.cpp +++ b/src/ContactsWidget.cpp @@ -20,7 +20,7 @@ ContactsWidget::ContactsWidget(Wallet *wallet, QWidget *parent) ui->setupUi(this); m_btn_addContact = new QPushButton(this); - m_btn_addContact->setIcon(icons()->icon("localMonero_register.svg")); + m_btn_addContact->setIcon(icons()->icon("register.svg")); ui->searchLayout->addWidget(m_btn_addContact, 0, Qt::AlignRight); connect(m_btn_addContact, &QPushButton::clicked, [this]{this->newContact();}); diff --git a/src/SettingsDialog.cpp b/src/SettingsDialog.cpp index 9a84193..03248bd 100644 --- a/src/SettingsDialog.cpp +++ b/src/SettingsDialog.cpp @@ -359,19 +359,6 @@ void Settings::setupMiscTab() { QString redditFrontend = ui->comboBox_redditFrontend->currentText(); conf()->set(Config::redditFrontend, redditFrontend); }); - - // [LocalMonero frontend] - ui->comboBox_localMoneroFrontend->addItem("localmonero.co", "https://localmonero.co"); - ui->comboBox_localMoneroFrontend->addItem("localmonero.co/nojs", "https://localmonero.co/nojs"); - ui->comboBox_localMoneroFrontend->addItem("nehdddktmhvqklsnkjqcbpmb63htee2iznpcbs5tgzctipxykpj6yrid.onion", - "http://nehdddktmhvqklsnkjqcbpmb63htee2iznpcbs5tgzctipxykpj6yrid.onion"); - ui->comboBox_localMoneroFrontend->addItem("yeyar743vuwmm6fpgf3x6bzmj7fxb5uxhuoxx4ea76wqssdi4f3q.b32.i2p", - "http://yeyar743vuwmm6fpgf3x6bzmj7fxb5uxhuoxx4ea76wqssdi4f3q.b32.i2p"); - ui->comboBox_localMoneroFrontend->setCurrentIndex(ui->comboBox_localMoneroFrontend->findData(conf()->get(Config::localMoneroFrontend).toString())); - connect(ui->comboBox_localMoneroFrontend, QOverload::of(&QComboBox::currentIndexChanged), [this]{ - QString localMoneroFrontend = ui->comboBox_localMoneroFrontend->currentData().toString(); - conf()->set(Config::localMoneroFrontend, localMoneroFrontend); - }); } void Settings::onProxySettingsChanged() { diff --git a/src/SettingsDialog.ui b/src/SettingsDialog.ui index f27703c..71dece5 100644 --- a/src/SettingsDialog.ui +++ b/src/SettingsDialog.ui @@ -32,7 +32,7 @@ - 5 + 0 @@ -1109,22 +1109,6 @@ - - - - - 0 - 0 - - - - LocalMonero frontend: - - - - - - diff --git a/src/assets.qrc b/src/assets.qrc index e84bf88..9f91524 100644 --- a/src/assets.qrc +++ b/src/assets.qrc @@ -50,13 +50,6 @@ assets/images/ledger.png assets/images/ledger_unpaired.png assets/images/lightning.png - assets/images/localMonero_search.svg - assets/images/localMonero_buy.svg - assets/images/localMonero_buy_white.svg - assets/images/localMonero_sell.svg - assets/images/localMonero_sell_white.svg - assets/images/localMonero_logo.png - assets/images/localMonero_register.svg assets/images/lock.svg assets/images/microphone.png assets/images/mining.png @@ -70,6 +63,7 @@ assets/images/preferences.svg assets/images/qrcode.png assets/images/qrcode_white.png + assets/images/register.svg assets/images/revealer_c.png assets/images/revealer.png assets/images/seal.png diff --git a/src/assets/images/localMonero_buy.svg b/src/assets/images/localMonero_buy.svg deleted file mode 100644 index 7cfcdb1..0000000 --- a/src/assets/images/localMonero_buy.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/assets/images/localMonero_buy_white.svg b/src/assets/images/localMonero_buy_white.svg deleted file mode 100644 index a64fda4..0000000 --- a/src/assets/images/localMonero_buy_white.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/assets/images/localMonero_logo.png b/src/assets/images/localMonero_logo.png deleted file mode 100644 index 1751ce722a1398912caf5b8e1a560e910b1a1fdf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10540 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 z