summaryrefslogtreecommitdiff
path: root/src/gui/widgets
diff options
context:
space:
mode:
authorJared Adams <jaxad0127@gmail.com>2010-03-01 07:46:59 -0700
committerJared Adams <jaxad0127@gmail.com>2010-03-01 13:21:52 -0700
commit452b02cb1b6e1675323d89e5f2c4946b2868a584 (patch)
tree3ea0dc67ea31d0c373f87c8dd2dc1037296845fd /src/gui/widgets
parent33b5868a46feb75bc939495c0a3650379e1e56e1 (diff)
downloadmana-client-452b02cb1b6e1675323d89e5f2c4946b2868a584.tar.gz
mana-client-452b02cb1b6e1675323d89e5f2c4946b2868a584.tar.bz2
mana-client-452b02cb1b6e1675323d89e5f2c4946b2868a584.tar.xz
mana-client-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.cpp7
-rw-r--r--src/gui/widgets/popup.h6
-rw-r--r--src/gui/widgets/window.cpp4
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)