diff --git a/.github/ISSUE_TEMPLATE/issue_template.md b/.github/ISSUE_TEMPLATE/issue_template.md
new file mode 100644
index 0000000..ff58b3e
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/issue_template.md
@@ -0,0 +1,31 @@
+---
+name: Bug report
+about: Create a report to help us improve
+title: ''
+labels: ''
+assignees: ''
+
+---
+
+Please make sure you have the latest ZecWallet.
+
+**Describe the bug**
+A clear and concise description of what the bug is.
+
+**To Reproduce**
+Steps to reproduce the behavior:
+1. Go to '...'
+2. Click on '....'
+3. Scroll down to '....'
+4. See error
+
+**Expected behavior**
+A clear and concise description of what you expected to happen.
+
+**Desktop (please complete the following information):**
+ - OS: [e.g. iOS]
+ - Browser [e.g. chrome, safari]
+ - Version [e.g. 22]
+
+**Additional context**
+Add any other context about the problem here.
diff --git a/src/connection.cpp b/src/connection.cpp
index 2b5ae81..9547c2f 100644
--- a/src/connection.cpp
+++ b/src/connection.cpp
@@ -168,6 +168,10 @@ void ConnectionLoader::createZcashConf() {
if (d.exec() == QDialog::Accepted) {
datadir = ui.lblDirName->text();
useTor = ui.chkUseTor->isChecked();
+ if (!ui.chkAllowInternet->isChecked()) {
+ Settings::getInstance()->setAllowFetchPrices(false);
+ Settings::getInstance()->setCheckForUpdates(false);
+ }
}
main->logger->write("Creating file " + confLocation);
diff --git a/src/createzcashconfdialog.ui b/src/createzcashconfdialog.ui
index a5b45e6..623993f 100644
--- a/src/createzcashconfdialog.ui
+++ b/src/createzcashconfdialog.ui
@@ -99,17 +99,24 @@
- -
-
+
-
+
- Use custom datadir
+
- -
-
+
-
+
- Please choose a directory to store your wallet.dat and blockchain
+ Allow connections to the internet to check for updates, get ZEC/USD prices etc...
+
+
+
+ -
+
+
+ Use custom datadir
@@ -144,24 +151,41 @@
- -
-
+
-
+
-
+ Please note that you'll need to already have a Tor service configured on port 9050
-
+
+
+ Connect to the internet for updates and price feeds
+
+
+ true
+
+
+
+ -
+
+
+ Please choose a directory to store your wallet.dat and blockchain
+
+
+
+ -
Connect over Tor
- -
-
+
-
+
- Please note that you'll need to already have a Tor service configured on port 9050
+
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index 4473048..e6ef0e4 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -40,6 +40,11 @@ MainWindow::MainWindow(QWidget *parent) :
// Set up donate action
QObject::connect(ui->actionDonate, &QAction::triggered, this, &MainWindow::donate);
+ // File a bug
+ QObject::connect(ui->actionFile_a_bug, &QAction::triggered, [=]() {
+ QDesktopServices::openUrl(QUrl("https://github.com/zcashfoundation/zecwallet/issues/new"));
+ });
+
// Set up check for updates action
QObject::connect(ui->actionCheck_for_Updates, &QAction::triggered, [=] () {
// Silent is false, so show notification even if no update was found
@@ -475,6 +480,12 @@ void MainWindow::setupSettingsModal() {
// Auto shielding
settings.chkAutoShield->setChecked(Settings::getInstance()->getAutoShield());
+ // Check for updates
+ settings.chkCheckUpdates->setChecked(Settings::getInstance()->getCheckForUpdates());
+
+ // Fetch prices
+ settings.chkFetchPrices->setChecked(Settings::getInstance()->getAllowFetchPrices());
+
// Use Tor
bool isUsingTor = false;
if (rpc->getConnection() != nullptr) {
@@ -540,6 +551,12 @@ void MainWindow::setupSettingsModal() {
// Auto shield
Settings::getInstance()->setAutoShield(settings.chkAutoShield->isChecked());
+ // Check for updates
+ Settings::getInstance()->setCheckForUpdates(settings.chkCheckUpdates->isChecked());
+
+ // Allow fetching prices
+ Settings::getInstance()->setAllowFetchPrices(settings.chkFetchPrices->isChecked());
+
if (!isUsingTor && settings.chkTor->isChecked()) {
// If "use tor" was previously unchecked and now checked
Settings::addToZcashConf(zcashConfLocation, "proxy=127.0.0.1:9050");
diff --git a/src/mainwindow.ui b/src/mainwindow.ui
index 9083964..fc39870 100644
--- a/src/mainwindow.ui
+++ b/src/mainwindow.ui
@@ -359,8 +359,8 @@
0
0
- 928
- 353
+ 920
+ 324
@@ -1045,7 +1045,7 @@
0
0
968
- 19
+ 21
diff --git a/src/rpc.cpp b/src/rpc.cpp
index ce138df..c72afcb 100644
--- a/src/rpc.cpp
+++ b/src/rpc.cpp
@@ -32,7 +32,8 @@ RPC::RPC(MainWindow* main) {
// Set up timer to refresh Price
priceTimer = new QTimer(main);
QObject::connect(priceTimer, &QTimer::timeout, [=]() {
- refreshZECPrice();
+ if (Settings::getInstance()->getAllowFetchPrices())
+ refreshZECPrice();
});
priceTimer->start(Settings::priceRefreshSpeed); // Every hour
@@ -96,9 +97,13 @@ void RPC::setConnection(Connection* c) {
Settings::removeFromZcashConf(zcashConfLocation, "rescan");
Settings::removeFromZcashConf(zcashConfLocation, "reindex");
- // Refresh the UI
- refreshZECPrice();
- checkForUpdate();
+ // If we're allowed to get the Zec Price, get the prices
+ if (Settings::getInstance()->getAllowFetchPrices())
+ refreshZECPrice();
+
+ // If we're allowed to check for updates, check for a new release
+ if (Settings::getInstance()->getCheckForUpdates())
+ checkForUpdate();
// Force update, because this might be coming from a settings update
// where we need to immediately refresh
diff --git a/src/sendtab.cpp b/src/sendtab.cpp
index 7be9c5f..0f06550 100644
--- a/src/sendtab.cpp
+++ b/src/sendtab.cpp
@@ -107,8 +107,11 @@ void MainWindow::setupSendTab() {
void MainWindow::disableRecurring() {
if (!Settings::getInstance()->isTestnet()) {
+ ui->chkRecurring->setVisible(false);
ui->chkRecurring->setEnabled(false);
+ ui->btnRecurSchedule->setVisible(false);
ui->btnRecurSchedule->setEnabled(false);
+ ui->action_Recurring_Payments->setVisible(false);
}
}
diff --git a/src/settings.cpp b/src/settings.cpp
index 5a25a37..b251765 100644
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -124,6 +124,22 @@ void Settings::setAutoShield(bool allow) {
QSettings().setValue("options/autoshield", allow);
}
+bool Settings::getCheckForUpdates() {
+ return QSettings().value("options/allowcheckupdates", true).toBool();
+}
+
+void Settings::setCheckForUpdates(bool allow) {
+ QSettings().setValue("options/allowcheckupdates", allow);
+}
+
+bool Settings::getAllowFetchPrices() {
+ return QSettings().value("options/allowfetchprices", true).toBool();
+}
+
+void Settings::setAllowFetchPrices(bool allow) {
+ QSettings().setValue("options/allowfetchprices", allow);
+}
+
bool Settings::getAllowCustomFees() {
// Load from the QT Settings.
return QSettings().value("options/customfees", false).toBool();
diff --git a/src/settings.h b/src/settings.h
index 8e1b7ef..245ae29 100644
--- a/src/settings.h
+++ b/src/settings.h
@@ -60,6 +60,12 @@ public:
bool getAllowCustomFees();
void setAllowCustomFees(bool allow);
+
+ bool getAllowFetchPrices();
+ void setAllowFetchPrices(bool allow);
+
+ bool getCheckForUpdates();
+ void setCheckForUpdates(bool allow);
bool isSaplingActive();
diff --git a/src/settings.ui b/src/settings.ui
index f107bd4..296a4f6 100644
--- a/src/settings.ui
+++ b/src/settings.ui
@@ -26,7 +26,7 @@
-
- 2
+ 1
@@ -145,32 +145,18 @@
Options
-
-
-
-
- Connect to the Tor network via SOCKS proxy running on 127.0.0.1:9050. Please note that you'll have to install and run the Tor service externally.
-
-
- true
-
-
-
- -
-
-
- Clear History
-
-
-
- -
-
-
- Shielded transactions are saved locally and shown in the transactions tab. If you uncheck this, shielded transactions will not appear in the transactions tab.
+
-
+
+
+ Qt::Vertical
-
- true
+
+
+ 20
+ 40
+
-
+
-
@@ -185,21 +171,35 @@
- -
-
+
-
+
- Remember shielded transactions
+ Connect via Tor
- -
-
+
-
+
- Allow custom fees
+ Check github for updates at startup
- -
+
-
+
+
+ Qt::Horizontal
+
+
+
+ -
+
+
+ Remember shielded transactions
+
+
+
+ -
Normally, change from t-Addresses goes to another t-Address. Checking this option will send the change to your shielded sapling address instead. Check this option to increase your privacy.
@@ -209,61 +209,75 @@
- -
-
-
- Qt::Horizontal
+
-
+
+
+ Allow overriding the default fees when sending transactions. Enabling this option may compromise your privacy since fees are transparent.
+
+
+ true
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
+
-
+
+
+ Clear History
-
+
- -
-
+
-
+
- Allow overriding the default fees when sending transactions. Enabling this option may compromise your privacy since fees are transparent.
+ Shielded transactions are saved locally and shown in the transactions tab. If you uncheck this, shielded transactions will not appear in the transactions tab.
true
- -
+
-
+
+
+ Allow custom fees
+
+
+
+ -
Shield change from t-Addresses to your sapling address
- -
-
+
-
+
-
+ Connect to the Tor network via SOCKS proxy running on 127.0.0.1:9050. Please note that you'll have to install and run the Tor service externally.
+
+
+ true
- -
-
+
-
+
- Connect via Tor
+ Connect to github on startup to check for updates
- -
+
-
-
+ Connect to the internet to fetch ZEC prices
+
+
+
+ -
+
+
+ Fetch ZEC / USD prices