diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-10-12 22:14:50 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-10-12 23:17:23 +0300 |
commit | 4642291e19a5a98d07c067baddf1b5fafbab943a (patch) | |
tree | 33dfc87c07e39fecdcaff5542f744e5828cfaac1 /src/gui/widgets/tabs/chat/channeltab.cpp | |
parent | 05d41da56882a14b44648c8daed5f50979154c16 (diff) | |
download | manaverse-4642291e19a5a98d07c067baddf1b5fafbab943a.tar.gz manaverse-4642291e19a5a98d07c067baddf1b5fafbab943a.tar.bz2 manaverse-4642291e19a5a98d07c067baddf1b5fafbab943a.tar.xz manaverse-4642291e19a5a98d07c067baddf1b5fafbab943a.zip |
Fix popup menu for channel chat tab.
Diffstat (limited to 'src/gui/widgets/tabs/chat/channeltab.cpp')
-rw-r--r-- | src/gui/widgets/tabs/chat/channeltab.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/gui/widgets/tabs/chat/channeltab.cpp b/src/gui/widgets/tabs/chat/channeltab.cpp index f4b26f4bc..43ba86acf 100644 --- a/src/gui/widgets/tabs/chat/channeltab.cpp +++ b/src/gui/widgets/tabs/chat/channeltab.cpp @@ -25,6 +25,8 @@ #include "chatlogger.h" #include "configuration.h" +#include "gui/widgets/windowcontainer.h" + #include "gui/windows/chatwindow.h" #include "net/chathandler.h" @@ -40,6 +42,8 @@ ChannelTab::ChannelTab(const Widget2 *const widget, ChannelTab::~ChannelTab() { + if (chatWindow) + chatWindow->removeChannel(mChannelName); } void ChannelTab::handleInput(const std::string &msg) @@ -48,3 +52,23 @@ void ChannelTab::handleInput(const std::string &msg) newMsg = ChatWindow::doReplace(msg); chatHandler->privateMessage(mChannelName, newMsg); } + +bool ChannelTab::handleCommand(const std::string &restrict type, + const std::string &restrict args A_UNUSED) +{ + if (type == "close") + { + if (windowContainer) + windowContainer->scheduleDelete(this); + else + delete this; + if (chatWindow) + chatWindow->defaultTab(); + } + else + { + return false; + } + + return true; +} |