]> Nutra Git (v2) - gamesguru/feather.git/commitdiff
wip
authorgg <chown_tee@proton.me>
Wed, 21 Jan 2026 00:46:36 +0000 (19:46 -0500)
committergg <chown_tee@proton.me>
Wed, 21 Jan 2026 00:46:36 +0000 (19:46 -0500)
src/MainWindow.cpp
src/libwalletqt/Wallet.cpp

index a3447f49abd2da4aaa5aa05e82d1cf5c37c50a57..eb4db9b1afe0955a86175f7396b862fa8df02483 100644 (file)
@@ -754,6 +754,9 @@ void MainWindow::onWalletOpened() {
     m_splashDialog->hide();
 
     m_wallet->setRingDatabase(Utils::ringDatabasePath());
+    if (m_updateNetworkInfoAction) {
+        m_wallet->setScanMempoolWhenPaused(m_updateNetworkInfoAction->isChecked());
+    }
 
     m_wallet->setRefreshInterval(constants::defaultRefreshInterval);
 
@@ -1117,7 +1120,7 @@ void MainWindow::onConnectionStatusChanged(int status)
                     }
                 } else {
                     // "True Idle" - just waiting, no network activity
-                    icon = icons()->icon("status_waiting.svg");
+                    icon = icons()->icon("status_offline.svg");
                 }
                 statusStr = this->getPausedStatusText();
                 m_statusLabelNetStats->hide();
index 14c11d8f1104312fc57fc3c1be246914590cae06..fb6e96740ad8ea59d5e8342bcf413324e8e92623 100644 (file)
@@ -126,7 +126,7 @@ void Wallet::setConnectionStatus(ConnectionStatus value) {
     }
 
     m_connectionStatus.store(value);
-    emit connectionStatusChanged(value);
+    emit connectionStatusChanged(static_cast<ConnectionStatus>(m_connectionStatus.load()));
 }
 
 bool Wallet::isSynchronized() const {
@@ -467,13 +467,18 @@ void Wallet::initAsync(const QString &daemonAddress, bool trustedDaemon, quint64
         if (success) {
             qInfo() << "init async finished - starting refresh. Paused:" << m_syncPaused;
 
-            // Fetch initial heights so UI can update even if paused
-            quint64 daemonHeight = m_walletImpl->daemonBlockChainHeight();
-            quint64 targetHeight = m_walletImpl->daemonBlockChainTargetHeight();
-            emit heightsRefreshed(daemonHeight > 0, daemonHeight, targetHeight);
-
-            if (!m_syncPaused) {
-                startRefresh();
+            if (m_syncPaused && !m_scanMempoolWhenPaused) {
+                m_wallet2->set_offline(true);
+                setConnectionStatus(ConnectionStatus_Disconnected);
+            } else {
+                // Fetch initial heights so UI can update even if paused
+                quint64 daemonHeight = m_walletImpl->daemonBlockChainHeight();
+                quint64 targetHeight = m_walletImpl->daemonBlockChainTargetHeight();
+                emit heightsRefreshed(daemonHeight > 0, daemonHeight, targetHeight);
+
+                if (!m_syncPaused) {
+                    startRefresh();
+                }
             }
         }
     });
@@ -618,7 +623,10 @@ void Wallet::startRefreshThread()
                             if (m_walletImpl->blockChainHeight() >= m_stopHeight) {
                                 m_rangeSyncActive = false;
                                 if (m_syncPaused) {
-                                    setConnectionStatus(ConnectionStatus_Idle);
+                                    if (m_scanMempoolWhenPaused)
+                                        setConnectionStatus(ConnectionStatus_Idle);
+                                    else
+                                        setConnectionStatus(ConnectionStatus_Disconnected);
                                 }
                             }
                         } else {
@@ -652,7 +660,10 @@ void Wallet::onHeightsRefreshed(bool success, quint64 daemonHeight, quint64 targ
         }
 
         if (m_syncPaused && !m_rangeSyncActive) {
-            setConnectionStatus(ConnectionStatus_Idle);
+            if (m_scanMempoolWhenPaused)
+                setConnectionStatus(ConnectionStatus_Idle);
+            else
+                setConnectionStatus(ConnectionStatus_Disconnected);
         } else if (walletHeight < targetHeight) {
             setConnectionStatus(ConnectionStatus_Synchronizing);
         } else {