diff options
| author | 2015-04-04 14:41:04 -0400 | |
|---|---|---|
| committer | 2015-04-04 14:41:04 -0400 | |
| commit | a5b034d4a9c44f9bc1e83b01de82530f8fc63013 (patch) | |
| tree | 7a358206c4aff9c33df1752c92eafec97cee2244 /SQLiteStudio3/guiSQLiteStudio/mdiarea.cpp | |
| parent | 306d6d3ca9c9ad774d19135681a7f9805f77035f (diff) | |
Imported Upstream version 3.0.4upstream/3.0.4
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/mdiarea.cpp')
| -rw-r--r-- | SQLiteStudio3/guiSQLiteStudio/mdiarea.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/mdiarea.cpp b/SQLiteStudio3/guiSQLiteStudio/mdiarea.cpp index d53874c..0d07bcb 100644 --- a/SQLiteStudio3/guiSQLiteStudio/mdiarea.cpp +++ b/SQLiteStudio3/guiSQLiteStudio/mdiarea.cpp @@ -4,6 +4,7 @@ #include "mdichild.h" #include "mdiwindow.h" #include "taskbar.h" +#include "uiconfig.h" #include <QMdiSubWindow> #include <QAction> #include <QActionGroup> @@ -35,6 +36,12 @@ MdiWindow *MdiArea::addSubWindow(MdiChild *mdiChild) if (!mdiChild->handleInitialFocus()) mdiChild->setFocus(); + if (taskBar) + { + if (taskBar->getTasks().size() == 1 && CFG_UI.General.OpenMaximized.get()) + mdiWin->setWindowState(mdiWin->windowState()|Qt::WindowMaximized); + } + emit windowListChanged(); return mdiWin; } @@ -111,12 +118,23 @@ void MdiArea::windowDestroyed(MdiWindow* window) return; QAction* action = winToActionMap[window]; + QAction* taskToSelect = nullptr; + if (!MAINWINDOW->isClosingApp()) + { + taskToSelect = taskBar->getNextTask(action); + if (!taskToSelect) + taskToSelect = taskBar->getPrevTask(action); + } + winToActionMap.remove(window); actionToWinMap.remove(action); taskBar->removeTask(action); delete action; emit windowListChanged(); + + if (taskToSelect) + taskBar->setActiveTask(taskToSelect); } void MdiArea::windowActivated() |
