conf()->set(Config::syncPaused, checked);
if (m_wallet) {
if (checked) {
- m_wallet->pauseRefresh();
-
+ m_wallet->setSyncPaused(true);
+
this->setPausedSyncStatus();
} else {
- m_wallet->startRefresh();
+ m_wallet->setSyncPaused(false);
this->setStatusText(tr("Resuming sync..."));
}
}
this->updateTitle();
m_nodes->allowConnection();
if (!conf()->get(Config::disableAutoRefresh).toBool()) {
- m_nodes->connectToNode();
if (conf()->get(Config::syncPaused).toBool()) {
- m_wallet->pauseRefresh();
+ m_wallet->setSyncPaused(true);
this->setPausedSyncStatus();
}
+ m_nodes->connectToNode();
}
m_updateBytes.start(250);
}
}
m_statusBtnHwDevice->setIcon(this->hardwareDevicePairedIcon());
- m_wallet->startRefresh();
+ m_wallet->setSyncPaused(conf()->get(Config::syncPaused).toBool());
m_showDeviceError = false;
}
if (success) {
qDebug() << "init async finished - starting refresh";
- startRefresh();
+ if (!m_syncPaused) {
+ startRefresh();
+ }
}
});
if (future.first)
emit syncStatus(height, target, false);
}
+void Wallet::setSyncPaused(bool paused) {
+ m_syncPaused = paused;
+ if (paused) {
+ pauseRefresh();
+ } else {
+ startRefresh();
+ }
+}
+
void Wallet::skipToTip() {
if (!m_wallet2)
return;
quint64 daemonBlockChainTargetHeight() const;
void syncStatusUpdated(quint64 height, quint64 target);
+ void setSyncPaused(bool paused);
Q_INVOKABLE void skipToTip();
Q_INVOKABLE void syncDateRange(const QDate &start, const QDate &end);
void fullSync(); // Rescans from wallet creation height, not genesis block
std::atomic<quint64> m_stopHeight{0};
std::atomic<bool> m_rangeSyncActive{false};
+ std::atomic<bool> m_syncPaused{false};
};
#endif // FEATHER_WALLET_H