From 3565aad630864ecdbe53fdaa501ea708555b3c7c Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Sun, 30 Apr 2023 18:30:36 -0400 Subject: New upstream version 3.4.4+dfsg. --- .../windows/sqliteextensioneditor.cpp | 27 +++++++++++++++------- 1 file changed, 19 insertions(+), 8 deletions(-) (limited to 'SQLiteStudio3/guiSQLiteStudio/windows/sqliteextensioneditor.cpp') diff --git a/SQLiteStudio3/guiSQLiteStudio/windows/sqliteextensioneditor.cpp b/SQLiteStudio3/guiSQLiteStudio/windows/sqliteextensioneditor.cpp index 4351312..f8dd621 100644 --- a/SQLiteStudio3/guiSQLiteStudio/windows/sqliteextensioneditor.cpp +++ b/SQLiteStudio3/guiSQLiteStudio/windows/sqliteextensioneditor.cpp @@ -9,13 +9,14 @@ #include "uiconfig.h" #include "db/db.h" #include "services/dbmanager.h" -#include "services/notifymanager.h" #include "common/lazytrigger.h" #include "common/compatibility.h" #include #include #include +CFG_KEYS_DEFINE(SqliteExtensionEditor) + SqliteExtensionEditor::SqliteExtensionEditor(QWidget *parent) : MdiChild(parent), ui(new Ui::SqliteExtensionEditor) @@ -36,7 +37,7 @@ bool SqliteExtensionEditor::restoreSessionNextTime() bool SqliteExtensionEditor::isUncommitted() const { - return model->isModified(); + return model->isModified() || currentModified; } QString SqliteExtensionEditor::getQuitUncommittedConfirmMessage() const @@ -67,17 +68,20 @@ QString SqliteExtensionEditor::getTitleForMdiWindow() void SqliteExtensionEditor::createActions() { - createAction(COMMIT, ICONS.COMMIT, tr("Commit all extension changes"), this, SLOT(commit()), ui->toolbar); - createAction(ROLLBACK, ICONS.ROLLBACK, tr("Rollback all extension changes"), this, SLOT(rollback()), ui->toolbar); + createAction(COMMIT, ICONS.COMMIT, tr("Commit all extension changes"), this, SLOT(commit()), ui->toolbar, this); + createAction(ROLLBACK, ICONS.ROLLBACK, tr("Rollback all extension changes"), this, SLOT(rollback()), ui->toolbar, this); ui->toolbar->addSeparator(); - createAction(ADD, ICONS.EXTENSION_ADD, tr("Add new extension"), this, SLOT(newExtension()), ui->toolbar); - createAction(DELETE, ICONS.EXTENSION_DELETE, tr("Remove selected extension"), this, SLOT(deleteExtension()), ui->toolbar); + createAction(ADD, ICONS.EXTENSION_ADD, tr("Add new extension"), this, SLOT(newExtension()), ui->toolbar, this); + createAction(DELETE, ICONS.EXTENSION_DELETE, tr("Remove selected extension"), this, SLOT(deleteExtension()), ui->toolbar, this); ui->toolbar->addSeparator(); - createAction(HELP, ICONS.HELP, tr("Editing extensions manual"), this, SLOT(help()), ui->toolbar); + createAction(HELP, ICONS.HELP, tr("Editing extensions manual"), this, SLOT(help()), ui->toolbar, this); } void SqliteExtensionEditor::setupDefShortcuts() { + // Widget context + setShortcutContext({COMMIT, ROLLBACK}, Qt::WidgetWithChildrenShortcut); + BIND_SHORTCUTS(SqliteExtensionEditor, Action); } QToolBar* SqliteExtensionEditor::getToolBar(int toolbar) const @@ -224,6 +228,13 @@ bool SqliteExtensionEditor::validateExtension(int row) return validateExtension(filePath, initFunc, nullptr, nullptr, new QString); } +bool SqliteExtensionEditor::validateCurrentExtension() +{ + QString filePath = ui->fileEdit->text(); + QString initFunc = ui->initEdit->text(); + return validateExtension(filePath, initFunc, nullptr, nullptr, new QString); +} + bool SqliteExtensionEditor::validateExtension(const QString& filePath, const QString& initFunc, bool* fileOk, bool* initOk, QString* fileError) { bool localFileOk = true; @@ -326,7 +337,7 @@ void SqliteExtensionEditor::deleteExtension() void SqliteExtensionEditor::updateState() { bool modified = model->isModified() || currentModified; - bool valid = model->isValid(); + bool valid = model->isValid() && validateCurrentExtension(); actionMap[COMMIT]->setEnabled(modified && valid); actionMap[ROLLBACK]->setEnabled(modified); -- cgit v1.2.3