From: gg Date: Wed, 21 Jan 2026 00:46:36 +0000 (-0500) Subject: wip X-Git-Url: https://git.nutra.tk/v1?a=commitdiff_plain;h=be4bfc87336c0a541b2f9bcbe62ca665ebcb55c5;p=gamesguru%2Ffeather.git wip --- diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index a3447f49..eb4db9b1 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -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(); diff --git a/src/libwalletqt/Wallet.cpp b/src/libwalletqt/Wallet.cpp index 14c11d8f..fb6e9674 100644 --- a/src/libwalletqt/Wallet.cpp +++ b/src/libwalletqt/Wallet.cpp @@ -126,7 +126,7 @@ void Wallet::setConnectionStatus(ConnectionStatus value) { } m_connectionStatus.store(value); - emit connectionStatusChanged(value); + emit connectionStatusChanged(static_cast(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 {