diff options
Diffstat (limited to 'src/gui/widgets')
-rw-r--r-- | src/gui/widgets/tabs/chat/channeltab.cpp | 50 | ||||
-rw-r--r-- | src/gui/widgets/tabs/chat/channeltab.h | 46 | ||||
-rw-r--r-- | src/gui/widgets/tabs/chat/chattabtype.h | 3 |
3 files changed, 98 insertions, 1 deletions
diff --git a/src/gui/widgets/tabs/chat/channeltab.cpp b/src/gui/widgets/tabs/chat/channeltab.cpp new file mode 100644 index 000000000..f4b26f4bc --- /dev/null +++ b/src/gui/widgets/tabs/chat/channeltab.cpp @@ -0,0 +1,50 @@ +/* + * The ManaPlus Client + * Copyright (C) 2008-2009 The Mana World Development Team + * Copyright (C) 2009-2010 The Mana Developers + * Copyright (C) 2011-2014 The ManaPlus Developers + * + * This file is part of The ManaPlus Client. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "gui/widgets/tabs/chat/channeltab.h" + +#include "chatlogger.h" +#include "configuration.h" + +#include "gui/windows/chatwindow.h" + +#include "net/chathandler.h" + +#include "debug.h" + +ChannelTab::ChannelTab(const Widget2 *const widget, + const std::string &channel) : + ChatTab(widget, channel, channel, channel, ChatTabType::CHANNEL) +{ + setTabColors(Theme::CHANNEL_CHAT_TAB); +} + +ChannelTab::~ChannelTab() +{ +} + +void ChannelTab::handleInput(const std::string &msg) +{ + std::string newMsg; + newMsg = ChatWindow::doReplace(msg); + chatHandler->privateMessage(mChannelName, newMsg); +} diff --git a/src/gui/widgets/tabs/chat/channeltab.h b/src/gui/widgets/tabs/chat/channeltab.h new file mode 100644 index 000000000..4ca3d9379 --- /dev/null +++ b/src/gui/widgets/tabs/chat/channeltab.h @@ -0,0 +1,46 @@ +/* + * The ManaPlus Client + * Copyright (C) 2009 The Mana World Development Team + * Copyright (C) 2009-2010 The Mana Developers + * Copyright (C) 2011-2014 The ManaPlus Developers + * + * This file is part of The ManaPlus Client. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef GUI_WIDGETS_TABS_CHAT_CHANNELTAB_H +#define GUI_WIDGETS_TABS_CHAT_CHANNELTAB_H + +#include "gui/widgets/tabs/chat/chattab.h" +#include "gui/widgets/tabs/chat/chattabtype.h" + +/** + * A tab for a chat channel. + */ +class ChannelTab final : public ChatTab +{ + public: + ChannelTab(const Widget2 *const widget, + const std::string &channel); + + A_DELETE_COPY(ChannelTab) + + ~ChannelTab(); + + protected: + void handleInput(const std::string &msg) override final; +}; + +#endif // GUI_WIDGETS_TABS_CHAT_CHANNELTAB_H diff --git a/src/gui/widgets/tabs/chat/chattabtype.h b/src/gui/widgets/tabs/chat/chattabtype.h index 4b0af6423..75c2f29eb 100644 --- a/src/gui/widgets/tabs/chat/chattabtype.h +++ b/src/gui/widgets/tabs/chat/chattabtype.h @@ -34,7 +34,8 @@ namespace ChatTabType TRADE, BATTLE, LANG, - GM + GM, + CHANNEL }; } // namespace ChatTabType |