From b758cc19187252d154b194193e60ea7c2a912573 Mon Sep 17 00:00:00 2001
From: tobtoht <thotbot@protonmail.com>
Date: Mon, 28 Dec 2020 05:39:20 +0100
Subject: [PATCH] Misc code cleanup

---
 src/appcontext.cpp                         | 32 ++--------
 src/appcontext.h                           | 13 ++--
 src/calcwidget.cpp                         |  1 -
 src/calcwidget.h                           |  2 +-
 src/cli.cpp                                |  8 ---
 src/coinswidget.cpp                        |  6 --
 src/dialog/broadcasttxdialog.cpp           |  1 -
 src/dialog/debuginfodialog.cpp             |  4 --
 src/dialog/outputinfodialog.cpp            |  3 -
 src/dialog/passwordchangedialog.cpp        |  1 -
 src/dialog/qrcodedialog.cpp                |  1 -
 src/dialog/restoredialog.cpp               |  2 -
 src/dialog/txconfadvdialog.cpp             |  3 -
 src/dialog/txconfdialog.cpp                |  3 -
 src/dialog/txconfdialog.h                  |  2 -
 src/dialog/verifyproofdialog.cpp           |  1 -
 src/dialog/xmrtoinfodialog.cpp             |  2 -
 src/historywidget.cpp                      |  4 --
 src/libwalletqt/AddressBook.cpp            |  1 -
 src/libwalletqt/Coins.cpp                  |  6 --
 src/libwalletqt/CoinsInfo.cpp              |  3 -
 src/libwalletqt/PassphraseHelper.cpp       |  1 -
 src/libwalletqt/PendingTransactionInfo.cpp |  2 -
 src/libwalletqt/TransactionHistory.cpp     |  7 ---
 src/libwalletqt/TransactionInfo.cpp        |  2 -
 src/libwalletqt/UnsignedTransaction.cpp    |  1 -
 src/libwalletqt/Wallet.cpp                 | 17 -----
 src/libwalletqt/WalletManager.cpp          |  9 ---
 src/main.cpp                               |  4 --
 src/mainwindow.cpp                         | 15 -----
 src/mainwindow.h                           |  5 +-
 src/model/AddressBookModel.cpp             |  6 --
 src/model/CoinsModel.cpp                   |  4 --
 src/model/ModelUtils.cpp                   |  1 -
 src/model/NodeModel.cpp                    |  1 -
 src/model/SubaddressAccountModel.cpp       |  2 -
 src/model/SubaddressModel.cpp              |  2 -
 src/model/TransactionHistoryModel.cpp      |  4 --
 src/model/TransactionHistoryModel.h        |  1 -
 src/model/TransactionHistoryProxyModel.cpp |  1 -
 src/openpgp/openpgp.cpp                    |  4 --
 src/qrcode/QrCode.cpp                      |  6 --
 src/receivewidget.cpp                      |  2 -
 src/sendwidget.cpp                         |  3 +-
 src/settings.cpp                           |  2 -
 src/utils/childproc.cpp                    |  2 -
 src/utils/childproc.h                      |  1 -
 src/utils/config.cpp                       |  4 --
 src/utils/daemonrpc.cpp                    |  2 -
 src/utils/keysfiles.cpp                    |  6 --
 src/utils/keysfiles.h                      |  1 -
 src/utils/networking.cpp                   |  2 -
 src/utils/networking.h                     |  3 -
 src/utils/nodes.cpp                        |  1 -
 src/utils/nodes.h                          |  1 -
 src/utils/prices.cpp                       |  1 -
 src/utils/scheduler.cpp                    |  4 --
 src/utils/seeds.h                          |  2 -
 src/utils/tails.cpp                        |  3 -
 src/utils/tails.h                          |  1 -
 src/utils/textedit.cpp                     |  2 -
 src/utils/tor.cpp                          | 44 -------------
 src/utils/tor.h                            |  4 --
 src/utils/txfiathistory.cpp                |  3 -
 src/utils/txfiathistory.h                  |  1 -
 src/utils/utils.cpp                        | 73 ----------------------
 src/utils/utils.h                          |  3 +-
 src/utils/wsclient.cpp                     |  3 -
 src/utils/wsclient.h                       |  4 +-
 src/utils/xmrig.cpp                        |  2 -
 src/utils/xmrig.h                          |  2 -
 src/utils/xmrto.cpp                        |  1 -
 src/utils/xmrtoapi.cpp                     |  2 -
 src/utils/xmrtoorder.cpp                   |  3 -
 src/widgets/ccswidget.cpp                  |  3 -
 src/widgets/nodewidget.cpp                 |  7 ---
 src/widgets/redditwidget.cpp               |  2 -
 src/widgets/restoreheightwidget.cpp        |  3 -
 src/widgets/tickerwidget.cpp               |  2 -
 src/widgets/txproofwidget.cpp              |  1 -
 src/widgets/xmrigwidget.cpp                |  4 --
 src/wizard/createwallet.cpp                |  5 --
 src/wizard/createwalletseed.cpp            |  3 -
 src/wizard/menu.cpp                        |  4 --
 src/wizard/network.cpp                     |  5 --
 src/wizard/openwallet.cpp                  |  3 -
 src/wizard/restorewallet.cpp               |  5 --
 src/wizard/restorewallet.h                 |  1 -
 src/wizard/viewonlywallet.cpp              |  8 ---
 src/wizard/viewonlywallet.h                |  1 -
 src/wizard/walletwizard.cpp                |  3 -
 src/xmrtowidget.cpp                        |  2 -
 src/xmrtowidget.h                          |  2 +-
 93 files changed, 20 insertions(+), 426 deletions(-)

diff --git a/src/appcontext.cpp b/src/appcontext.cpp
index 272a003..8a02dba 100644
--- a/src/appcontext.cpp
+++ b/src/appcontext.cpp
@@ -1,35 +1,19 @@
 // SPDX-License-Identifier: BSD-3-Clause
 // Copyright (c) 2020-2021, The Monero Project.
 
-#include <stdexcept>
 #include <QDir>
-#include <QStandardPaths>
 #include <QMessageBox>
-#include <QClipboard>
-#include <QDesktopWidget>
 
 #include "appcontext.h"
 #include "globals.h"
-#include "utils/tails.h"
 #include "utils/whonix.h"
-#include "utils/utils.h"
-#include "utils/prices.h"
-#include "utils/networktype.h"
-#include "utils/wsclient.h"
-#include "utils/config.h"
 
 // libwalletqt
-#include "libwalletqt/WalletManager.h"
-#include "libwalletqt/Wallet.h"
 #include "libwalletqt/TransactionHistory.h"
-#include "libwalletqt/SubaddressAccount.h"
 #include "libwalletqt/Subaddress.h"
 #include "libwalletqt/Coins.h"
 #include "model/TransactionHistoryModel.h"
-#include "model/SubaddressAccountModel.h"
 #include "model/SubaddressModel.h"
-#include "utils/keysfiles.h"
-#include "utils/networktype.h"
 
 
 Prices *AppContext::prices = nullptr;
@@ -125,8 +109,8 @@ AppContext::AppContext(QCommandLineParser *cmdargs) {
     connect(this->ws, &WSClient::WSMessage, this, &AppContext::onWSMessage);
 
     // timers
-    m_storeTimer->setSingleShot(true);
-    connect(this->m_storeTimer, &QTimer::timeout, [this](){
+    m_storeTimer.setSingleShot(true);
+    connect(&m_storeTimer, &QTimer::timeout, [this](){
         if (!this->currentWallet)
             return;
         qDebug() << "Storing wallet";
@@ -186,7 +170,7 @@ void AppContext::initTor() {
     this->tor->start();
 
     if (!(isWhonix)) {
-        auto networkProxy = new QNetworkProxy(QNetworkProxy::Socks5Proxy, Tor::torHost, Tor::torPort);
+        this->networkProxy = new QNetworkProxy(QNetworkProxy::Socks5Proxy, Tor::torHost, Tor::torPort);
         this->network->setProxy(*networkProxy);
         if (m_wsUrl.host().endsWith(".onion"))
             this->ws->webSocket.setProxy(*networkProxy);
@@ -301,7 +285,6 @@ void AppContext::onPreferredFiatCurrencyChanged(const QString &symbol) {
     if(this->currentWallet) {
         auto *model = this->currentWallet->transactionHistoryModel();
         if(model != nullptr) {
-            model->preferredFiatSign = AppContext::prices->fiat[symbol];
             model->preferredFiatSymbol = symbol;
         }
     }
@@ -344,7 +327,6 @@ void AppContext::onWalletOpened(Wallet *wallet) {
     connect(this->currentWallet, &Wallet::transactionCommitted, this, &AppContext::onTransactionCommitted);
     connect(this->currentWallet, &Wallet::heightRefreshed, this, &AppContext::onHeightRefreshed);
     connect(this->currentWallet, &Wallet::transactionCreated, this, &AppContext::onTransactionCreated);
-    connect(this->currentWallet, &Wallet::connectionStatusChanged, this, &AppContext::onConnectionStatusChanged);
 
     emit walletOpened();
 
@@ -787,15 +769,11 @@ void AppContext::onTransactionCommitted(bool status, PendingTransaction *tx, con
     }
 }
 
-void AppContext::onConnectionStatusChanged(int status) {
-
-}
-
 void AppContext::storeWallet() {
-    if (m_storeTimer->isActive())
+    if (m_storeTimer.isActive())
         return;
 
-    m_storeTimer->start(60000);
+    m_storeTimer.start(60000);
 }
 
 void AppContext::updateBalance() {
diff --git a/src/appcontext.h b/src/appcontext.h
index c14001c..213ab59 100644
--- a/src/appcontext.h
+++ b/src/appcontext.h
@@ -35,7 +35,7 @@ Q_OBJECT
 
 public:
     explicit AppContext(QCommandLineParser *cmdargs);
-    ~AppContext();
+    ~AppContext() override;
     bool isTails = false;
     bool isWhonix = false;
     bool isDebug = false;
@@ -75,9 +75,9 @@ public:
 
     QNetworkAccessManager *network;
     QNetworkAccessManager *networkClearnet;
-    QNetworkProxy *networkProxy;
+    QNetworkProxy *networkProxy{};
 
-    Tor *tor;
+    Tor *tor{};
     WSClient *ws;
     XmrTo *XMRTo;
     XmRig *XMRig;
@@ -109,7 +109,7 @@ public:
 
 public slots:
     void onOpenWallet(const QString& path, const QString &password);
-    void onCreateTransaction(const QString &address, const double amount, const QString &description, bool all);
+    void onCreateTransaction(const QString &address, double amount, const QString &description, bool all);
     void onCreateTransaction(XmrToOrder *order);
     void onCancelTransaction(PendingTransaction *tx, const QString &address);
     void onSweepOutput(const QString &keyImage, QString address, bool churn, int outputs) const;
@@ -134,7 +134,6 @@ private slots:
     void onHeightRefreshed(quint64 walletHeight, quint64 daemonHeight, quint64 targetHeight);
     void onTransactionCreated(PendingTransaction *tx, const QString &address, const QString &paymentId, quint32 mixin);
     void onTransactionCommitted(bool status, PendingTransaction *t, const QStringList& txid);
-    void onConnectionStatusChanged(int status);
 
 signals:
     void balanceUpdated(quint64 balance, quint64 spendable);
@@ -173,8 +172,8 @@ signals:
 
 private:
     const int m_donationBoundary = 15;
-    UtilsNetworking *m_utilsNetworkingNodes;
-    QTimer *m_storeTimer = new QTimer(this);
+    UtilsNetworking *m_utilsNetworkingNodes{};
+    QTimer m_storeTimer;
     QUrl m_wsUrl = QUrl(QStringLiteral("ws://7e6egbawekbkxzkv4244pqeqgoo4axko2imgjbedwnn6s5yb6b7oliqd.onion/ws"));
 };
 
diff --git a/src/calcwidget.cpp b/src/calcwidget.cpp
index 684d6d6..dbfbdfc 100644
--- a/src/calcwidget.cpp
+++ b/src/calcwidget.cpp
@@ -5,7 +5,6 @@
 
 #include "calcwidget.h"
 #include "ui_calcwidget.h"
-#include "utils/config.h"
 #include "mainwindow.h"
 
 CalcWidget::CalcWidget(QWidget *parent) :
diff --git a/src/calcwidget.h b/src/calcwidget.h
index 5860e25..04d6e8b 100644
--- a/src/calcwidget.h
+++ b/src/calcwidget.h
@@ -17,7 +17,7 @@ Q_OBJECT
 
 public:
     explicit CalcWidget(QWidget *parent = nullptr);
-    ~CalcWidget();
+    ~CalcWidget() override;
 
 signals:
     void closed();
diff --git a/src/cli.cpp b/src/cli.cpp
index e614417..8384db9 100644
--- a/src/cli.cpp
+++ b/src/cli.cpp
@@ -4,17 +4,9 @@
 #include "cli.h"
 
 // libwalletqt
-#include "Wallet.h"
 #include "libwalletqt/TransactionHistory.h"
-#include "libwalletqt/SubaddressAccount.h"
-#include "libwalletqt/Subaddress.h"
-#include "libwalletqt/AddressBook.h"
-#include "libwalletqt/Coins.h"
 #include "model/AddressBookModel.h"
 #include "model/TransactionHistoryModel.h"
-#include "model/SubaddressAccountModel.h"
-#include "model/SubaddressModel.h"
-#include "model/CoinsModel.h"
 
 CLI::CLI(AppContext *ctx, QObject *parent) :
         QObject(parent),
diff --git a/src/coinswidget.cpp b/src/coinswidget.cpp
index a7e44f3..e5897b6 100644
--- a/src/coinswidget.cpp
+++ b/src/coinswidget.cpp
@@ -3,17 +3,11 @@
 
 #include "coinswidget.h"
 #include "ui_coinswidget.h"
-#include "model/ModelUtils.h"
-#include "utils/utils.h"
 #include "dialog/outputinfodialog.h"
 #include "dialog/outputsweepdialog.h"
 #include "mainwindow.h"
 
 #include <QClipboard>
-#include <QDebug>
-#include <QKeyEvent>
-#include <QMenu>
-#include <QAction>
 #include <QMessageBox>
 
 CoinsWidget::CoinsWidget(QWidget *parent)
diff --git a/src/dialog/broadcasttxdialog.cpp b/src/dialog/broadcasttxdialog.cpp
index f141f2b..33c73b6 100644
--- a/src/dialog/broadcasttxdialog.cpp
+++ b/src/dialog/broadcasttxdialog.cpp
@@ -3,7 +3,6 @@
 
 #include "broadcasttxdialog.h"
 #include "ui_broadcasttxdialog.h"
-#include "utils/nodes.h"
 
 #include <QMessageBox>
 
diff --git a/src/dialog/debuginfodialog.cpp b/src/dialog/debuginfodialog.cpp
index 4a14343..841c709 100644
--- a/src/dialog/debuginfodialog.cpp
+++ b/src/dialog/debuginfodialog.cpp
@@ -4,10 +4,6 @@
 #include "debuginfodialog.h"
 #include "ui_debuginfodialog.h"
 #include "config-feather.h"
-#include "utils/utils.h"
-
-#include <QDateTime>
-#include <QSysInfo>
 
 DebugInfoDialog::DebugInfoDialog(AppContext *ctx, QWidget *parent)
         : QDialog(parent)
diff --git a/src/dialog/outputinfodialog.cpp b/src/dialog/outputinfodialog.cpp
index f2c4e92..26895bd 100644
--- a/src/dialog/outputinfodialog.cpp
+++ b/src/dialog/outputinfodialog.cpp
@@ -4,11 +4,8 @@
 #include "outputinfodialog.h"
 #include "ui_outputinfodialog.h"
 #include "model/ModelUtils.h"
-#include "libwalletqt/CoinsInfo.h"
 #include "utils/utils.h"
 
-#include <QFont>
-
 OutputInfoDialog::OutputInfoDialog(CoinsInfo *cInfo, QWidget *parent)
         : QDialog(parent)
         , ui(new Ui::OutputInfoDialog)
diff --git a/src/dialog/passwordchangedialog.cpp b/src/dialog/passwordchangedialog.cpp
index c5802de..106e001 100644
--- a/src/dialog/passwordchangedialog.cpp
+++ b/src/dialog/passwordchangedialog.cpp
@@ -4,7 +4,6 @@
 #include "passwordchangedialog.h"
 #include "ui_passwordchangedialog.h"
 
-#include <QPushButton>
 #include <QMessageBox>
 
 PasswordChangeDialog::PasswordChangeDialog(QWidget *parent, Wallet *wallet)
diff --git a/src/dialog/qrcodedialog.cpp b/src/dialog/qrcodedialog.cpp
index 7fa81cb..a7dee06 100644
--- a/src/dialog/qrcodedialog.cpp
+++ b/src/dialog/qrcodedialog.cpp
@@ -3,7 +3,6 @@
 
 #include "qrcodedialog.h"
 #include "ui_qrcodedialog.h"
-#include "qrcode/QrCode.h"
 
 #include <QClipboard>
 #include <QFileDialog>
diff --git a/src/dialog/restoredialog.cpp b/src/dialog/restoredialog.cpp
index 5119102..af6f589 100644
--- a/src/dialog/restoredialog.cpp
+++ b/src/dialog/restoredialog.cpp
@@ -3,8 +3,6 @@
 
 #include "restoredialog.h"
 #include "ui_restoredialog.h"
-#include "utils/utils.h"
-#include "appcontext.h"
 
 RestoreDialog::RestoreDialog(AppContext *ctx, QWidget *parent)
         : QDialog(parent)
diff --git a/src/dialog/txconfadvdialog.cpp b/src/dialog/txconfadvdialog.cpp
index 469ebe2..80a48ca 100644
--- a/src/dialog/txconfadvdialog.cpp
+++ b/src/dialog/txconfadvdialog.cpp
@@ -3,11 +3,8 @@
 
 #include "txconfadvdialog.h"
 #include "ui_txconfadvdialog.h"
-#include "libwalletqt/WalletManager.h"
 #include "qrcode/QrCode.h"
 #include "dialog/qrcodedialog.h"
-#include "utils/utils.h"
-#include "libwalletqt/PendingTransactionInfo.h"
 #include "libwalletqt/Transfer.h"
 #include "libwalletqt/Input.h"
 #include "model/ModelUtils.h"
diff --git a/src/dialog/txconfdialog.cpp b/src/dialog/txconfdialog.cpp
index 1ca1ad7..bf98afb 100644
--- a/src/dialog/txconfdialog.cpp
+++ b/src/dialog/txconfdialog.cpp
@@ -3,10 +3,7 @@
 
 #include "txconfdialog.h"
 #include "ui_txconfdialog.h"
-#include "appcontext.h"
-#include "utils/config.h"
 #include "model/ModelUtils.h"
-#include "libwalletqt/WalletManager.h"
 #include "txconfadvdialog.h"
 #include "globals.h"
 
diff --git a/src/dialog/txconfdialog.h b/src/dialog/txconfdialog.h
index e411999..b4bb7d1 100644
--- a/src/dialog/txconfdialog.h
+++ b/src/dialog/txconfdialog.h
@@ -25,8 +25,6 @@ public:
 
 private:
     void setShowAdvanced();
-    void saveToFile();
-    void copyToClipboard();
 
     Ui::TxConfDialog *ui;
     AppContext *m_ctx;
diff --git a/src/dialog/verifyproofdialog.cpp b/src/dialog/verifyproofdialog.cpp
index 2e859c3..0bb5a6a 100644
--- a/src/dialog/verifyproofdialog.cpp
+++ b/src/dialog/verifyproofdialog.cpp
@@ -4,7 +4,6 @@
 #include "verifyproofdialog.h"
 #include "ui_verifyproofdialog.h"
 
-#include "utils/utils.h"
 #include "libwalletqt/WalletManager.h"
 
 #include <QMessageBox>
diff --git a/src/dialog/xmrtoinfodialog.cpp b/src/dialog/xmrtoinfodialog.cpp
index 9f3b859..c05cf2c 100644
--- a/src/dialog/xmrtoinfodialog.cpp
+++ b/src/dialog/xmrtoinfodialog.cpp
@@ -4,8 +4,6 @@
 #include "xmrtoinfodialog.h"
 #include "ui_xmrtoinfodialog.h"
 
-#include <QFont>
-
 XmrToInfoDialog::XmrToInfoDialog(XmrToOrder *oInfo, QWidget *parent)
         : QDialog(parent)
         , ui(new Ui::XmrToInfoDialog)
diff --git a/src/historywidget.cpp b/src/historywidget.cpp
index 881f168..0511ed0 100644
--- a/src/historywidget.cpp
+++ b/src/historywidget.cpp
@@ -4,10 +4,6 @@
 #include "historywidget.h"
 #include "ui_historywidget.h"
 #include "dialog/transactioninfodialog.h"
-#include "libwalletqt/TransactionHistory.h"
-#include "model/TransactionHistoryProxyModel.h"
-
-#include <QIcon>
 
 HistoryWidget::HistoryWidget(QWidget *parent)
         : QWidget(parent)
diff --git a/src/libwalletqt/AddressBook.cpp b/src/libwalletqt/AddressBook.cpp
index 74c56db..381d763 100644
--- a/src/libwalletqt/AddressBook.cpp
+++ b/src/libwalletqt/AddressBook.cpp
@@ -2,7 +2,6 @@
 // Copyright (c) 2014-2021, The Monero Project.
 
 #include "AddressBook.h"
-#include "AddressBookInfo.h"
 #include <QDebug>
 
 AddressBook::AddressBook(Monero::AddressBook *abImpl,QObject *parent)
diff --git a/src/libwalletqt/Coins.cpp b/src/libwalletqt/Coins.cpp
index c3dee64..a99f971 100644
--- a/src/libwalletqt/Coins.cpp
+++ b/src/libwalletqt/Coins.cpp
@@ -5,15 +5,9 @@
 
 #include <QDebug>
 
-#include "Coins.h"
 #include "CoinsInfo.h"
-#include <wallet/api/wallet2_api.h>
 
 #include <QFile>
-#include <QDebug>
-#include <QReadLocker>
-#include <QWriteLocker>
-#include <QtGlobal>
 
 
 bool Coins::coin(int index, std::function<void (CoinsInfo &)> callback)
diff --git a/src/libwalletqt/CoinsInfo.cpp b/src/libwalletqt/CoinsInfo.cpp
index 2d724e9..d6076cb 100644
--- a/src/libwalletqt/CoinsInfo.cpp
+++ b/src/libwalletqt/CoinsInfo.cpp
@@ -3,9 +3,6 @@
 
 #include "CoinsInfo.h"
 #include "libwalletqt/WalletManager.h"
-#include "Transfer.h"
-#include <QDateTime>
-#include <QDebug>
 
 quint64 CoinsInfo::blockHeight() const
 {
diff --git a/src/libwalletqt/PassphraseHelper.cpp b/src/libwalletqt/PassphraseHelper.cpp
index 88890cd..a0ffa18 100644
--- a/src/libwalletqt/PassphraseHelper.cpp
+++ b/src/libwalletqt/PassphraseHelper.cpp
@@ -2,7 +2,6 @@
 // Copyright (c) 2014-2021, The Monero Project.
 
 #include "PassphraseHelper.h"
-#include <QMutexLocker>
 #include <QDebug>
 
 Monero::optional<std::string> PassphraseHelper::onDevicePassphraseRequest(bool & on_device)
diff --git a/src/libwalletqt/PendingTransactionInfo.cpp b/src/libwalletqt/PendingTransactionInfo.cpp
index 09e082b..17920fb 100644
--- a/src/libwalletqt/PendingTransactionInfo.cpp
+++ b/src/libwalletqt/PendingTransactionInfo.cpp
@@ -2,8 +2,6 @@
 // Copyright (c) 2014-2021, The Monero Project.
 
 #include "PendingTransactionInfo.h"
-#include "Input.h"
-#include "Transfer.h"
 
 quint64 PendingTransactionInfo::fee() const {
     return m_fee;
diff --git a/src/libwalletqt/TransactionHistory.cpp b/src/libwalletqt/TransactionHistory.cpp
index 95b1888..d804dc4 100644
--- a/src/libwalletqt/TransactionHistory.cpp
+++ b/src/libwalletqt/TransactionHistory.cpp
@@ -5,13 +5,6 @@
 #include "TransactionInfo.h"
 #include "utils/utils.h"
 #include "appcontext.h"
-#include <wallet/api/wallet2_api.h>
-
-#include <QFile>
-#include <QDebug>
-#include <QReadLocker>
-#include <QWriteLocker>
-#include <QtGlobal>
 
 
 bool TransactionHistory::transaction(int index, std::function<void (TransactionInfo &)> callback)
diff --git a/src/libwalletqt/TransactionInfo.cpp b/src/libwalletqt/TransactionInfo.cpp
index fcfa677..d7dae29 100644
--- a/src/libwalletqt/TransactionInfo.cpp
+++ b/src/libwalletqt/TransactionInfo.cpp
@@ -5,8 +5,6 @@
 #include "libwalletqt/WalletManager.h"
 #include "Transfer.h"
 #include "Ring.h"
-#include <QDateTime>
-#include <QDebug>
 
 TransactionInfo::Direction TransactionInfo::direction() const
 {
diff --git a/src/libwalletqt/UnsignedTransaction.cpp b/src/libwalletqt/UnsignedTransaction.cpp
index 41f7d41..f61bf08 100644
--- a/src/libwalletqt/UnsignedTransaction.cpp
+++ b/src/libwalletqt/UnsignedTransaction.cpp
@@ -2,7 +2,6 @@
 // Copyright (c) 2014-2021, The Monero Project.
 
 #include "UnsignedTransaction.h"
-#include <QVector>
 #include <QDebug>
 
 UnsignedTransaction::Status UnsignedTransaction::status() const
diff --git a/src/libwalletqt/Wallet.cpp b/src/libwalletqt/Wallet.cpp
index cc9f39c..0108017 100644
--- a/src/libwalletqt/Wallet.cpp
+++ b/src/libwalletqt/Wallet.cpp
@@ -3,12 +3,6 @@
 
 #include "Wallet.h"
 
-#include <chrono>
-#include <stdexcept>
-#include <thread>
-
-#include "PendingTransaction.h"
-#include "UnsignedTransaction.h"
 #include "TransactionHistory.h"
 #include "AddressBook.h"
 #include "Subaddress.h"
@@ -20,17 +14,6 @@
 #include "model/SubaddressModel.h"
 #include "model/SubaddressAccountModel.h"
 #include "model/CoinsModel.h"
-#include "wallet/api/wallet2_api.h"
-
-#include <QFile>
-#include <QDir>
-#include <QDebug>
-#include <QUrl>
-#include <QTimer>
-#include <QtConcurrent/QtConcurrent>
-#include <QList>
-#include <QVector>
-#include <QMutexLocker>
 
 #include "utils/ScopeGuard.h"
 
diff --git a/src/libwalletqt/WalletManager.cpp b/src/libwalletqt/WalletManager.cpp
index 3e3506c..ce1b99e 100644
--- a/src/libwalletqt/WalletManager.cpp
+++ b/src/libwalletqt/WalletManager.cpp
@@ -3,15 +3,6 @@
 
 #include "libwalletqt/WalletManager.h"
 #include "Wallet.h"
-#include "wallet/api/wallet2_api.h"
-#include <QFile>
-#include <QDir>
-#include <QDebug>
-#include <QUrl>
-#include <QtConcurrent/QtConcurrent>
-#include <QMutex>
-#include <QMutexLocker>
-#include <QString>
 
 //#include "qt/updater.h"
 #include "utils/ScopeGuard.h"
diff --git a/src/main.cpp b/src/main.cpp
index 7fe9b7d..e3db53d 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -9,10 +9,6 @@
 #include "config-feather.h"
 #include "mainwindow.h"
 #include "cli.h"
-#include "utils/utils.h"
-#include "appcontext.h"
-
-#include <QtPlugin>
 
 #if defined(Q_OS_WIN)
 #include <windows.h>
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index dd9fb55..86dc636 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -7,11 +7,8 @@
 #include <QCoreApplication>
 #include <QSystemTrayIcon>
 #include <QFileDialog>
-#include <QInputDialog>
 
 #include "mainwindow.h"
-#include "widgets/ccswidget.h"
-#include "widgets/redditwidget.h"
 #include "dialog/txconfdialog.h"
 #include "dialog/txconfadvdialog.h"
 #include "dialog/debuginfodialog.h"
@@ -22,23 +19,11 @@
 #include "dialog/tximportdialog.h"
 #include "dialog/passworddialog.h"
 #include "dialog/balancedialog.h"
-#include "utils/utils.h"
-#include "utils/config.h"
-#include "utils/daemonrpc.h"
-#include "components.h"
-#include "calcwindow.h"
 #include "ui_mainwindow.h"
 #include "globals.h"
 
 // libwalletqt
-#include "libwalletqt/WalletManager.h"
-#include "Wallet.h"
-#include "libwalletqt/TransactionHistory.h"
-#include "libwalletqt/SubaddressAccount.h"
 #include "libwalletqt/AddressBook.h"
-#include "model/SubaddressAccountModel.h"
-#include "model/SubaddressModel.h"
-#include "utils/networktype.h"
 
 MainWindow * MainWindow::pMainWindow = nullptr;
 
diff --git a/src/mainwindow.h b/src/mainwindow.h
index e854d48..d46cd6e 100644
--- a/src/mainwindow.h
+++ b/src/mainwindow.h
@@ -12,6 +12,7 @@
 #include <QSystemTrayIcon>
 #include <QScreen>
 #include <QtWidgets/QMenu>
+#include <utility>
 #include <model/SubaddressModel.h>
 #include <model/SubaddressProxyModel.h>
 #include <model/TransactionHistoryModel.h>
@@ -43,8 +44,8 @@ namespace Ui {
 }
 
 struct ToggleTab {
-    ToggleTab(QWidget *tab, const QString &name, const QString &description, QAction *menuAction, Config::ConfigKey configKey) :
-            tab(tab), key(name), name(description), menuAction(menuAction), configKey(configKey){}
+    ToggleTab(QWidget *tab, QString name, QString description, QAction *menuAction, Config::ConfigKey configKey) :
+            tab(tab), key(std::move(name)), name(std::move(description)), menuAction(menuAction), configKey(configKey){}
     QWidget *tab;
     QString key;
     QString name;
diff --git a/src/model/AddressBookModel.cpp b/src/model/AddressBookModel.cpp
index 29021f7..a232da1 100644
--- a/src/model/AddressBookModel.cpp
+++ b/src/model/AddressBookModel.cpp
@@ -5,12 +5,6 @@
 #include "AddressBook.h"
 #include "ModelUtils.h"
 #include "utils/utils.h"
-#include <wallet/api/wallet2_api.h>
-
-#include <QDebug>
-#include <QFileDialog>
-#include <QDir>
-#include <QFontDatabase>
 
 AddressBookModel::AddressBookModel(QObject *parent, AddressBook *addressBook)
     : QAbstractTableModel(parent),
diff --git a/src/model/CoinsModel.cpp b/src/model/CoinsModel.cpp
index 339b62f..3e51c6b 100644
--- a/src/model/CoinsModel.cpp
+++ b/src/model/CoinsModel.cpp
@@ -4,14 +4,10 @@
 #include "CoinsModel.h"
 #include "CoinsInfo.h"
 #include "Coins.h"
-#include <wallet/api/wallet2_api.h>
 #include "ModelUtils.h"
 #include "globals.h"
 
-#include <QDebug>
-#include <QHash>
 #include <QBrush>
-#include <QColor>
 #include <QFont>
 
 CoinsModel::CoinsModel(QObject *parent, Coins *coins)
diff --git a/src/model/ModelUtils.cpp b/src/model/ModelUtils.cpp
index c31bbe9..290effc 100644
--- a/src/model/ModelUtils.cpp
+++ b/src/model/ModelUtils.cpp
@@ -4,7 +4,6 @@
 #include "ModelUtils.h"
 
 #include <QDebug>
-#include <QStringList>
 #include <QClipboard>
 #include <QApplication>
 #include <QFont>
diff --git a/src/model/NodeModel.cpp b/src/model/NodeModel.cpp
index 4855e04..ec97e8c 100644
--- a/src/model/NodeModel.cpp
+++ b/src/model/NodeModel.cpp
@@ -3,7 +3,6 @@
 
 #include "NodeModel.h"
 #include <utils/nodes.h>
-#include "appcontext.h"
 
 NodeModel::NodeModel(int nodeSource, QObject *parent)
         : QAbstractTableModel(parent)
diff --git a/src/model/SubaddressAccountModel.cpp b/src/model/SubaddressAccountModel.cpp
index 8ac1851..8a1f75f 100644
--- a/src/model/SubaddressAccountModel.cpp
+++ b/src/model/SubaddressAccountModel.cpp
@@ -3,10 +3,8 @@
 
 #include "SubaddressAccountModel.h"
 #include "SubaddressAccount.h"
-#include <wallet/api/wallet2_api.h>
 
 #include <QDebug>
-#include <QHash>
 
 SubaddressAccountModel::SubaddressAccountModel(QObject *parent, SubaddressAccount *subaddressAccount)
     : QAbstractListModel(parent), m_subaddressAccount(subaddressAccount)
diff --git a/src/model/SubaddressModel.cpp b/src/model/SubaddressModel.cpp
index 6c0eff0..15a6e62 100644
--- a/src/model/SubaddressModel.cpp
+++ b/src/model/SubaddressModel.cpp
@@ -4,9 +4,7 @@
 #include "SubaddressModel.h"
 #include "Subaddress.h"
 #include "ModelUtils.h"
-#include <wallet/api/wallet2_api.h>
 
-#include <QHash>
 #include <QPoint>
 #include <QColor>
 #include <QBrush>
diff --git a/src/model/TransactionHistoryModel.cpp b/src/model/TransactionHistoryModel.cpp
index cb9e97b..35b127c 100644
--- a/src/model/TransactionHistoryModel.cpp
+++ b/src/model/TransactionHistoryModel.cpp
@@ -6,10 +6,6 @@
 #include "TransactionInfo.h"
 #include "globals.h"
 
-#include <QDateTime>
-#include <QDebug>
-#include <QIcon>
-
 TransactionHistoryModel::TransactionHistoryModel(QObject *parent)
     : QAbstractTableModel(parent),
     m_transactionHistory(nullptr)
diff --git a/src/model/TransactionHistoryModel.h b/src/model/TransactionHistoryModel.h
index ef4921a..3225447 100644
--- a/src/model/TransactionHistoryModel.h
+++ b/src/model/TransactionHistoryModel.h
@@ -35,7 +35,6 @@ public:
     void setTransactionHistory(TransactionHistory * th);
     TransactionHistory * transactionHistory() const;
 
-    QString preferredFiatSign = "$";
     QString preferredFiatSymbol = "USD";
     int rowCount(const QModelIndex & parent = QModelIndex()) const override;
     int columnCount(const QModelIndex &parent = QModelIndex()) const override;
diff --git a/src/model/TransactionHistoryProxyModel.cpp b/src/model/TransactionHistoryProxyModel.cpp
index 2a4dd58..a73fb2c 100644
--- a/src/model/TransactionHistoryProxyModel.cpp
+++ b/src/model/TransactionHistoryProxyModel.cpp
@@ -5,7 +5,6 @@
 #include "TransactionHistoryModel.h"
 
 #include "libwalletqt/TransactionInfo.h"
-#include <QSet>
 
 TransactionHistoryProxyModel::TransactionHistoryProxyModel(Wallet *wallet, QObject *parent)
         : QSortFilterProxyModel(parent),
diff --git a/src/openpgp/openpgp.cpp b/src/openpgp/openpgp.cpp
index 01fb11d..fec702a 100644
--- a/src/openpgp/openpgp.cpp
+++ b/src/openpgp/openpgp.cpp
@@ -28,17 +28,13 @@
 
 #include "openpgp.h"
 
-#include <algorithm>
 #include <locale>
-#include <vector>
 
 #include <string_coding.h>
 
 #include "hash.h"
 #include "mpi.h"
 #include "packet_stream.h"
-#include "s_expression.h"
-#include "serialization.h"
 
 namespace openpgp
 {
diff --git a/src/qrcode/QrCode.cpp b/src/qrcode/QrCode.cpp
index 7a51155..6769540 100644
--- a/src/qrcode/QrCode.cpp
+++ b/src/qrcode/QrCode.cpp
@@ -21,15 +21,9 @@
 #include "QrCode_p.h"
 
 #include <QBrush>
-#include <QByteArray>
-#include <QIODevice>
-#include <QImage>
 #include <QPainter>
-#include <QPen>
-#include <QString>
 #include <QSvgGenerator>
 #include <QVariant>
-#include <QPixmap>
 
 #include <QDebug>
 
diff --git a/src/receivewidget.cpp b/src/receivewidget.cpp
index 2f5a436..fe291bf 100644
--- a/src/receivewidget.cpp
+++ b/src/receivewidget.cpp
@@ -3,12 +3,10 @@
 
 #include "ui_receivewidget.h"
 #include "receivewidget.h"
-#include "qrcode/QrCode.h"
 #include "model/ModelUtils.h"
 #include "dialog/qrcodedialog.h"
 
 #include <QMenu>
-#include <QClipboard>
 
 ReceiveWidget::ReceiveWidget(QWidget *parent) :
         QWidget(parent),
diff --git a/src/sendwidget.cpp b/src/sendwidget.cpp
index 6c2d4a1..fe26d16 100644
--- a/src/sendwidget.cpp
+++ b/src/sendwidget.cpp
@@ -3,7 +3,6 @@
 
 #include <QMessageBox>
 #include "sendwidget.h"
-#include "widgets/ccswidget.h"
 #include "mainwindow.h"
 #include "ui_sendwidget.h"
 
@@ -150,7 +149,7 @@ void SendWidget::updateConversionLabel() {
             auto preferredFiatCurrency = config()->get(Config::preferredFiatCurrency).toString();
             double conversionAmount = AppContext::prices->convert("XMR", preferredFiatCurrency, this->amount());
             return QString("~%1 %2").arg(QString::number(conversionAmount, 'f', 2), preferredFiatCurrency);
-        };
+        }
     }();
 
     ui->label_conversionAmount->setText(conversionAmountStr);
diff --git a/src/settings.cpp b/src/settings.cpp
index 41320de..6d86ae3 100644
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -3,8 +3,6 @@
 
 #include "settings.h"
 #include "ui_settings.h"
-#include "appcontext.h"
-#include "utils/config.h"
 #include "mainwindow.h"
 
 #include <QFileDialog>
diff --git a/src/utils/childproc.cpp b/src/utils/childproc.cpp
index 4310b99..e11e902 100644
--- a/src/utils/childproc.cpp
+++ b/src/utils/childproc.cpp
@@ -1,8 +1,6 @@
 // SPDX-License-Identifier: BSD-3-Clause
 // Copyright (c) 2020-2021, The Monero Project.
 
-#include <QtCore>
-#include <QProcess>
 #include "utils/childproc.h"
 
 ChildProcess::ChildProcess(QObject* parent) {}
diff --git a/src/utils/childproc.h b/src/utils/childproc.h
index 4c26152..00afda7 100644
--- a/src/utils/childproc.h
+++ b/src/utils/childproc.h
@@ -4,7 +4,6 @@
 #ifndef FEATHER_FPROCESS_H
 #define FEATHER_FPROCESS_H
 
-#include <QtCore>
 #include <QProcess>
 
 #if defined(HAVE_SYS_PRCTL_H) && defined(Q_OS_UNIX)
diff --git a/src/utils/config.cpp b/src/utils/config.cpp
index 7260743..7c6ad53 100644
--- a/src/utils/config.cpp
+++ b/src/utils/config.cpp
@@ -7,10 +7,6 @@
 #include "utils/utils.h"
 #include "utils/tails.h"
 
-#include <QCoreApplication>
-#include <QDir>
-#include <QStandardPaths>
-
 #define QS QStringLiteral
 
 struct ConfigDirective
diff --git a/src/utils/daemonrpc.cpp b/src/utils/daemonrpc.cpp
index f9b0813..69c8bfc 100644
--- a/src/utils/daemonrpc.cpp
+++ b/src/utils/daemonrpc.cpp
@@ -3,8 +3,6 @@
 
 #include "daemonrpc.h"
 
-#include <utility>
-
 DaemonRpc::DaemonRpc(QObject *parent, UtilsNetworking *network, QString daemonAddress)
         : QObject(parent)
         , m_network(network)
diff --git a/src/utils/keysfiles.cpp b/src/utils/keysfiles.cpp
index afd5e10..c66dfba 100644
--- a/src/utils/keysfiles.cpp
+++ b/src/utils/keysfiles.cpp
@@ -7,14 +7,8 @@
 #include <QDebug>
 #include <QUrl>
 #include <QtConcurrent/QtConcurrent>
-#include <QMutex>
-#include <QString>
 
 #include "appcontext.h"
-#include "utils/config.h"
-#include "utils/networktype.h"
-#include "utils/utils.h"
-#include "keysfiles.h"
 
 using namespace std::chrono;
 
diff --git a/src/utils/keysfiles.h b/src/utils/keysfiles.h
index e93cecb..4c01edd 100644
--- a/src/utils/keysfiles.h
+++ b/src/utils/keysfiles.h
@@ -7,7 +7,6 @@
 #include "libwalletqt/WalletManager.h"
 #include "utils/networktype.h"
 #include "utils/utils.h"
-#include <QtCore>
 
 class WalletKeysFiles
 {
diff --git a/src/utils/networking.cpp b/src/utils/networking.cpp
index 2a8a346..be7ce31 100644
--- a/src/utils/networking.cpp
+++ b/src/utils/networking.cpp
@@ -1,8 +1,6 @@
 // SPDX-License-Identifier: BSD-3-Clause
 // Copyright (c) 2020-2021, The Monero Project.
 
-#include <QtCore>
-#include <QObject>
 #include <QNetworkAccessManager>
 #include <QNetworkReply>
 
diff --git a/src/utils/networking.h b/src/utils/networking.h
index e3aa0b1..2d163e3 100644
--- a/src/utils/networking.h
+++ b/src/utils/networking.h
@@ -4,16 +4,13 @@
 #ifndef FEATHER_NETWORKING_H
 #define FEATHER_NETWORKING_H
 
-#include <QtCore>
 #include <QRegExp>
-#include <QApplication>
 #include <QtNetwork>
 #include <QNetworkAccessManager>
 #include <QNetworkReply>
 
 #include "utils/utils.h"
 
-static QStringList randomHTTPAgents;
 class CCSEntry;
 
 class UtilsNetworking : public QObject
diff --git a/src/utils/nodes.cpp b/src/utils/nodes.cpp
index 59b274a..e8aa58a 100644
--- a/src/utils/nodes.cpp
+++ b/src/utils/nodes.cpp
@@ -1,7 +1,6 @@
 // SPDX-License-Identifier: BSD-3-Clause
 // Copyright (c) 2020-2021, The Monero Project.
 
-#include <QtCore>
 #include <QObject>
 #include <QNetworkAccessManager>
 
diff --git a/src/utils/nodes.h b/src/utils/nodes.h
index 4e8041a..97c8ccb 100644
--- a/src/utils/nodes.h
+++ b/src/utils/nodes.h
@@ -4,7 +4,6 @@
 #ifndef FEATHER_NODES_H
 #define FEATHER_NODES_H
 
-#include <QtCore>
 #include <QTimer>
 #include <QRegExp>
 #include <QApplication>
diff --git a/src/utils/prices.cpp b/src/utils/prices.cpp
index bf21391..1ff5085 100644
--- a/src/utils/prices.cpp
+++ b/src/utils/prices.cpp
@@ -3,7 +3,6 @@
 
 #include <QStandardPaths>
 #include <QScreen>
-#include <QObject>
 #include <QDesktopWidget>
 
 #include "utils/prices.h"
diff --git a/src/utils/scheduler.cpp b/src/utils/scheduler.cpp
index fa0e872..e8b8503 100644
--- a/src/utils/scheduler.cpp
+++ b/src/utils/scheduler.cpp
@@ -3,10 +3,6 @@
 
 #include "scheduler.h"
 
-#include <mutex>
-
-#include <QThreadPool>
-
 FutureScheduler::FutureScheduler(QObject *parent)
     : QObject(parent), Alive(0), Stopping(false)
 {
diff --git a/src/utils/seeds.h b/src/utils/seeds.h
index d7d4cdc..979bd49 100644
--- a/src/utils/seeds.h
+++ b/src/utils/seeds.h
@@ -4,7 +4,6 @@
 #ifndef FEATHER_SEEDS_H
 #define FEATHER_SEEDS_H
 
-#include <QtCore>
 #include <cstdio>
 #include <cstdlib>
 #include <sstream>
@@ -16,7 +15,6 @@
 #include "libwalletqt/Wallet.h"
 #include "utils/utils.h"
 
-
 struct RestoreHeightLookup {
     NetworkType::Type type;
     QMap<int, int> data;
diff --git a/src/utils/tails.cpp b/src/utils/tails.cpp
index 9df0273..4f8849b 100644
--- a/src/utils/tails.cpp
+++ b/src/utils/tails.cpp
@@ -3,9 +3,6 @@
 
 #include <QRegExp>
 #include <QMessageBox>
-#include <QPixmap>
-#include <QTranslator>
-#include <QCheckBox>
 
 #include "tails.h"
 #include "utils.h"
diff --git a/src/utils/tails.h b/src/utils/tails.h
index 3b0e283..701d660 100644
--- a/src/utils/tails.h
+++ b/src/utils/tails.h
@@ -16,7 +16,6 @@ public:
     static QString version();
 
     static void showDataPersistenceDisabledWarning();
-    static void askPersistence();
     static void persistXdgMime(const QString& filePath, const QString& data);
 
     static bool usePersistence;
diff --git a/src/utils/textedit.cpp b/src/utils/textedit.cpp
index 3fd7de5..51f2dbf 100644
--- a/src/utils/textedit.cpp
+++ b/src/utils/textedit.cpp
@@ -54,8 +54,6 @@
 #include <QAbstractItemView>
 #include <QtDebug>
 #include <QApplication>
-#include <QModelIndex>
-#include <QAbstractItemModel>
 #include <QScrollBar>
 
 
diff --git a/src/utils/tor.cpp b/src/utils/tor.cpp
index 5c540a2..31b3ae8 100644
--- a/src/utils/tor.cpp
+++ b/src/utils/tor.cpp
@@ -1,10 +1,8 @@
 // SPDX-License-Identifier: BSD-3-Clause
 // Copyright (c) 2020-2021, The Monero Project.
 
-#include <QtCore>
 #include <QScreen>
 #include <QDesktopWidget>
-#include <QProcess>
 #include <QDesktopServices>
 #include "utils/utils.h"
 #include "utils/tor.h"
@@ -217,48 +215,6 @@ bool Tor::unpackBins() {
     return true;
 }
 
-networkPeer Tor::getPeerFromConfig(const QString &path) {
-    // parse Tor bind addr from given Tor config
-    QRegularExpression re("^SocksPort ([\\d|.|:]+)");
-
-    networkPeer peer;
-    peer.host = "127.0.0.1";
-    peer.port = 9050;
-
-    if(!Utils::fileExists(path)) {
-        peer.active = Utils::portOpen(peer.host, peer.port);
-        return peer;
-    }
-
-    for(const auto &line: Utils::fileOpen(path).split('\n')) {
-        QRegularExpressionMatch match = re.match(line);
-        if(!match.hasMatch())
-            continue;
-
-        QString match_group = match.captured(1);
-        int host_idx = match_group.indexOf(':');
-        if(host_idx >= 1){
-            peer.host = match_group.mid(0, host_idx);
-            QString port = match_group.mid(host_idx + 1);
-            if(!Utils::isDigit(port))
-                continue;
-
-            peer.port = (quint16)port.toInt();
-            qDebug() << "Parsed port from local Tor config";
-            break;
-        }
-
-        if(Utils::isDigit(match_group)) {
-            peer.port = (quint16)match_group.toInt();
-            qDebug() << "Parsed port from local Tor config";
-            break;
-        }
-    }
-
-    peer.active = Utils::portOpen(peer.host, peer.port);
-    return peer;
-}
-
 QString Tor::getVersion() {
     QProcess process;
     process.setProcessChannelMode(QProcess::MergedChannels);
diff --git a/src/utils/tor.h b/src/utils/tor.h
index 82e2668..82d3bbd 100644
--- a/src/utils/tor.h
+++ b/src/utils/tor.h
@@ -7,11 +7,8 @@
 #include <cstdio>
 #include <cstdlib>
 #include <iostream>
-#include <QtCore>
 #include <QRegExp>
 #include <QtNetwork>
-#include <QApplication>
-#include <QMainWindow>
 #include "utils/childproc.h"
 
 class Tor : public QObject
@@ -25,7 +22,6 @@ public:
     void stop();
     bool unpackBins();
     QString getVersion();
-    networkPeer getPeerFromConfig(const QString &path);
 
     bool torConnected = false;
     bool localTor = false;
diff --git a/src/utils/txfiathistory.cpp b/src/utils/txfiathistory.cpp
index b4bd8c7..0f902af 100644
--- a/src/utils/txfiathistory.cpp
+++ b/src/utils/txfiathistory.cpp
@@ -1,10 +1,7 @@
 // SPDX-License-Identifier: BSD-3-Clause
 // Copyright (c) 2020-2021, The Monero Project.
 
-#include <QtCore>
-#include <QObject>
 #include <QNetworkAccessManager>
-#include <QNetworkReply>
 #include <iomanip>
 
 #include "txfiathistory.h"
diff --git a/src/utils/txfiathistory.h b/src/utils/txfiathistory.h
index 6ca4d7d..5587b7f 100644
--- a/src/utils/txfiathistory.h
+++ b/src/utils/txfiathistory.h
@@ -4,7 +4,6 @@
 #ifndef FEATHER_TXFIATHISTORY_H
 #define FEATHER_TXFIATHISTORY_H
 
-
 class TxFiatHistory : public QObject {
     Q_OBJECT
 
diff --git a/src/utils/utils.cpp b/src/utils/utils.cpp
index 3bbf9ee..95c6d8f 100644
--- a/src/utils/utils.cpp
+++ b/src/utils/utils.cpp
@@ -1,23 +1,13 @@
 // SPDX-License-Identifier: BSD-3-Clause
 // Copyright (c) 2020-2021, The Monero Project.
 
-#include <QtCore>
-#include <QtGlobal>
-#include <QObject>
 #include <QScreen>
 #include <QMessageBox>
 #include <QtNetwork>
-#include <QTcpSocket>
 #include <QClipboard>
-#include <QDesktopWidget>
-#include <QProcess>
 #include <QCompleter>
 #include <QDesktopServices>
-#include <QApplication>
-#include <QMainWindow>
-#include <QTextStream>
 #include <QtWidgets/QStyle>
-#include <QVector>
 
 #include "utils.h"
 #include "utils/config.h"
@@ -214,69 +204,6 @@ QByteArray Utils::readSocket(QTcpSocket &socket, int buffer_size) {
     return data;
 }
 
-bool Utils::testSocks5(const QString &host, quint16 port){
-    // synchronous socks5 tester
-    QByteArray data;
-    QTcpSocket socket;
-    socket.connectToHost(host, port);
-    if (!socket.waitForConnected(1000)) {
-        qDebug() << QString("could not connect to %1 %2")
-                .arg(host).arg(port);
-        socket.close();
-        return false;
-    }
-
-    // latest & greatest
-    socket.write(QByteArray("\x05\x02", 2));
-    socket.flush();
-
-    // no auth pl0x
-    socket.write(QByteArray("\x00\x01", 2));
-    socket.flush();
-
-    // cool story
-    if(Utils::readSocket(socket, 2).isEmpty()){
-        qDebug() << "socks response timeout";
-        socket.close();
-        return false;
-    }
-
-    // pls sir
-    socket.write(QByteArray("\x05\x01\x00\x03", 4));
-
-    // here we go!!
-    socket.write(QByteArray("\x16", 1));  // len
-    socket.write(QByteArray("kebjllr47c2ouoly.onion"));
-    socket.write(QByteArray("\x00\x50", 2)); // port
-    socket.flush();
-
-    // fingers crossed
-    auto result = Utils::readSocket(socket, 10);
-    qDebug() << result;
-    if(result.length() != 10 || result.at(1) != 0) {
-        qDebug() << "bad socks response";
-        socket.close();
-        return false;
-    }
-
-    // can haz?
-    QByteArray http("GET /api/v1/ping HTTP/1.1\r\nHost: kebjllr47c2ouoly.onion\r\nConnection: close\r\n\r\n");
-    socket.write(http);
-
-    auto resp = Utils::readSocket(socket, 555);
-    QRegularExpression re(R"(^HTTP\/\d.\d 200 OK)");
-    QRegularExpressionMatch match = re.match(resp);
-    if(match.hasMatch()){
-        socket.close();
-        return true;
-    }
-
-    qDebug() << resp;
-
-    socket.close();
-    return false;
-}
-
 void Utils::externalLinkWarning(QWidget *parent, const QString &url){
     if(!config()->get(Config::warnOnExternalLink).toBool()) {
         QDesktopServices::openUrl(QUrl(url));
diff --git a/src/utils/utils.h b/src/utils/utils.h
index 1fa0384..bda8946 100644
--- a/src/utils/utils.h
+++ b/src/utils/utils.h
@@ -6,7 +6,6 @@
 
 #include <cstdio>
 #include <cstdlib>
-#include <QtCore>
 #include <QRegExp>
 #include <QStandardItemModel>
 #include <QtNetwork>
@@ -80,7 +79,7 @@ public:
     static bool dirExists(const QString &path);
     static QString barrayToString(const QByteArray &data);
     static QByteArray readSocket(QTcpSocket &socket, int buffer_size);
-    static bool testSocks5(const QString &host, quint16 port);
+
     static QStandardItem *qStandardItem(const QString &text);
     static QStandardItem *qStandardItem(const QString &text, QFont &font);
     static void copyToClipboard(const QString &string);
diff --git a/src/utils/wsclient.cpp b/src/utils/wsclient.cpp
index fd2b961..478baa7 100644
--- a/src/utils/wsclient.cpp
+++ b/src/utils/wsclient.cpp
@@ -3,14 +3,11 @@
 
 #include <QObject>
 #include <QNetworkAccessManager>
-#include <QStandardPaths>
 #include <QScreen>
 #include <QDesktopWidget>
-#include <QtCore>
 #include "wsclient.h"
 #include "appcontext.h"
 
-
 WSClient::WSClient(AppContext *ctx, const QUrl &url, QObject *parent) :
         QObject(parent),
         url(url),
diff --git a/src/utils/wsclient.h b/src/utils/wsclient.h
index 1e32945..0192b53 100644
--- a/src/utils/wsclient.h
+++ b/src/utils/wsclient.h
@@ -4,9 +4,9 @@
 #ifndef ECHOCLIENT_H
 #define ECHOCLIENT_H
 
-#include <QtCore/QObject>
+#include <QObject>
 #include <QtWebSockets/QWebSocket>
-#include <QtCore/QTimer>
+#include <QTimer>
 
 class AppContext;
 class WSClient : public QObject
diff --git a/src/utils/xmrig.cpp b/src/utils/xmrig.cpp
index 6423098..f6eb5e4 100644
--- a/src/utils/xmrig.cpp
+++ b/src/utils/xmrig.cpp
@@ -1,10 +1,8 @@
 // SPDX-License-Identifier: BSD-3-Clause
 // Copyright (c) 2020-2021, The Monero Project.
 
-#include <QtCore>
 #include <QScreen>
 #include <QDesktopWidget>
-#include <QProcess>
 #include <QDesktopServices>
 
 #include "utils/utils.h"
diff --git a/src/utils/xmrig.h b/src/utils/xmrig.h
index e5cff81..7d6afc2 100644
--- a/src/utils/xmrig.h
+++ b/src/utils/xmrig.h
@@ -7,7 +7,6 @@
 #include <cstdio>
 #include <cstdlib>
 #include <iostream>
-#include <QtCore>
 #include <QRegExp>
 #include <QtNetwork>
 #include <QApplication>
@@ -25,7 +24,6 @@ public:
 
     void start(const QString &path, int threads, const QString &address, const QString &username, const QString &password, bool tor = false, bool tls = true);
     void stop();
-    bool unpackBins();
 
     QString rigDir;
     QString rigPath;
diff --git a/src/utils/xmrto.cpp b/src/utils/xmrto.cpp
index 061d972..10f2d2d 100644
--- a/src/utils/xmrto.cpp
+++ b/src/utils/xmrto.cpp
@@ -3,7 +3,6 @@
 
 #include "xmrto.h"
 
-#include "utils/xmrtoorder.h"
 #include "appcontext.h"
 
 QMap<OrderState, QString> XmrTo::stateMap;
diff --git a/src/utils/xmrtoapi.cpp b/src/utils/xmrtoapi.cpp
index 16e7c9f..628bec7 100644
--- a/src/utils/xmrtoapi.cpp
+++ b/src/utils/xmrtoapi.cpp
@@ -3,8 +3,6 @@
 
 #include "xmrtoapi.h"
 
-#include <utility>
-
 XmrToApi::XmrToApi(QObject *parent, UtilsNetworking *network, QString baseUrl)
     : QObject(parent)
     , m_network(network)
diff --git a/src/utils/xmrtoorder.cpp b/src/utils/xmrtoorder.cpp
index 6174108..75f382a 100644
--- a/src/utils/xmrtoorder.cpp
+++ b/src/utils/xmrtoorder.cpp
@@ -3,12 +3,9 @@
 
 #include "xmrtoorder.h"
 
-#include <utility>
-
 #include "libwalletqt/Wallet.h"
 #include "appcontext.h"
 #include "globals.h"
-#include "utils/xmrto.h"
 
 XmrToOrder::XmrToOrder(AppContext *ctx, UtilsNetworking *network, QString baseUrl, bool clearnet, XmrToRates *rates, QObject *parent) :
         QObject(parent),
diff --git a/src/widgets/ccswidget.cpp b/src/widgets/ccswidget.cpp
index 06a35c1..a170ad6 100644
--- a/src/widgets/ccswidget.cpp
+++ b/src/widgets/ccswidget.cpp
@@ -3,13 +3,10 @@
 
 #include <QStandardItemModel>
 #include <QTableWidget>
-#include <QProgressBar>
-#include <QMessageBox>
 #include <QDesktopServices>
 
 #include "ccswidget.h"
 #include "ui_ccswidget.h"
-#include "utils/utils.h"
 #include "ccsprogressdelegate.h"
 
 CCSWidget::CCSWidget(QWidget *parent) :
diff --git a/src/widgets/nodewidget.cpp b/src/widgets/nodewidget.cpp
index 95fb6d0..4fe5056 100644
--- a/src/widgets/nodewidget.cpp
+++ b/src/widgets/nodewidget.cpp
@@ -1,21 +1,14 @@
 // SPDX-License-Identifier: BSD-3-Clause
 // Copyright (c) 2020-2021, The Monero Project.
 
-#include <QtCore>
-#include <QPlainTextEdit>
 #include <QInputDialog>
-#include <QStandardItemModel>
 #include <QTableWidget>
-#include <QProgressBar>
 #include <QMessageBox>
 #include <QDesktopServices>
-#include <utils/config.h>
 
 #include "model/NodeModel.h"
 #include "nodewidget.h"
 #include "ui_nodewidget.h"
-#include "utils/utils.h"
-#include "utils/nodes.h"
 #include "mainwindow.h"
 
 NodeWidget::NodeWidget(QWidget *parent)
diff --git a/src/widgets/redditwidget.cpp b/src/widgets/redditwidget.cpp
index df16151..778ad1a 100644
--- a/src/widgets/redditwidget.cpp
+++ b/src/widgets/redditwidget.cpp
@@ -3,8 +3,6 @@
 
 #include <QStandardItemModel>
 #include <QTableWidget>
-#include <QProgressBar>
-#include <QMessageBox>
 #include <QDesktopServices>
 
 #include "model/RedditModel.h"
diff --git a/src/widgets/restoreheightwidget.cpp b/src/widgets/restoreheightwidget.cpp
index 8083c8d..b0ecb2c 100644
--- a/src/widgets/restoreheightwidget.cpp
+++ b/src/widgets/restoreheightwidget.cpp
@@ -1,15 +1,12 @@
 // SPDX-License-Identifier: BSD-3-Clause
 // Copyright (c) 2020-2021, The Monero Project.
 
-#include <QStandardItemModel>
 #include <QTableWidget>
-#include <QProgressBar>
 #include <QMessageBox>
 #include <QDesktopServices>
 
 #include "restoreheightwidget.h"
 #include "ui_restoreheightwidget.h"
-#include "utils/utils.h"
 
 RestoreHeightWidget::RestoreHeightWidget(QWidget *parent) :
     QWidget(parent),
diff --git a/src/widgets/tickerwidget.cpp b/src/widgets/tickerwidget.cpp
index 15e5900..cb33704 100644
--- a/src/widgets/tickerwidget.cpp
+++ b/src/widgets/tickerwidget.cpp
@@ -4,8 +4,6 @@
 #include "tickerwidget.h"
 #include "ui_tickerwidget.h"
 
-#include "appcontext.h"
-#include "utils/config.h"
 #include "mainwindow.h"
 
 TickerWidget::TickerWidget(QWidget *parent, QString symbol, QString title, bool convertBalance, bool hidePercent) :
diff --git a/src/widgets/txproofwidget.cpp b/src/widgets/txproofwidget.cpp
index 02e8b0e..81385af 100644
--- a/src/widgets/txproofwidget.cpp
+++ b/src/widgets/txproofwidget.cpp
@@ -5,7 +5,6 @@
 #include "ui_txproofwidget.h"
 
 #include <QMessageBox>
-#include <utility>
 
 #include "utils/utils.h"
 
diff --git a/src/widgets/xmrigwidget.cpp b/src/widgets/xmrigwidget.cpp
index e40f8d2..2d3b355 100644
--- a/src/widgets/xmrigwidget.cpp
+++ b/src/widgets/xmrigwidget.cpp
@@ -3,17 +3,13 @@
 
 #include <QStandardItemModel>
 #include <QTableWidget>
-#include <QProgressBar>
 #include <QMessageBox>
 #include <QDesktopServices>
-#include <QSysInfo>
 #include <QScrollBar>
 #include <QFileDialog>
-#include <QStandardPaths>
 
 #include "xmrigwidget.h"
 #include "ui_xmrigwidget.h"
-#include "utils/utils.h"
 
 XMRigWidget::XMRigWidget(AppContext *ctx, QWidget *parent) :
     QWidget(parent),
diff --git a/src/wizard/createwallet.cpp b/src/wizard/createwallet.cpp
index 4d5db4e..e9359d6 100644
--- a/src/wizard/createwallet.cpp
+++ b/src/wizard/createwallet.cpp
@@ -5,14 +5,9 @@
 #include "wizard/createwallet.h"
 #include "wizard/walletwizard.h"
 #include "ui_createwallet.h"
-#include "appcontext.h"
 
-#include <QPushButton>
 #include <QFileDialog>
 #include <QMessageBox>
-#include <QDebug>
-
-#include "libwalletqt/WalletManager.h"
 
 CreateWalletPage::CreateWalletPage(AppContext *ctx, QWidget *parent) :
         QWizardPage(parent),
diff --git a/src/wizard/createwalletseed.cpp b/src/wizard/createwalletseed.cpp
index 97577ae..5417b05 100644
--- a/src/wizard/createwalletseed.cpp
+++ b/src/wizard/createwalletseed.cpp
@@ -4,11 +4,8 @@
 #include "wizard/createwalletseed.h"
 #include "wizard/walletwizard.h"
 #include "ui_createwalletseed.h"
-#include "appcontext.h"
 
-#include <QPushButton>
 #include <QFileDialog>
-#include <QDebug>
 
 CreateWalletSeedPage::CreateWalletSeedPage(AppContext *ctx, QWidget *parent) :
         QWizardPage(parent),
diff --git a/src/wizard/menu.cpp b/src/wizard/menu.cpp
index 36139a9..b8c49c5 100644
--- a/src/wizard/menu.cpp
+++ b/src/wizard/menu.cpp
@@ -5,11 +5,7 @@
 #include "wizard/walletwizard.h"
 #include "ui_menu.h"
 
-#include <QPushButton>
 #include <QFileDialog>
-#include <QDebug>
-
-#include "libwalletqt/WalletManager.h"
 
 MenuPage::MenuPage(AppContext *ctx, WalletKeysFilesModel *wallets, QWidget *parent)
         : QWizardPage(parent)
diff --git a/src/wizard/network.cpp b/src/wizard/network.cpp
index 70dd50c..e384a90 100644
--- a/src/wizard/network.cpp
+++ b/src/wizard/network.cpp
@@ -2,14 +2,9 @@
 // Copyright (c) 2020-2021, The Monero Project.
 
 #include "wizard/network.h"
-#include "wizard/walletwizard.h"
 #include "ui_network.h"
 
-#include <QPushButton>
 #include <QFileDialog>
-#include <QDebug>
-
-#include "libwalletqt/WalletManager.h"
 
 NetworkPage::NetworkPage(AppContext *ctx, QWidget *parent) :
         QWizardPage(parent),
diff --git a/src/wizard/openwallet.cpp b/src/wizard/openwallet.cpp
index 3721975..2056651 100644
--- a/src/wizard/openwallet.cpp
+++ b/src/wizard/openwallet.cpp
@@ -3,10 +3,7 @@
 
 #include "wizard/openwallet.h"
 #include "ui_openwallet.h"
-#include "appcontext.h"
-#include "utils/config.h"
 
-#include <QPushButton>
 #include <QFileDialog>
 #include <QMessageBox>
 
diff --git a/src/wizard/restorewallet.cpp b/src/wizard/restorewallet.cpp
index 26e9a98..f765f61 100644
--- a/src/wizard/restorewallet.cpp
+++ b/src/wizard/restorewallet.cpp
@@ -7,14 +7,9 @@
 
 #include <QLineEdit>
 #include <QPlainTextEdit>
-#include <QTextCharFormat>
-#include <QPushButton>
-#include <QButtonGroup>
 
 #include <monero_seed/wordlist.hpp>  // tevador 14 word
 
-#include "libwalletqt/WalletManager.h"
-
 RestorePage::RestorePage(AppContext *ctx, QWidget *parent) :
         QWizardPage(parent),
         ui(new Ui::RestorePage),
diff --git a/src/wizard/restorewallet.h b/src/wizard/restorewallet.h
index 0306a00..4774f0a 100644
--- a/src/wizard/restorewallet.h
+++ b/src/wizard/restorewallet.h
@@ -4,7 +4,6 @@
 #ifndef FEATHER_WIZARDRESTORE_H
 #define FEATHER_WIZARDRESTORE_H
 
-#include <QtCore>
 #include <QLabel>
 #include <QWizardPage>
 #include <QWidget>
diff --git a/src/wizard/viewonlywallet.cpp b/src/wizard/viewonlywallet.cpp
index e8e2af5..01c610b 100644
--- a/src/wizard/viewonlywallet.cpp
+++ b/src/wizard/viewonlywallet.cpp
@@ -5,15 +5,7 @@
 #include "wizard/walletwizard.h"
 #include "ui_viewonlywallet.h"
 
-#include <QLineEdit>
 #include <QPlainTextEdit>
-#include <QTextCharFormat>
-#include <QPushButton>
-#include <QButtonGroup>
-
-#include <monero_seed/wordlist.hpp>  // tevador 14 word
-
-#include "libwalletqt/WalletManager.h"
 
 ViewOnlyPage::ViewOnlyPage(AppContext *ctx, QWidget *parent) :
         QWizardPage(parent),
diff --git a/src/wizard/viewonlywallet.h b/src/wizard/viewonlywallet.h
index 6cd2708..32f4836 100644
--- a/src/wizard/viewonlywallet.h
+++ b/src/wizard/viewonlywallet.h
@@ -4,7 +4,6 @@
 #ifndef FEATHER_WIZARDVIEWONLY_H
 #define FEATHER_WIZARDVIEWONLY_H
 
-#include <QtCore>
 #include <QLabel>
 #include <QWizardPage>
 #include <QWidget>
diff --git a/src/wizard/walletwizard.cpp b/src/wizard/walletwizard.cpp
index 7285224..cf165ca 100644
--- a/src/wizard/walletwizard.cpp
+++ b/src/wizard/walletwizard.cpp
@@ -11,12 +11,9 @@
 #include "wizard/restorewallet.h"
 #include "wizard/viewonlywallet.h"
 
-#include <QStyle>
-#include <QLabel>
 #include <QLineEdit>
 #include <QVBoxLayout>
 #include <QScreen>
-#include <QApplication>
 
 WalletWizard::WalletWizard(AppContext *ctx, WalletWizard::Page startPage, QWidget *parent)
         : QWizard(parent)
diff --git a/src/xmrtowidget.cpp b/src/xmrtowidget.cpp
index 0cb7b2b..71e7752 100644
--- a/src/xmrtowidget.cpp
+++ b/src/xmrtowidget.cpp
@@ -4,11 +4,9 @@
 #include "xmrtowidget.h"
 #include "ui_xmrtowidget.h"
 #include "dialog/xmrtoinfodialog.h"
-#include "libwalletqt/WalletManager.h"
 #include "mainwindow.h"
 #include "globals.h"
 
-#include <QMenu>
 #include <QMessageBox>
 
 XMRToWidget::XMRToWidget(QWidget *parent) :
diff --git a/src/xmrtowidget.h b/src/xmrtowidget.h
index 34c1edf..59f6870 100644
--- a/src/xmrtowidget.h
+++ b/src/xmrtowidget.h
@@ -20,7 +20,7 @@ Q_OBJECT
 public:
     explicit XMRToWidget(QWidget *parent = nullptr);
     void setHistoryModel(XmrToModel *model);
-    ~XMRToWidget();
+    ~XMRToWidget() override;
 
 public slots:
     void onWalletClosed();