From f3af5f96c82044769ac2d1194cfa1ea0aca17bf5 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Tue, 10 Nov 2015 21:58:08 +0300 Subject: Add close button to all shortcuts windows. --- src/gui/popups/popupmenu.cpp | 2 +- src/gui/widgets/window.cpp | 5 ++++- src/gui/widgets/window.h | 7 +++++++ src/gui/windows/shortcutwindow.cpp | 2 ++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/gui/popups/popupmenu.cpp b/src/gui/popups/popupmenu.cpp index d9d3999c1..d183dcdca 100644 --- a/src/gui/popups/popupmenu.cpp +++ b/src/gui/popups/popupmenu.cpp @@ -983,7 +983,7 @@ void PopupMenu::addWindowMenu(Window *const window) if (!window) return; - if (window->getCloseButton()) + if (window->getAlowClose()) { // TRANSLATORS: popup menu item // TRANSLATORS: close window diff --git a/src/gui/widgets/window.cpp b/src/gui/widgets/window.cpp index cd8da96bf..471b273be 100644 --- a/src/gui/widgets/window.cpp +++ b/src/gui/widgets/window.cpp @@ -157,7 +157,8 @@ Window::Window(const std::string &caption, mStickyButtonLock(false), mPlayVisibleSound(false), mInit(false), - mTextChanged(true) + mTextChanged(true), + mAllowClose(false) { logger->log("Window::Window(\"%s\")", caption.c_str()); @@ -722,6 +723,8 @@ void Window::widgetHidden(const Event &event A_UNUSED) void Window::setCloseButton(const bool flag) { mCloseWindowButton = flag; + if (flag) + mAllowClose = true; } bool Window::isResizable() const diff --git a/src/gui/widgets/window.h b/src/gui/widgets/window.h index 07ff9bf94..ec0ce8b43 100644 --- a/src/gui/widgets/window.h +++ b/src/gui/widgets/window.h @@ -181,6 +181,12 @@ class Window notfinal : public BasicContainer2, bool getCloseButton() const A_WARN_UNUSED { return mCloseWindowButton; } + void setAllowClose(const bool b) + { mAllowClose = b; } + + bool getAlowClose() const A_WARN_UNUSED + { return mCloseWindowButton || mAllowClose; } + /** * Returns whether the window can be resized. */ @@ -711,6 +717,7 @@ class Window notfinal : public BasicContainer2, bool mPlayVisibleSound; bool mInit; bool mTextChanged; + bool mAllowClose; }; #endif // GUI_WIDGETS_WINDOW_H diff --git a/src/gui/windows/shortcutwindow.cpp b/src/gui/windows/shortcutwindow.cpp index df9aced4c..f463b5526 100644 --- a/src/gui/windows/shortcutwindow.cpp +++ b/src/gui/windows/shortcutwindow.cpp @@ -64,6 +64,7 @@ ShortcutWindow::ShortcutWindow(const std::string &restrict title, setResizable(true); setDefaultVisible(false); setSaveVisible(true); + setAllowClose(true); mDragOffsetX = 0; mDragOffsetY = 0; @@ -123,6 +124,7 @@ ShortcutWindow::ShortcutWindow(const std::string &restrict title, setResizable(true); setDefaultVisible(false); setSaveVisible(true); + setAllowClose(true); mDragOffsetX = 0; mDragOffsetY = 0; -- cgit v1.2.3-60-g2f50