]> Nutra Git (v2) - gamesguru/feather.git/commitdiff
more statusbar refinements/configs
authorgg <chown_tee@proton.me>
Thu, 15 Jan 2026 04:18:21 +0000 (23:18 -0500)
committergg <chown_tee@proton.me>
Thu, 15 Jan 2026 04:18:21 +0000 (23:18 -0500)
src/MainWindow.cpp
src/SettingsDialog.cpp
src/utils/config.cpp
src/widgets/TickerWidget.cpp

index 3cd283257c4241b094789bc29eadddcb306838be..4ea0a9a41e69e7b2e1d7303c84b4653b504aec02 100644 (file)
@@ -820,12 +820,16 @@ void MainWindow::onBalanceUpdated(quint64 balance, quint64 spendable) {
         QString fiatCurrency = conf()->get(Config::preferredFiatCurrency).toString();
         double balanceFiatAmount = appData()->prices.convert("XMR", fiatCurrency, balance / constants::cdiv);
         bool isCacheValid = appData()->prices.lastUpdateTime.isValid();
+        bool hasXmrPrice = appData()->prices.markets.contains("XMR");
+        bool hasFiatRate = fiatCurrency == "USD" || appData()->prices.rates.contains(fiatCurrency);
 
         if (balance > 0 && (balanceFiatAmount == 0.0 || !isCacheValid)) {
             if (conf()->get(Config::offlineMode).toBool() || conf()->get(Config::disableWebsocket).toBool() || m_wallet->connectionStatus() == Wallet::ConnectionStatus_Disconnected) {
                 suffixStr += " (offline)";
-            } else {
+            } else if (!hasXmrPrice || !hasFiatRate) {
                 suffixStr += " (connecting)";
+            } else {
+                suffixStr += " (unknown)";
             }
         } else {
             QString approx = !conf()->get(Config::disableWebsocket).toBool() ? "" : "~ ";
index e47963b8ece9278e0082e1ff374ef27875d44a9b..dd6bea50a260126844c3eac8d2dfa2d962478b8e 100644 (file)
@@ -242,9 +242,10 @@ void Settings::setupNetworkTab() {
             seconds = text.split(" ").first().toInt(&ok);
             if (!ok) return;
         }
-        if (seconds 0) {
-            conf()->set(Config::syncInterval, seconds);
+        if (seconds < 30) {
+            seconds = 30;
         }
+        conf()->set(Config::syncInterval, seconds);
     };
 
     connect(comboSyncInterval, &QComboBox::currentTextChanged, updateConfig);
index c7b93b9466bf254d5d1050b4845b699e5dfa6c04..bfb5c42123a422fe1cd79d5f7a7610906777cc7a 100644 (file)
@@ -81,7 +81,7 @@ static const QHash<Config::ConfigKey, ConfigDirective> configStrings = {
         {Config::offlineMode, {QS("offlineMode"), false}},
         {Config::syncPaused, {QS("syncPaused"), false}},
         {Config::syncPausedAlsoDisconnectWebSocket, {QS("syncPausedAlsoDisconnectWebSocket"), false}},
-        {Config::syncInterval, {QS("syncInterval"), 10}},
+        {Config::syncInterval, {QS("syncInterval"), 30}},
         {Config::lastKnownNetworkHeight, {QS("lastKnownNetworkHeight"), 0}},
         {Config::lastSyncTimestamp, {QS("lastSyncTimestamp"), 0}},
         {Config::lastPriceUpdateTimestamp, {QS("lastPriceUpdateTimestamp"), 0}},
index 8c727eb7fdf80387d757701d2e6a322f4f273a9a..2276c1a470da1d9462462ae0ece0b2ddf807a251 100644 (file)
@@ -78,10 +78,13 @@ void BalanceTickerWidget::updateDisplay() {
     bool isCacheValid = appData()->prices.lastUpdateTime.isValid();
     bool isCacheFresh = isCacheValid && appData()->prices.lastUpdateTime.secsTo(QDateTime::currentDateTime()) < 3600;
 
+    bool hasXmrPrice = appData()->prices.markets.contains("XMR");
+    bool hasFiatRate = fiatCurrency == "USD" || appData()->prices.rates.contains(fiatCurrency);
+
     if (balanceFiatAmount == 0.0 || !isCacheValid) {
         if (conf()->get(Config::offlineMode).toBool() || conf()->get(Config::disableWebsocket).toBool() || m_wallet->connectionStatus() == Wallet::ConnectionStatus_Disconnected) {
             this->setDisplayText("offline");
-        } else if (!appData()->prices.markets.contains("XMR")) {
+        } else if (!hasXmrPrice || !hasFiatRate) {
             this->setDisplayText("connecting");
         } else {
             this->setDisplayText("unknown");