aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/guiSQLiteStudio/dialogs/ddlpreviewdialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/dialogs/ddlpreviewdialog.cpp')
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/dialogs/ddlpreviewdialog.cpp58
1 files changed, 58 insertions, 0 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/dialogs/ddlpreviewdialog.cpp b/SQLiteStudio3/guiSQLiteStudio/dialogs/ddlpreviewdialog.cpp
new file mode 100644
index 0000000..e86f9cd
--- /dev/null
+++ b/SQLiteStudio3/guiSQLiteStudio/dialogs/ddlpreviewdialog.cpp
@@ -0,0 +1,58 @@
+#include "ddlpreviewdialog.h"
+#include "ui_ddlpreviewdialog.h"
+#include "services/codeformatter.h"
+#include "uiconfig.h"
+#include "sqlitestudio.h"
+#include "db/db.h"
+
+DdlPreviewDialog::DdlPreviewDialog(Db* db, QWidget *parent) :
+ QDialog(parent),
+ ui(new Ui::DdlPreviewDialog),
+ db(db)
+{
+ ui->setupUi(this);
+}
+
+DdlPreviewDialog::~DdlPreviewDialog()
+{
+ delete ui;
+}
+
+void DdlPreviewDialog::setDdl(const QString& ddl)
+{
+ QString formatted = SQLITESTUDIO->getCodeFormatter()->format("sql", ddl, db);
+ ui->ddlEdit->setPlainText(formatted);
+}
+
+void DdlPreviewDialog::setDdl(const QStringList& ddlList)
+{
+ QStringList fixedList;
+ QString newDdl;
+ foreach (const QString& ddl, ddlList)
+ {
+ newDdl = ddl.trimmed();
+ if (!newDdl.endsWith(";"))
+ newDdl.append(";");
+
+ fixedList << SQLITESTUDIO->getCodeFormatter()->format("sql", newDdl, db);
+ }
+ setDdl(fixedList.join("\n"));
+}
+
+void DdlPreviewDialog::changeEvent(QEvent *e)
+{
+ QDialog::changeEvent(e);
+ switch (e->type()) {
+ case QEvent::LanguageChange:
+ ui->retranslateUi(this);
+ break;
+ default:
+ break;
+ }
+}
+
+void DdlPreviewDialog::accept()
+{
+ CFG_UI.General.DontShowDdlPreview.set(ui->dontShowAgainCheck->isChecked());
+ QDialog::accept();
+}