aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/guiSQLiteStudio/dialogs/triggerdialog.cpp
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2023-04-30 18:31:18 -0400
committerLibravatarUnit 193 <unit193@unit193.net>2023-04-30 18:31:18 -0400
commit4de57f628bc74f00ba1885e91c84ea07c5405d8f (patch)
tree5d91900751e826d491ff1b2ebc571a787e84f864 /SQLiteStudio3/guiSQLiteStudio/dialogs/triggerdialog.cpp
parent74d881cefa9097e58e129e37b9c44d680d8c7dfe (diff)
parent3565aad630864ecdbe53fdaa501ea708555b3c7c (diff)
Update upstream source from tag 'upstream/3.4.4+dfsg'
Update to upstream version '3.4.4+dfsg' with Debian dir 482614bd23f0ef52dabc9803477204ad88e917ed
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/dialogs/triggerdialog.cpp')
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/dialogs/triggerdialog.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/dialogs/triggerdialog.cpp b/SQLiteStudio3/guiSQLiteStudio/dialogs/triggerdialog.cpp
index 86862e2..5091613 100644
--- a/SQLiteStudio3/guiSQLiteStudio/dialogs/triggerdialog.cpp
+++ b/SQLiteStudio3/guiSQLiteStudio/dialogs/triggerdialog.cpp
@@ -1,12 +1,10 @@
#include "triggerdialog.h"
#include "ui_triggerdialog.h"
-#include "parser/ast/sqliteselect.h"
#include "services/notifymanager.h"
#include "parser/ast/sqliteexpr.h"
#include "triggercolumnsdialog.h"
#include "common/utils_sql.h"
#include "schemaresolver.h"
-#include "parser/parser.h"
#include "iconmanager.h"
#include "db/chainexecutor.h"
#include "dbtree/dbtree.h"
@@ -208,11 +206,14 @@ void TriggerDialog::readTrigger()
if (createTrigger->queries.size() > 0)
{
QStringList sqls;
- for (SqliteQuery* query : createTrigger->queries)
+ for (SqliteQuery*& query : createTrigger->queries)
sqls << query->detokenize();
ui->codeEdit->setPlainText(sqls.join(";\n")+";");
}
+
+ rebuildTrigger();
+ originalDdl = ddl;
}
void TriggerDialog::setupVirtualSqls()
@@ -299,7 +300,7 @@ void TriggerDialog::rebuildTrigger()
if (actionType == SqliteCreateTrigger::Event::UPDATE_OF)
{
QStringList colNames;
- for (const QString& colName : selectedColumns)
+ for (QString& colName : selectedColumns)
colNames << wrapObjIfNeeded(colName);
columns = " "+colNames.join(", ");
@@ -321,7 +322,7 @@ void TriggerDialog::rebuildTrigger()
if (!scope.isNull())
scope.prepend(" ");
- ddl = tempDdl.arg(trigName).arg(when).arg(action).arg(columns).arg(target).arg(scope).arg(precondition).arg(queries);
+ ddl = tempDdl.arg(trigName, when, action, columns, target, scope, precondition, queries);
}
void TriggerDialog::updateState()
@@ -385,6 +386,12 @@ void TriggerDialog::tableChanged(const QString& newValue)
void TriggerDialog::accept()
{
rebuildTrigger();
+ if (originalDdl == ddl)
+ {
+ // Nothing changed. Just close.
+ QDialog::accept();
+ return;
+ }
QStringList sqls;
if (existingTrigger)