diff options
author | Jared Adams <jaxad0127@gmail.com> | 2010-03-01 07:46:59 -0700 |
---|---|---|
committer | Jared Adams <jaxad0127@gmail.com> | 2010-03-01 13:21:52 -0700 |
commit | 452b02cb1b6e1675323d89e5f2c4946b2868a584 (patch) | |
tree | 3ea0dc67ea31d0c373f87c8dd2dc1037296845fd /src/gui/widgets | |
parent | 33b5868a46feb75bc939495c0a3650379e1e56e1 (diff) | |
download | mana-452b02cb1b6e1675323d89e5f2c4946b2868a584.tar.gz mana-452b02cb1b6e1675323d89e5f2c4946b2868a584.tar.bz2 mana-452b02cb1b6e1675323d89e5f2c4946b2868a584.tar.xz mana-452b02cb1b6e1675323d89e5f2c4946b2868a584.zip |
Hide BeingPopup when mouseover Windows
Reviewed-by: Thorbjørn Lindeijer
Reviewed-by: Chuck Miller
Diffstat (limited to 'src/gui/widgets')
-rw-r--r-- | src/gui/widgets/popup.cpp | 7 | ||||
-rw-r--r-- | src/gui/widgets/popup.h | 6 | ||||
-rw-r--r-- | src/gui/widgets/window.cpp | 4 |
3 files changed, 16 insertions, 1 deletions
diff --git a/src/gui/widgets/popup.cpp b/src/gui/widgets/popup.cpp index 391b0eed..970b21ec 100644 --- a/src/gui/widgets/popup.cpp +++ b/src/gui/widgets/popup.cpp @@ -27,6 +27,7 @@ #include "log.h" #include "gui/skin.h" +#include "gui/viewport.h" #include "gui/widgets/windowcontainer.h" @@ -186,3 +187,9 @@ void Popup::position(int x, int y) setVisible(true); requestMoveToTop(); } + +void Popup::mouseMoved(gcn::MouseEvent &event) +{ + if (viewport) + viewport->hideBeingPopup(); +} diff --git a/src/gui/widgets/popup.h b/src/gui/widgets/popup.h index 207a9857..5c9164f6 100644 --- a/src/gui/widgets/popup.h +++ b/src/gui/widgets/popup.h @@ -28,6 +28,8 @@ #include "gui/widgets/container.h" +#include <guichan/mouselistener.hpp> + class Skin; class WindowContainer; @@ -43,7 +45,7 @@ class WindowContainer; * * \ingroup GUI */ -class Popup : public Container +class Popup : public Container, public gcn::MouseListener { public: /** @@ -94,6 +96,8 @@ class Popup : public Container */ void setLocationRelativeTo(gcn::Widget *widget); + void mouseMoved(gcn::MouseEvent &event); + /** * Sets the minimum width of the popup. */ diff --git a/src/gui/widgets/window.cpp b/src/gui/widgets/window.cpp index 8505f552..83c918cf 100644 --- a/src/gui/widgets/window.cpp +++ b/src/gui/widgets/window.cpp @@ -27,6 +27,7 @@ #include "gui/gui.h" #include "gui/palette.h" #include "gui/skin.h" +#include "gui/viewport.h" #include "gui/widgets/layout.h" #include "gui/widgets/resizegrip.h" @@ -430,6 +431,9 @@ void Window::mouseMoved(gcn::MouseEvent &event) default: gui->setCursorType(Gui::CURSOR_POINTER); } + + if (viewport) + viewport->hideBeingPopup(); } void Window::mouseDragged(gcn::MouseEvent &event) |