From 995b6bc96d8cd0a83a3ef7a4d64118fe26421ccb Mon Sep 17 00:00:00 2001 From: adityapk Date: Wed, 17 Oct 2018 22:40:47 -0700 Subject: [PATCH] Cleanup some methods to make them easier to read --- src/mainwindow.cpp | 150 ++++++++++++++++++++++++--------------------- src/mainwindow.h | 3 + src/rpc.cpp | 4 -- 3 files changed, 83 insertions(+), 74 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index d12442d..576d099 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -18,52 +18,99 @@ MainWindow::MainWindow(QWidget *parent) : { ui->setupUi(this); - // Status Bar - loadingLabel = new QLabel(); - loadingMovie = new QMovie(":/icons/res/loading.gif"); - loadingMovie->setScaledSize(QSize(32, 16)); - loadingMovie->start(); - loadingLabel->setAttribute(Qt::WA_NoSystemBackground); - loadingLabel->setMovie(loadingMovie); + // Status Bar + setupStatusBar(); + + // Settings editor + setupSettingsModal(); + + // Set up exit action + QObject::connect(ui->actionExit, &QAction::triggered, this, &MainWindow::close); + + // Set up donate action + QObject::connect(ui->actionDonate, &QAction::triggered, this, &MainWindow::donate); + + // Set up check for updates action + QObject::connect(ui->actionCheck_for_Updates, &QAction::triggered, [=] () { + QDesktopServices::openUrl(QUrl("https://github.com/adityapk00/zcash-qt-wallet/releases")); + }); + + QObject::connect(ui->actionImport_Private_Keys, &QAction::triggered, this, &MainWindow::importPrivKeys); + + // Set up about action + QObject::connect(ui->actionAbout, &QAction::triggered, [=] () { + QDialog aboutDialog(this); + Ui_about about; + about.setupUi(&aboutDialog); + + QString version = QString("Version ") % QString(APP_VERSION) % " (" % QString(__DATE__) % ")"; + about.versionLabel->setText(version); - ui->statusBar->addPermanentWidget(loadingLabel); - loadingLabel->setVisible(false); + aboutDialog.exec(); + }); + + // Initialize to the balances tab + ui->tabWidget->setCurrentIndex(0); + + setupSendTab(); + setupTransactionsTab(); + setupRecieveTab(); + setupBalancesTab(); + + rpc = new RPC(new QNetworkAccessManager(this), this); + rpc->refresh(); +} - // Custom status bar menu +void MainWindow::setupStatusBar() { + // Status Bar + loadingLabel = new QLabel(); + loadingMovie = new QMovie(":/icons/res/loading.gif"); + loadingMovie->setScaledSize(QSize(32, 16)); + loadingMovie->start(); + loadingLabel->setAttribute(Qt::WA_NoSystemBackground); + loadingLabel->setMovie(loadingMovie); + + ui->statusBar->addPermanentWidget(loadingLabel); + loadingLabel->setVisible(false); + + // Custom status bar menu ui->statusBar->setContextMenuPolicy(Qt::CustomContextMenu); QObject::connect(ui->statusBar, &QStatusBar::customContextMenuRequested, [=](QPoint pos) { auto msg = ui->statusBar->currentMessage(); - QMenu menu(this); + QMenu menu(this); - if (!msg.isEmpty() && msg.startsWith(Utils::txidStatusMessage)) { - auto txid = msg.split(":")[1].trimmed(); + if (!msg.isEmpty() && msg.startsWith(Utils::txidStatusMessage)) { + auto txid = msg.split(":")[1].trimmed(); menu.addAction("Copy txid", [=]() { QGuiApplication::clipboard()->setText(txid); }); - menu.addAction("View tx on block explorer", [=]() { - QString url; - if (Settings::getInstance()->isTestnet()) { - url = "https://explorer.testnet.z.cash/tx/" + txid; - } else { - url = "https://explorer.zcha.in/transactions/" + txid; - } - QDesktopServices::openUrl(QUrl(url)); - }); + menu.addAction("View tx on block explorer", [=]() { + QString url; + if (Settings::getInstance()->isTestnet()) { + url = "https://explorer.testnet.z.cash/tx/" + txid; + } + else { + url = "https://explorer.zcha.in/transactions/" + txid; + } + QDesktopServices::openUrl(QUrl(url)); + }); } - menu.addAction("Refresh", [=]() { - rpc->refresh(); - }); - QPoint gpos(mapToGlobal(pos).x(), mapToGlobal(pos).y() + this->height() - ui->statusBar->height()); - menu.exec(gpos); + menu.addAction("Refresh", [=]() { + rpc->refresh(); + }); + QPoint gpos(mapToGlobal(pos).x(), mapToGlobal(pos).y() + this->height() - ui->statusBar->height()); + menu.exec(gpos); }); - statusLabel = new QLabel(); - ui->statusBar->addPermanentWidget(statusLabel); + statusLabel = new QLabel(); + ui->statusBar->addPermanentWidget(statusLabel); - statusIcon = new QLabel(); - ui->statusBar->addPermanentWidget(statusIcon); - + statusIcon = new QLabel(); + ui->statusBar->addPermanentWidget(statusIcon); +} + +void MainWindow::setupSettingsModal() { // Set up File -> Settings action QObject::connect(ui->actionSettings, &QAction::triggered, [=]() { QDialog settingsDialog(this); @@ -73,7 +120,6 @@ MainWindow::MainWindow(QWidget *parent) : QIntValidator validator(0, 65535); settings.port->setValidator(&validator); - // If values are coming from zcash.conf, then disable all the fields auto zcashConfLocation = Settings::getInstance()->getZcashdConfLocation(); if (!zcashConfLocation.isEmpty()) { @@ -95,7 +141,7 @@ MainWindow::MainWindow(QWidget *parent) : settings.rpcuser->setText(Settings::getInstance()->getUsernamePassword().split(":")[0]); settings.rpcpassword->setText(Settings::getInstance()->getUsernamePassword().split(":")[1]); } - + if (settingsDialog.exec() == QDialog::Accepted) { if (zcashConfLocation.isEmpty()) { // Save settings @@ -113,42 +159,6 @@ MainWindow::MainWindow(QWidget *parent) : } }; }); - - // Set up exit action - QObject::connect(ui->actionExit, &QAction::triggered, this, &MainWindow::close); - - // Set up donate action - QObject::connect(ui->actionDonate, &QAction::triggered, this, &MainWindow::donate); - - // Set up check for updates action - QObject::connect(ui->actionCheck_for_Updates, &QAction::triggered, [=] () { - QDesktopServices::openUrl(QUrl("https://github.com/adityapk00/zcash-qt-wallet/releases")); - }); - - QObject::connect(ui->actionImport_Private_Keys, &QAction::triggered, this, &MainWindow::importPrivKeys); - - // Set up about action - QObject::connect(ui->actionAbout, &QAction::triggered, [=] () { - QDialog aboutDialog(this); - Ui_about about; - about.setupUi(&aboutDialog); - - QString version = QString("Version ") % QString(APP_VERSION) % " (" % QString(__DATE__) % ")"; - about.versionLabel->setText(version); - - aboutDialog.exec(); - }); - - // Initialize to the balances tab - ui->tabWidget->setCurrentIndex(0); - - setupSendTab(); - setupTransactionsTab(); - setupRecieveTab(); - setupBalancesTab(); - - rpc = new RPC(new QNetworkAccessManager(this), this); - rpc->refresh(); } void MainWindow::donate() { diff --git a/src/mainwindow.h b/src/mainwindow.h index 4f2466a..5b84ed3 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -39,6 +39,9 @@ private: void setupRecieveTab(); void setupBalancesTab(); + void setupSettingsModal(); + void setupStatusBar(); + void removeExtraAddresses(); void setDefaultPayFrom(); diff --git a/src/rpc.cpp b/src/rpc.cpp index e143e06..dab8d1d 100644 --- a/src/rpc.cpp +++ b/src/rpc.cpp @@ -243,10 +243,6 @@ void RPC::handleConnectionError(const QString& error) { % "\n\nA zcash.conf was found at\n" % confLocation % "\nbut we can't connect to zcashd. Is rpcuser= and rpcpassword= set in the zcash.conf file?"; } - } else if (error.contains("bad request", Qt::CaseInsensitive)) { - explanation = QString() - % "\n\nThis is most likely an internal error. Are you using zcashd v2.0 or higher? You might " - % "need to file a bug report here: https://github.com/adityapk00/zcash-qt-wallet/issues"; } else if (error.contains("internal server error", Qt::CaseInsensitive) || error.contains("rewinding", Qt::CaseInsensitive) || error.contains("loading", Qt::CaseInsensitive)) {