Save splitter sizes of the Execute SQL areas to disk under request

Saving cannot be done in the class destructor, since it seems that the
sizes have already change in that moment. Now they are saved under request
of the Main Window at the same time when the Main Window state is saved.

See issue #1889.
This commit is contained in:
mgrojo
2019-05-19 13:45:56 +02:00
parent 59b55ac436
commit 512f7eeeab
3 changed files with 12 additions and 4 deletions

View File

@@ -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();

View File

@@ -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"));
}

View File

@@ -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();