diff --git a/lib/Cargo.lock b/lib/Cargo.lock index 2166ad1..b74002a 100644 --- a/lib/Cargo.lock +++ b/lib/Cargo.lock @@ -1849,7 +1849,7 @@ dependencies = [ [[package]] name = "silentdragonlitelib" version = "0.1.0" -source = "git+https://git.hush.is/hush/silentdragonlite-cli?rev=568d7b7860ec0b848cb84474f38b25bed890de09#568d7b7860ec0b848cb84474f38b25bed890de09" +source = "git+https://git.hush.is/hush/silentdragonlite-cli?rev=1334c89e0f4ddd23725020e16753d0ea95c09bf5#1334c89e0f4ddd23725020e16753d0ea95c09bf5" dependencies = [ "base58", "bellman", diff --git a/lib/Cargo.toml b/lib/Cargo.toml index 2bc90af..c25ef8d 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -12,4 +12,4 @@ crate-type = ["staticlib"] libc = "0.2.58" lazy_static = "1.4.0" blake3 = "0.3.4" -silentdragonlitelib = { git = "https://git.hush.is/hush/silentdragonlite-cli", rev = "568d7b7860ec0b848cb84474f38b25bed890de09" } +silentdragonlitelib = { git = "https://git.hush.is/hush/silentdragonlite-cli", rev = "1334c89e0f4ddd23725020e16753d0ea95c09bf5" } diff --git a/src/controller.cpp b/src/controller.cpp index c597158..89e061d 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -35,8 +35,11 @@ Controller::Controller(MainWindow* main) auto current_server = Settings::getInstance()->getSettings().server; main->ui->current_server->setText(current_server); - auto stickyServer = Settings::getInstance()->getSettings().stickyServer; - main->ui->sticky_server->setText( stickyServer ? "True" : "False" ); + bool isStickyServerEnabled = Settings::getInstance()->getUseStickyServer(); + qDebug() << "Sticky Server Status senden" << isStickyServerEnabled; + main->ui->sticky_server->setText( isStickyServerEnabled ? "True" : "False" ); + + //auto stickyServer = Settings::getInstance()->getSettings().stickyServer; // Setup balances table model balancesTableModel = new BalancesTableModel(main->ui->balancesTable); @@ -166,8 +169,6 @@ void Controller::fillTxJsonParams(json& allRecepients, Tx tx) // Only for Debugging/Testing: How many free Notes are available? int spendableNotesCount = NoteCountDataStore::getInstance()->getSpendableNotesCount(); QString addressWithMaxValue = NoteCountDataStore::getInstance()->getAddressWithMaxValue(); - - qDebug() << "Available notes over fee:" << spendableNotesCount; // Clear NoteCountDataStore DataStore::getNoteCountDataStore()->clear(); @@ -191,8 +192,12 @@ void Controller::fillTxJsonParams(json& allRecepients, Tx tx) } CAmount balanceAvailable = getModel()->getBalVerified(); - // Create more Notes if spendableNotesCount < 30 and enough funds are available - if (spendableNotesCount < 30 && balanceAvailable.toDecimalString().toDouble() > (dustTransactions.size() * 0.0001)) { + bool isNoteAutomationEnabled = Settings::getInstance()->getUseNoteAutomation(); + // Create more Notes if spendableNotesCount < 30 and enough funds are available and note automation is checked in settings tab + + if (spendableNotesCount < 30 && + balanceAvailable.toDecimalString().toDouble() > (dustTransactions.size() * 0.0001) && + isNoteAutomationEnabled) { // Create extra transaction for (size_t i = 0; i < dustTransactions.size(); ++i) { // Generate random memo diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 8137b60..650209f 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -838,7 +838,13 @@ void MainWindow::setupSettingsModal() { // Fetch prices settings.chkFetchPrices->setChecked(Settings::getInstance()->getAllowFetchPrices()); - + + // Check Status of StickyServer + settings.chkUseStickyServer->setChecked(Settings::getInstance()->getUseStickyServer()); + + // Check Status of Note Automation + settings.chkUseNoteAutomation->setChecked(Settings::getInstance()->getUseNoteAutomation()) + // List of default servers settings.cmbServer->addItem("https://lite.hush.is"); settings.cmbServer->addItem("https://lite.hush.land"); @@ -867,6 +873,13 @@ void MainWindow::setupSettingsModal() { // Allow fetching prices Settings::getInstance()->setAllowFetchPrices(settings.chkFetchPrices->isChecked()); + // Set State for Use Sticky Server + Settings::getInstance()->setUseStickyServer(settings.chkUseStickyServer->isChecked()); + + // Set State for Use Note Automation + Settings::getInstance()->setUseNoteAutomation(settings.chkUseNoteAutomation->isChecked()); + + // Save the server bool reloadConnection = false; if (conf.server != settings.cmbServer->currentText().trimmed()) { diff --git a/src/sendtab.cpp b/src/sendtab.cpp index 38bd5e1..d32a987 100644 --- a/src/sendtab.cpp +++ b/src/sendtab.cpp @@ -881,8 +881,8 @@ void MainWindow::sendButton() { ui->tabWidget->setCurrentIndex(0); }); - auto stickyServer = Settings::getInstance()->getSettings().stickyServer; - if(stickyServer) { + bool isStickyServerEnabled = Settings::getInstance()->getUseStickyServer(); + if(isStickyServerEnabled) { qDebug() << "Not changing servers because stickyServer=1"; } else { // After each transaction, change servers to spread out diff --git a/src/settings.cpp b/src/settings.cpp index 3389412..c0b2aa2 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -139,6 +139,7 @@ double Settings::getHUSHPrice() { double Settings::getEURPrice() { return EURPrice; } + double Settings::getBTCPrice() { return BTCPrice; } @@ -250,6 +251,22 @@ void Settings::setAllowFetchPrices(bool allow) { QSettings().setValue("options/allowfetchprices", allow); } +bool Settings::getUseStickyServer() { + return QSettings().value("connection/stickyServer", false).toBool(); +} + +void Settings::setUseStickyServer(bool allow) { + QSettings().setValue("connection/stickyServer", allow); +} + +bool Settings::getUseNoteAutomation() { + return QSettings().value("options/useNoteAutomation", true).toBool(); +} + +void Settings::setUseNoteAutomation(bool allow) { + QSettings().setValue("options/useNoteAutomation", allow); +} + QString Settings::get_currency_name() { // Load from the QT Settings. return QSettings().value("options/currency_name", false).toString(); diff --git a/src/settings.h b/src/settings.h index 376131b..30b9434 100644 --- a/src/settings.h +++ b/src/settings.h @@ -66,6 +66,12 @@ public: bool getCheckForUpdates(); void setCheckForUpdates(bool allow); + bool getUseStickyServer(); + void setUseStickyServer(bool allow); + + bool getUseNoteAutomation(); + void setUseNoteAutomation(bool allow); + QString get_theme_name(); void set_theme_name(QString theme_name); diff --git a/src/settings.ui b/src/settings.ui index 5bf80df..4eed716 100644 --- a/src/settings.ui +++ b/src/settings.ui @@ -38,7 +38,7 @@ - 1 + 0 @@ -79,6 +79,20 @@ + + + + Use Sticky Server + + + + + + + Uses a fixed server instead of random + + + @@ -87,7 +101,7 @@ 20 - 40 + 20 @@ -102,7 +116,7 @@ 80 - 110 + 190 111 25 @@ -178,11 +192,27 @@ Connect to git on startup to check for updates + + + + 10 + 110 + 200 + 23 + + + + Use Note Automation + + + true + + - 9 - 113 + 10 + 190 47 17 @@ -203,8 +233,8 @@ - 10 - 180 + 0 + 300 691 16 @@ -222,7 +252,7 @@ - 9 + 10 90 601 17 @@ -236,7 +266,7 @@ 10 - 150 + 230 61 20 @@ -258,7 +288,7 @@ 80 - 150 + 230 111 25 @@ -320,6 +350,19 @@ + + + + 10 + 140 + 601 + 17 + + + + Increases the number of zutxo for instant hushchat + +