Don't allow manually storing wallet during synchronization

This commit is contained in:
tobtoht 2021-08-14 16:53:22 +02:00
parent 3eca0bad87
commit 1e6832c184
2 changed files with 12 additions and 1 deletions

View file

@ -236,7 +236,7 @@ void MainWindow::initMenu() {
connect(ui->actionViewOnly, &QAction::triggered, this, &MainWindow::showViewOnlyDialog); connect(ui->actionViewOnly, &QAction::triggered, this, &MainWindow::showViewOnlyDialog);
// [Wallet] -> [Advanced] // [Wallet] -> [Advanced]
connect(ui->actionStore_wallet, &QAction::triggered, [this]{m_ctx->wallet->store();}); connect(ui->actionStore_wallet, &QAction::triggered, this, &MainWindow::tryStoreWallet);
connect(ui->actionUpdate_balance, &QAction::triggered, [this]{m_ctx->updateBalance();}); connect(ui->actionUpdate_balance, &QAction::triggered, [this]{m_ctx->updateBalance();});
connect(ui->actionRefresh_tabs, &QAction::triggered, [this]{m_ctx->refreshModels();}); connect(ui->actionRefresh_tabs, &QAction::triggered, [this]{m_ctx->refreshModels();});
connect(ui->actionRescan_spent, &QAction::triggered, this, &MainWindow::rescanSpent); connect(ui->actionRescan_spent, &QAction::triggered, this, &MainWindow::rescanSpent);
@ -530,6 +530,16 @@ void MainWindow::setStatusText(const QString &text, bool override, int timeout)
} }
} }
void MainWindow::tryStoreWallet() {
if (m_ctx->wallet->connectionStatus() == Wallet::ConnectionStatus::ConnectionStatus_Synchronizing) {
QMessageBox::warning(this, "Save wallet", "Unable to save wallet during synchronization.\n\n"
"Wait until synchronization is finished and try again.");
return;
}
m_ctx->wallet->store();
}
void MainWindow::onSynchronized() { void MainWindow::onSynchronized() {
this->updateNetStats(); this->updateNetStats();
this->setStatusText("Synchronized"); this->setStatusText("Synchronized");

View file

@ -180,6 +180,7 @@ private slots:
void onUpdatesAvailable(const QJsonObject &updates); void onUpdatesAvailable(const QJsonObject &updates);
void toggleSearchbar(bool enabled); void toggleSearchbar(bool enabled);
void onSetStatusText(const QString &text); void onSetStatusText(const QString &text);
void tryStoreWallet();
private: private:
friend WindowManager; friend WindowManager;