m_splashDialog->hide();
m_wallet->setRingDatabase(Utils::ringDatabasePath());
+ if (m_updateNetworkInfoAction) {
+ m_wallet->setScanMempoolWhenPaused(m_updateNetworkInfoAction->isChecked());
+ }
m_wallet->setRefreshInterval(constants::defaultRefreshInterval);
}
} 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();
}
m_connectionStatus.store(value);
- emit connectionStatusChanged(value);
+ emit connectionStatusChanged(static_cast<ConnectionStatus>(m_connectionStatus.load()));
}
bool Wallet::isSynchronized() const {
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();
+ }
}
}
});
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 {
}
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 {