diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index 98d4af07..e5c459c9 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -967,6 +967,8 @@ void MainWindow::closeEvent( QCloseEvent* event ) Settings::setValue("SchemaDock", "dropQualifiedNames", ui->actionDropQualifiedCheck->isChecked()); Settings::setValue("SchemaDock", "dropEnquotedNames", ui->actionEnquoteNamesCheck->isChecked()); + SqlExecutionArea::saveState(); + QMainWindow::closeEvent(event); } else { event->ignore(); diff --git a/src/SqlExecutionArea.cpp b/src/SqlExecutionArea.cpp index ca492d13..16764ba2 100644 --- a/src/SqlExecutionArea.cpp +++ b/src/SqlExecutionArea.cpp @@ -57,10 +57,6 @@ SqlExecutionArea::SqlExecutionArea(DBBrowserDB& _db, QWidget* parent) : SqlExecutionArea::~SqlExecutionArea() { - // Save to disk last stored splitter sizes - Settings::setValue("editor", "splitter1_sizes", Settings::getValue("editor", "splitter1_sizes")); - Settings::setValue("editor", "splitter2_sizes", Settings::getValue("editor", "splitter1_sizes")); - delete ui; } @@ -306,3 +302,10 @@ void SqlExecutionArea::fileChanged(const QString& filename) ui->editEditor->setModified(true); } } + +void SqlExecutionArea::saveState() { + + // Save to disk last stored splitter sizes + Settings::setValue("editor", "splitter1_sizes", Settings::getValue("editor", "splitter1_sizes")); + Settings::setValue("editor", "splitter2_sizes", Settings::getValue("editor", "splitter1_sizes")); +} diff --git a/src/SqlExecutionArea.h b/src/SqlExecutionArea.h index 3a7a8301..142cecc3 100644 --- a/src/SqlExecutionArea.h +++ b/src/SqlExecutionArea.h @@ -39,6 +39,9 @@ public: bool inErrorState() const { return error_state; } + // Save window state to settings + static void saveState(); + public slots: void finishExecution(const QString& result, const bool ok); void saveAsCsv();