diff options
| author | 2015-04-04 14:41:10 -0400 | |
|---|---|---|
| committer | 2015-04-04 14:41:10 -0400 | |
| commit | b5f93b05578293d1d233b4920a28a5c2fd826f94 (patch) | |
| tree | 82332679f647e9c76e331206786d07a58dcfa9b8 /SQLiteStudio3/guiSQLiteStudio/mdiarea.cpp | |
| parent | af8a7a3e3dccf9c9ad257e3952173d180c8a7421 (diff) | |
| parent | a5b034d4a9c44f9bc1e83b01de82530f8fc63013 (diff) | |
Merge tag 'upstream/3.0.4'
Upstream version 3.0.4
# gpg: Signature made Sat 04 Apr 2015 02:41:09 PM EDT using RSA key ID EBE9BD91
# gpg: Good signature from "Unit 193 <unit193@gmail.com>"
# gpg: aka "Unit 193 <unit193@ninthfloor.org>"
# gpg: aka "Unit 193 <unit193@ubuntu.com>"
# gpg: aka "Unit 193 <unit193@ninthfloor.com>"
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() |
