From 6de842598505fe9e05bb71927a2a40859825878f Mon Sep 17 00:00:00 2001 From: Martin Kleusberg Date: Thu, 23 May 2013 18:09:09 +0200 Subject: [PATCH] VacuumDialog: Fix dialog after savepoint change Call saveAll() in the VacuumDialog to make sure to release all savepoints. Also cancel the dialog when no object was select but the OK button clicked. This avoids an unnecessary DB reload in the main window. --- src/VacuumDialog.cpp | 5 ++--- src/VacuumDialog.h | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/VacuumDialog.cpp b/src/VacuumDialog.cpp index c82d00fc..c00aa930 100644 --- a/src/VacuumDialog.cpp +++ b/src/VacuumDialog.cpp @@ -38,12 +38,12 @@ VacuumDialog::~VacuumDialog() void VacuumDialog::accept() { if(ui->treeSelectedObjects->selectedItems().count() == 0) - QDialog::accept(); + return QDialog::reject(); QApplication::setOverrideCursor(Qt::WaitCursor); // Commit all changes first - db->save(); + db->saveAll(); // All items selected? if(ui->treeSelectedObjects->selectedItems().count() == ui->treeSelectedObjects->topLevelItemCount()) @@ -57,7 +57,6 @@ void VacuumDialog::accept() db->executeSQL(QString("VACUUM `%1`;").arg(item->text(0)), false); } - db->setDirty(false); QApplication::restoreOverrideCursor(); QDialog::accept(); } diff --git a/src/VacuumDialog.h b/src/VacuumDialog.h index e5e03726..bff430a2 100644 --- a/src/VacuumDialog.h +++ b/src/VacuumDialog.h @@ -12,11 +12,11 @@ class DBBrowserDB; class VacuumDialog : public QDialog { Q_OBJECT - + public: explicit VacuumDialog(DBBrowserDB* _db, QWidget* parent = 0); ~VacuumDialog(); - + private: Ui::VacuumDialog* ui; DBBrowserDB* db;