diff options
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/chatwindow.cpp | 16 | ||||
-rw-r--r-- | src/gui/chatwindow.h | 5 |
2 files changed, 21 insertions, 0 deletions
diff --git a/src/gui/chatwindow.cpp b/src/gui/chatwindow.cpp index 29ce3bace..c266374ef 100644 --- a/src/gui/chatwindow.cpp +++ b/src/gui/chatwindow.cpp @@ -396,6 +396,22 @@ void ChatWindow::nextTab() mChatTabs->setSelectedTab(tab); } +void ChatWindow::closeTab() +{ + if (!mChatTabs) + return; + + int idx = mChatTabs->getSelectedTabIndex(); + Tab *tab = mChatTabs->getTabByIndex(idx); + if (!tab) + return; + WhisperTab *whisper = dynamic_cast<WhisperTab*>(tab); + if (!whisper) + return; + + whisper->handleCommand("close", ""); +} + void ChatWindow::defaultTab() { if (mChatTabs) diff --git a/src/gui/chatwindow.h b/src/gui/chatwindow.h index 05e039c60..b6a37ef79 100644 --- a/src/gui/chatwindow.h +++ b/src/gui/chatwindow.h @@ -130,6 +130,11 @@ class ChatWindow : public Window, void nextTab(); /** + * Close current chat tab + */ + void closeTab(); + + /** * Switch to the default tab */ void defaultTab(); |