From c2e335e439cc8cf6a8aedf139faf9ca020630219 Mon Sep 17 00:00:00 2001 From: tobtoht Date: Thu, 31 Dec 2020 07:54:19 +0100 Subject: [PATCH] Clear all tables when wallet is closed --- src/coinswidget.cpp | 4 ++++ src/coinswidget.h | 3 +++ src/contactswidget.cpp | 5 +++++ src/contactswidget.h | 1 + src/mainwindow.cpp | 4 ++++ src/receivewidget.cpp | 4 ++++ src/receivewidget.h | 1 + 7 files changed, 22 insertions(+) diff --git a/src/coinswidget.cpp b/src/coinswidget.cpp index e5897b6..f6dac9d 100644 --- a/src/coinswidget.cpp +++ b/src/coinswidget.cpp @@ -206,6 +206,10 @@ void CoinsWidget::onSweepOutput() { dialog->deleteLater(); } +void CoinsWidget::resetModel() { + ui->coins->setModel(nullptr); +} + void CoinsWidget::copy(copyField field) { QModelIndex index = ui->coins->currentIndex(); int row = m_proxyModel->mapToSource(index).row(); diff --git a/src/coinswidget.h b/src/coinswidget.h index a92e272..a2b3365 100644 --- a/src/coinswidget.h +++ b/src/coinswidget.h @@ -25,6 +25,9 @@ public: void setModel(CoinsModel * model, Coins * coins); ~CoinsWidget() override; +public slots: + void resetModel(); + private slots: void showHeaderMenu(const QPoint& position); void setShowSpent(bool show); diff --git a/src/contactswidget.cpp b/src/contactswidget.cpp index 0e18371..39a8437 100644 --- a/src/contactswidget.cpp +++ b/src/contactswidget.cpp @@ -90,6 +90,11 @@ void ContactsWidget::setSearchFilter(const QString &filter) { m_proxyModel->setSearchFilter(filter); } +void ContactsWidget::resetModel() +{ + ui->contacts->setModel(nullptr); +} + void ContactsWidget::showHeaderMenu(const QPoint& position) { m_showFullAddressesAction->setChecked(m_model->isShowFullAddresses()); diff --git a/src/contactswidget.h b/src/contactswidget.h index 409cc47..4035773 100644 --- a/src/contactswidget.h +++ b/src/contactswidget.h @@ -32,6 +32,7 @@ public slots: void deleteContact(); void setShowFullAddresses(bool show); void setSearchFilter(const QString &filter); + void resetModel(); signals: void fillAddress(QString &address); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 25cf126..6ec3d31 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -334,7 +334,11 @@ MainWindow::MainWindow(AppContext *ctx, QWidget *parent) : else ui->tabWidget->setCurrentIndex(Tabs::HOME); + // Clear all tables when wallet is closed ui->historyWidget->resetModel(); + ui->contactWidget->resetModel(); + ui->receiveWidget->resetModel(); + ui->coinsWidget->resetModel(); }); // window title diff --git a/src/receivewidget.cpp b/src/receivewidget.cpp index fe291bf..748fa58 100644 --- a/src/receivewidget.cpp +++ b/src/receivewidget.cpp @@ -103,6 +103,10 @@ void ReceiveWidget::onShowTransactions() { emit showTransactions(address); } +void ReceiveWidget::resetModel() { + ui->addresses->setModel(nullptr); +} + void ReceiveWidget::setShowFullAddresses(bool show) { if (!m_model) return; m_model->setShowFullAddresses(show); diff --git a/src/receivewidget.h b/src/receivewidget.h index be61a72..035eb2c 100644 --- a/src/receivewidget.h +++ b/src/receivewidget.h @@ -36,6 +36,7 @@ public slots: void setShowUsedAddresses(bool show); void setSearchFilter(const QString &filter); void onShowTransactions(); + void resetModel(); signals: void generateSubaddress();