diff options
author | Andrei Karas <akaras@inbox.ru> | 2016-02-06 14:32:35 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2016-02-06 14:32:35 +0300 |
commit | ce14a018a6f66aa1309ebe71a8217082d83cd0da (patch) | |
tree | 05d4268533abc06f7f7d4459a82d69dcea8ae2f7 /src/gui | |
parent | f90aae8a2b49b87bd6bf66055a404914df3a0d05 (diff) | |
download | manaplus-ce14a018a6f66aa1309ebe71a8217082d83cd0da.tar.gz manaplus-ce14a018a6f66aa1309ebe71a8217082d83cd0da.tar.bz2 manaplus-ce14a018a6f66aa1309ebe71a8217082d83cd0da.tar.xz manaplus-ce14a018a6f66aa1309ebe71a8217082d83cd0da.zip |
Hide cutin if npc window closed.
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/windows/cutinwindow.cpp | 6 | ||||
-rw-r--r-- | src/gui/windows/cutinwindow.h | 2 | ||||
-rw-r--r-- | src/gui/windows/npcdialog.cpp | 11 |
3 files changed, 19 insertions, 0 deletions
diff --git a/src/gui/windows/cutinwindow.cpp b/src/gui/windows/cutinwindow.cpp index f8d21a37c..1a38661b8 100644 --- a/src/gui/windows/cutinwindow.cpp +++ b/src/gui/windows/cutinwindow.cpp @@ -139,6 +139,12 @@ void CutInWindow::show(const std::string &name, } } +void CutInWindow::hide() +{ + delete2(mImage); + setVisible(Visible_false); +} + void CutInWindow::logic() { if (mImage) diff --git a/src/gui/windows/cutinwindow.h b/src/gui/windows/cutinwindow.h index 7850c4e49..f6e48624c 100644 --- a/src/gui/windows/cutinwindow.h +++ b/src/gui/windows/cutinwindow.h @@ -47,6 +47,8 @@ class CutInWindow final : public Window void show(const std::string &name, const CutInT cutin); + void hide(); + void logic() override final; private: diff --git a/src/gui/windows/npcdialog.cpp b/src/gui/windows/npcdialog.cpp index 585e8ab2f..dc991097b 100644 --- a/src/gui/windows/npcdialog.cpp +++ b/src/gui/windows/npcdialog.cpp @@ -39,6 +39,9 @@ #include "gui/popups/popupmenu.h" +#ifdef EATHENA_SUPPORT +#include "gui/windows/cutinwindow.h" +#endif #include "gui/windows/inventorywindow.h" #include "gui/widgets/browserbox.h" @@ -325,6 +328,10 @@ void NpcDialog::action(const ActionEvent &event) else if (mActionState == NPC_ACTION_CLOSE || mActionState == NPC_ACTION_WAIT) { +#ifdef EATHENA_SUPPORT + if (cutInWindow) + cutInWindow->hide(); +#endif closeDialog(); } else if (mActionState == NPC_ACTION_INPUT) @@ -601,6 +608,10 @@ void NpcDialog::action(const ActionEvent &event) npcHandler->listInput(mNpcId, 255); break; } +#ifdef EATHENA_SUPPORT + if (cutInWindow) + cutInWindow->hide(); +#endif closeDialog(); } } |