diff options
author | Erik Schilling <ablu.erikschilling@googlemail.com> | 2011-09-18 02:39:48 +0800 |
---|---|---|
committer | Erik Schilling <ablu.erikschilling@googlemail.com> | 2011-09-29 01:22:43 +0800 |
commit | 48fb6a6a345ae091c78a119795f7716102126241 (patch) | |
tree | 731162c4616e769b05761f6421d8a28a8bb5b2b4 | |
parent | b912a0c991cb0b1e02009d6bb2c9dffd2fa84d3a (diff) | |
download | mana-48fb6a6a345ae091c78a119795f7716102126241.tar.gz mana-48fb6a6a345ae091c78a119795f7716102126241.tar.bz2 mana-48fb6a6a345ae091c78a119795f7716102126241.tar.xz mana-48fb6a6a345ae091c78a119795f7716102126241.zip |
Fixed item popup still visible after closing inventory window.
Reviewed-by: Bertram.
-rw-r--r-- | src/gui/inventorywindow.cpp | 6 | ||||
-rw-r--r-- | src/gui/inventorywindow.h | 5 | ||||
-rw-r--r-- | src/gui/widgets/itemcontainer.cpp | 5 | ||||
-rw-r--r-- | src/gui/widgets/itemcontainer.h | 2 | ||||
-rw-r--r-- | src/gui/widgets/window.h | 2 |
5 files changed, 19 insertions, 1 deletions
diff --git a/src/gui/inventorywindow.cpp b/src/gui/inventorywindow.cpp index 0dbeb352..2a899fe2 100644 --- a/src/gui/inventorywindow.cpp +++ b/src/gui/inventorywindow.cpp @@ -237,6 +237,12 @@ Item *InventoryWindow::getSelectedItem() const return mItems->getSelectedItem(); } +void InventoryWindow::widgetHidden(const gcn::Event &event) +{ + Window::widgetHidden(event); + mItems->hidePopup(); +} + void InventoryWindow::mouseClicked(gcn::MouseEvent &event) { Window::mouseClicked(event); diff --git a/src/gui/inventorywindow.h b/src/gui/inventorywindow.h index ebd2be22..2a6131a2 100644 --- a/src/gui/inventorywindow.h +++ b/src/gui/inventorywindow.h @@ -67,6 +67,11 @@ class InventoryWindow : public Window, Item* getSelectedItem() const; /** + * Handles closing of the window + */ + virtual void widgetHidden(const gcn::Event &event); + + /** * Handles the mouse clicks. */ void mouseClicked(gcn::MouseEvent &event); diff --git a/src/gui/widgets/itemcontainer.cpp b/src/gui/widgets/itemcontainer.cpp index 2cd0fa23..546a16d2 100644 --- a/src/gui/widgets/itemcontainer.cpp +++ b/src/gui/widgets/itemcontainer.cpp @@ -228,6 +228,11 @@ void ItemContainer::distributeValueChangedEvent() } } +void ItemContainer::hidePopup() +{ + mItemPopup->setVisible(false); +} + void ItemContainer::keyPressed(gcn::KeyEvent &event) { /*switch (event.getKey().getValue()) diff --git a/src/gui/widgets/itemcontainer.h b/src/gui/widgets/itemcontainer.h index ca21ad3f..4d5afde2 100644 --- a/src/gui/widgets/itemcontainer.h +++ b/src/gui/widgets/itemcontainer.h @@ -62,6 +62,8 @@ class ItemContainer : public gcn::Widget, virtual ~ItemContainer(); + void hidePopup(); + /** * Necessary for checking how full the inventory is. */ diff --git a/src/gui/widgets/window.h b/src/gui/widgets/window.h index e62f4d92..64631287 100644 --- a/src/gui/widgets/window.h +++ b/src/gui/widgets/window.h @@ -105,7 +105,7 @@ class Window : public gcn::Window, gcn::WidgetListener /** * Called whenever the widget is hidden. */ - virtual void widgetHidden(const gcn::Event& event); + virtual void widgetHidden(const gcn::Event &event); /** * Sets whether or not the window has a close button. |