diff options
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/mainwindow.cpp')
| -rw-r--r-- | SQLiteStudio3/guiSQLiteStudio/mainwindow.cpp | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/mainwindow.cpp b/SQLiteStudio3/guiSQLiteStudio/mainwindow.cpp index fb5c7b5..8d80277 100644 --- a/SQLiteStudio3/guiSQLiteStudio/mainwindow.cpp +++ b/SQLiteStudio3/guiSQLiteStudio/mainwindow.cpp @@ -39,6 +39,7 @@ #include "common/widgetcover.h" #include "dialogs/cssdebugdialog.h" #include "themetuner.h" +#include "services/codeformatter.h" #include <QMdiSubWindow> #include <QDebug> #include <QStyleFactory> @@ -580,6 +581,20 @@ QString MainWindow::currentStyle() const return QApplication::style()->objectName(); } +EditorWindow* MainWindow::openSqlEditor(Db* dbToSet, const QString& sql) +{ + EditorWindow* win = openSqlEditor(); + if (!win->setCurrentDb(dbToSet)) + { + qCritical() << "Created EditorWindow had not got requested database:" << dbToSet->getName(); + win->close(); + return nullptr; + } + + win->setContents(FORMATTER->format("sql", sql, dbToSet)); + return win; +} + void MainWindow::closeNonSessionWindows() { foreach (MdiWindow* window, ui->mdiArea->getWindows()) @@ -605,8 +620,18 @@ void MainWindow::refreshMdiWindows() { mdiMenu->clear(); - foreach (QAction* action, getMdiArea()->getTaskBar()->getTasks()) - mdiMenu->addAction(action); + QStringList actionNames; + QHash<QString, QAction*> nameToAction; + for (QAction* action : getMdiArea()->getTaskBar()->getTasks()) + { + actionNames << action->text(); + nameToAction[action->text()] = action; + } + + qSort(actionNames); + + for (const QString& name : actionNames) + mdiMenu->addAction(nameToAction[name]); updateWindowActions(); } |
