diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-01-14 17:50:47 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-01-14 17:52:25 +0300 |
commit | afa7cdd59fe9a80479812eaad73a1eeea58bd5de (patch) | |
tree | 6d3371a66ee823bf116a4780439cfb4906959115 /src/gui/windows/chatwindow.cpp | |
parent | 0381a0de69cc21c8886fb0a68cda450d3135d55a (diff) | |
download | mv-afa7cdd59fe9a80479812eaad73a1eeea58bd5de.tar.gz mv-afa7cdd59fe9a80479812eaad73a1eeea58bd5de.tar.bz2 mv-afa7cdd59fe9a80479812eaad73a1eeea58bd5de.tar.xz mv-afa7cdd59fe9a80479812eaad73a1eeea58bd5de.zip |
By requesting open #trade channel, really open trade tab.
Diffstat (limited to 'src/gui/windows/chatwindow.cpp')
-rw-r--r-- | src/gui/windows/chatwindow.cpp | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/src/gui/windows/chatwindow.cpp b/src/gui/windows/chatwindow.cpp index 4799f65f4..1f3b165c5 100644 --- a/src/gui/windows/chatwindow.cpp +++ b/src/gui/windows/chatwindow.cpp @@ -1194,12 +1194,35 @@ WhisperTab *ChatWindow::getWhisperTab(const std::string &nick) const return ret; } -ChannelTab *ChatWindow::addChannelTab(const std::string &name, - const bool switchTo) +ChatTab *ChatWindow::addSpecialChannelTab(const std::string &name, + const bool switchTo) +{ + ChatTab *ret = nullptr; + if (name == TRADE_CHANNEL) + { + if (!tradeChatTab) + { + tradeChatTab = new TradeTab(chatWindow); + tradeChatTab->setAllowHighlight(false); + } + ret = tradeChatTab; + } + if (switchTo) + mChatTabs->setSelectedTab(ret); + + return ret; +} + +ChatTab *ChatWindow::addChannelTab(const std::string &name, + const bool switchTo) { std::string tempName = name; toLower(tempName); + ChatTab *const tab = addSpecialChannelTab(name, switchTo); + if (tab) + return tab; + const ChannelMap::const_iterator i = mChannels.find(tempName); ChannelTab *ret = nullptr; @@ -1656,7 +1679,7 @@ void ChatWindow::channelChatLog(const std::string &channel, std::string tempChannel = channel; toLower(tempChannel); - ChannelTab *tab = nullptr; + ChatTab *tab = nullptr; const ChannelMap::const_iterator i = mChannels.find(tempChannel); if (i != mChannels.end()) |