diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-07-24 12:49:26 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-07-24 12:49:26 +0300 |
commit | 56bbd3eb0a8a17a02b436488555e2910d2775f10 (patch) | |
tree | 5debc16538652fff8673472c7acbdb110eb6d862 | |
parent | 9c36b0237767cc42bfc74d77935f229f139a6663 (diff) | |
download | manaplus-56bbd3eb0a8a17a02b436488555e2910d2775f10.tar.gz manaplus-56bbd3eb0a8a17a02b436488555e2910d2775f10.tar.bz2 manaplus-56bbd3eb0a8a17a02b436488555e2910d2775f10.tar.xz manaplus-56bbd3eb0a8a17a02b436488555e2910d2775f10.zip |
Fix hide windows action (default key H)
Now it hide all non dialog windows.
-rw-r--r-- | src/actionmanager.cpp | 28 | ||||
-rw-r--r-- | src/gui/windows/setupwindow.cpp | 11 | ||||
-rw-r--r-- | src/gui/windows/setupwindow.h | 2 |
3 files changed, 14 insertions, 27 deletions
diff --git a/src/actionmanager.cpp b/src/actionmanager.cpp index 08e88c0fc..567bb0647 100644 --- a/src/actionmanager.cpp +++ b/src/actionmanager.cpp @@ -651,34 +651,8 @@ impHandler0(sit) impHandler0(hideWindows) { - if (statusWindow) - statusWindow->setVisible(false); - if (inventoryWindow) - inventoryWindow->setVisible(false); - if (shopWindow) - shopWindow->setVisible(false); - if (skillDialog) - skillDialog->setVisible(false); if (setupWindow) - setupWindow->setVisible(false); - if (equipmentWindow) - equipmentWindow->setVisible(false); - if (helpWindow) - helpWindow->setVisible(false); - if (debugWindow) - debugWindow->setVisible(false); - if (outfitWindow) - outfitWindow->setVisible(false); - if (dropShortcutWindow) - dropShortcutWindow->setVisible(false); - if (spellShortcutWindow) - spellShortcutWindow->setVisible(false); - if (botCheckerWindow) - botCheckerWindow->setVisible(false); - if (socialWindow) - socialWindow->setVisible(false); - if (questsWindow) - questsWindow->setVisible(false); + setupWindow->hideWindows(); return true; } diff --git a/src/gui/windows/setupwindow.cpp b/src/gui/windows/setupwindow.cpp index 93556ab08..07a4b776a 100644 --- a/src/gui/windows/setupwindow.cpp +++ b/src/gui/windows/setupwindow.cpp @@ -255,6 +255,17 @@ void SetupWindow::unregisterWindowForReset(Window *const window) } } +void SetupWindow::hideWindows() +{ + FOR_EACH (std::list<Window*>::const_iterator, it, mWindowsToReset) + { + Window *const window = *it; + if (window) + window->setVisible(false); + } + setVisible(false); +} + void SetupWindow::doCancel() { setVisible(false); diff --git a/src/gui/windows/setupwindow.h b/src/gui/windows/setupwindow.h index 40e820fcf..d386b365e 100644 --- a/src/gui/windows/setupwindow.h +++ b/src/gui/windows/setupwindow.h @@ -64,6 +64,8 @@ class SetupWindow final : public Window, void unregisterWindowForReset(Window *const window); + void hideWindows(); + void clearWindowsForReset() { mWindowsToReset.clear(); } |