diff options
-rw-r--r-- | data/graphics/gui/colors.xml | 3 | ||||
-rw-r--r-- | data/themes/blacknblack/colors.xml | 3 | ||||
-rw-r--r-- | data/themes/blackwood/colors.xml | 3 | ||||
-rw-r--r-- | data/themes/enchilado/colors.xml | 3 | ||||
-rw-r--r-- | data/themes/golden-delicious/colors.xml | 18 | ||||
-rw-r--r-- | data/themes/jewelry/colors.xml | 18 | ||||
-rw-r--r-- | data/themes/mana/colors.xml | 3 | ||||
-rw-r--r-- | data/themes/pink/colors.xml | 3 | ||||
-rw-r--r-- | data/themes/unity/colors.xml | 3 | ||||
-rw-r--r-- | data/themes/wood/colors.xml | 3 | ||||
-rw-r--r-- | src/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/Makefile.am | 2 | ||||
-rw-r--r-- | src/gui/theme.cpp | 6 | ||||
-rw-r--r-- | src/gui/theme.h | 6 | ||||
-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 |
17 files changed, 174 insertions, 1 deletions
diff --git a/data/graphics/gui/colors.xml b/data/graphics/gui/colors.xml index 9c029899a..0cfd40bbb 100644 --- a/data/graphics/gui/colors.xml +++ b/data/graphics/gui/colors.xml @@ -28,6 +28,9 @@ <color id="BATTLE_CHAT_TAB" color="#000000" /> <color id="BATTLE_CHAT_TAB_HIGHLIGHTED" color="#000000" /> <color id="BATTLE_CHAT_TAB_SELECTED" color="#000000" /> + <color id="CHANNEL_CHAT_TAB" color="#000000" /> + <color id="CHANNEL_CHAT_TAB_HIGHLIGHTED" color="#000000" /> + <color id="CHANNEL_CHAT_TAB_SELECTED" color="#000000" /> <color id="TEXTBOX" color="#000000" /> <color id="TEXTFIELD" color="#000000" /> <color id="WINDOW" color="#000000" /> diff --git a/data/themes/blacknblack/colors.xml b/data/themes/blacknblack/colors.xml index fe8faea7f..069bbac9a 100644 --- a/data/themes/blacknblack/colors.xml +++ b/data/themes/blacknblack/colors.xml @@ -28,6 +28,9 @@ <color id="BATTLE_CHAT_TAB" color="#13f00d" /> <color id="BATTLE_CHAT_TAB_HIGHLIGHTED" color="#13f00d" /> <color id="BATTLE_CHAT_TAB_SELECTED" color="#13f00d" /> + <color id="CHANNEL_CHAT_TAB" color="#13f00d" /> + <color id="CHANNEL_CHAT_TAB_HIGHLIGHTED" color="#13f00d" /> + <color id="CHANNEL_CHAT_TAB_SELECTED" color="#13f00d" /> <color id="TEXTBOX" color="#ffffff" /> <color id="TEXTFIELD" color="#ffffff" /> <color id="WINDOW" color="#ffffff" /> diff --git a/data/themes/blackwood/colors.xml b/data/themes/blackwood/colors.xml index 829c3e089..205a80319 100644 --- a/data/themes/blackwood/colors.xml +++ b/data/themes/blackwood/colors.xml @@ -28,6 +28,9 @@ <color id="BATTLE_CHAT_TAB" color="#000000" /> <color id="BATTLE_CHAT_TAB_HIGHLIGHTED" color="#000000" /> <color id="BATTLE_CHAT_TAB_SELECTED" color="#000000" /> + <color id="CHANNEL_CHAT_TAB" color="#000000" /> + <color id="CHANNEL_CHAT_TAB_HIGHLIGHTED" color="#000000" /> + <color id="CHANNEL_CHAT_TAB_SELECTED" color="#000000" /> <color id="TEXTBOX" color="#000000" /> <color id="TEXTFIELD" color="#000000" /> <color id="WINDOW" color="#000000" /> diff --git a/data/themes/enchilado/colors.xml b/data/themes/enchilado/colors.xml index 5a3387e3f..9cf500999 100644 --- a/data/themes/enchilado/colors.xml +++ b/data/themes/enchilado/colors.xml @@ -28,6 +28,9 @@ <color id="BATTLE_CHAT_TAB" color="#000000" /> <color id="BATTLE_CHAT_TAB_HIGHLIGHTED" color="#000000" /> <color id="BATTLE_CHAT_TAB_SELECTED" color="#000000" /> + <color id="CHANNEL_CHAT_TAB" color="#000000" /> + <color id="CHANNEL_CHAT_TAB_HIGHLIGHTED" color="#000000" /> + <color id="CHANNEL_CHAT_TAB_SELECTED" color="#000000" /> <color id="TEXTBOX" color="#000000" /> <color id="TEXTFIELD" color="#000000" /> <color id="WINDOW" color="#000000" /> diff --git a/data/themes/golden-delicious/colors.xml b/data/themes/golden-delicious/colors.xml index e973fc65c..bb3a374c2 100644 --- a/data/themes/golden-delicious/colors.xml +++ b/data/themes/golden-delicious/colors.xml @@ -39,6 +39,12 @@ <color id="BATTLE_CHAT_TAB_HIGHLIGHTED_OUTLINE" color="#63450a" /> <color id="BATTLE_CHAT_TAB_SELECTED" color="#f8eacf" /> <color id="BATTLE_CHAT_TAB_SELECTED_OUTLINE" color="#63450a" /> + <color id="CHANNEL_CHAT_TAB" color="#efd7a7" /> + <color id="CHANNEL_CHAT_TAB_OUTLINE" color="#473005" /> + <color id="CHANNEL_CHAT_TAB_HIGHLIGHTED" color="#f8eacf" /> + <color id="CHANNEL_CHAT_TAB_HIGHLIGHTED_OUTLINE" color="#63450a" /> + <color id="CHANNEL_CHAT_TAB_SELECTED" color="#f8eacf" /> + <color id="CHANNEL_CHAT_TAB_SELECTED_OUTLINE" color="#63450a" /> <color id="TABLE_BACKGROUND" color="#23201f" /> <color id="TEXTBOX" color="#e8d8aa" /> <color id="TEXTFIELD" color="#F8F0CA" /> @@ -158,6 +164,12 @@ <color id="BATTLE_CHAT_TAB_HIGHLIGHTED_OUTLINE" color="#63450a" /> <color id="BATTLE_CHAT_TAB_SELECTED" color="#f8eacf" /> <color id="BATTLE_CHAT_TAB_SELECTED_OUTLINE" color="#63450a" /> + <color id="CHANNEL_CHAT_TAB" color="#efd7a7" /> + <color id="CHANNEL_CHAT_TAB_OUTLINE" color="#473005" /> + <color id="CHANNEL_CHAT_TAB_HIGHLIGHTED" color="#f8eacf" /> + <color id="CHANNEL_CHAT_TAB_HIGHLIGHTED_OUTLINE" color="#63450a" /> + <color id="CHANNEL_CHAT_TAB_SELECTED" color="#f8eacf" /> + <color id="CHANNEL_CHAT_TAB_SELECTED_OUTLINE" color="#63450a" /> <color id="TAB_FLASH" color="#a7ff2a" /> <color id="TAB_FLASH_OUTLINE" color="#142200" /> <color id="TAB_PLAYER_FLASH" color="#ff96f6" /> @@ -324,6 +336,12 @@ <color id="BATTLE_CHAT_TAB_HIGHLIGHTED_OUTLINE" color="#000000" /> <color id="BATTLE_CHAT_TAB_SELECTED" color="#f8eacf" /> <color id="BATTLE_CHAT_TAB_SELECTED_OUTLINE" color="#000000" /> + <color id="CHANNEL_CHAT_TAB" color="#efd7a7" /> + <color id="CHANNEL_CHAT_TAB_OUTLINE" color="#000000" /> + <color id="CHANNEL_CHAT_TAB_HIGHLIGHTED" color="#f8eacf" /> + <color id="CHANNEL_CHAT_TAB_HIGHLIGHTED_OUTLINE" color="#000000" /> + <color id="CHANNEL_CHAT_TAB_SELECTED" color="#f8eacf" /> + <color id="CHANNEL_CHAT_TAB_SELECTED_OUTLINE" color="#000000" /> <color id="TEXTBOX" color="#808080" /> <color id="TEXTFIELD" color="#808080" /> <color id="WINDOW" color="#f1d9a9" /> diff --git a/data/themes/jewelry/colors.xml b/data/themes/jewelry/colors.xml index 477ad1e9b..842a089ea 100644 --- a/data/themes/jewelry/colors.xml +++ b/data/themes/jewelry/colors.xml @@ -38,6 +38,12 @@ <color id="BATTLE_CHAT_TAB_HIGHLIGHTED_OUTLINE" color="#63450a" /> <color id="BATTLE_CHAT_TAB_SELECTED" color="#f8eacf" /> <color id="BATTLE_CHAT_TAB_SELECTED_OUTLINE" color="#63450a" /> + <color id="CHANNEL_CHAT_TAB" color="#efd7a7" /> + <color id="CHANNEL_CHAT_TAB_OUTLINE" color="#473005" /> + <color id="CHANNEL_CHAT_TAB_HIGHLIGHTED" color="#f8eacf" /> + <color id="CHANNEL_CHAT_TAB_HIGHLIGHTED_OUTLINE" color="#63450a" /> + <color id="CHANNEL_CHAT_TAB_SELECTED" color="#f8eacf" /> + <color id="CHANNEL_CHAT_TAB_SELECTED_OUTLINE" color="#63450a" /> <color id="TEXTBOX" color="#000000" /> <color id="TEXTFIELD" color="#000000" /> <color id="WINDOW" color="#f1d9a9" /> @@ -158,6 +164,12 @@ <color id="BATTLE_CHAT_TAB_HIGHLIGHTED_OUTLINE" color="#63450a" /> <color id="BATTLE_CHAT_TAB_SELECTED" color="#f8eacf" /> <color id="BATTLE_CHAT_TAB_SELECTED_OUTLINE" color="#63450a" /> + <color id="CHANNEL_CHAT_TAB" color="#efd7a7" /> + <color id="CHANNEL_CHAT_TAB_OUTLINE" color="#473005" /> + <color id="CHANNEL_CHAT_TAB_HIGHLIGHTED" color="#f8eacf" /> + <color id="CHANNEL_CHAT_TAB_HIGHLIGHTED_OUTLINE" color="#63450a" /> + <color id="CHANNEL_CHAT_TAB_SELECTED" color="#f8eacf" /> + <color id="CHANNEL_CHAT_TAB_SELECTED_OUTLINE" color="#63450a" /> <color id="TAB_FLASH" color="#a7ff2a" /> <color id="TAB_FLASH_OUTLINE" color="#142200" /> <color id="TAB_PLAYER_FLASH" color="#ff96f6" /> @@ -348,6 +360,12 @@ <color id="BATTLE_CHAT_TAB_HIGHLIGHTED_OUTLINE" color="#000000" /> <color id="BATTLE_CHAT_TAB_SELECTED" color="#f8eacf" /> <color id="BATTLE_CHAT_TAB_SELECTED_OUTLINE" color="#000000" /> + <color id="CHANNEL_CHAT_TAB" color="#efd7a7" /> + <color id="CHANNEL_CHAT_TAB_OUTLINE" color="#000000" /> + <color id="CHANNEL_CHAT_TAB_HIGHLIGHTED" color="#f8eacf" /> + <color id="CHANNEL_CHAT_TAB_HIGHLIGHTED_OUTLINE" color="#000000" /> + <color id="CHANNEL_CHAT_TAB_SELECTED" color="#f8eacf" /> + <color id="CHANNEL_CHAT_TAB_SELECTED_OUTLINE" color="#000000" /> <color id="TEXTBOX" color="#000000" /> <color id="TEXTFIELD" color="#000000" /> <color id="WINDOW" color="#f1d9a9" /> diff --git a/data/themes/mana/colors.xml b/data/themes/mana/colors.xml index 253b75640..f2370d33a 100644 --- a/data/themes/mana/colors.xml +++ b/data/themes/mana/colors.xml @@ -28,6 +28,9 @@ <color id="BATTLE_CHAT_TAB" color="#000000" /> <color id="BATTLE_CHAT_TAB_HIGHLIGHTED" color="#000000" /> <color id="BATTLE_CHAT_TAB_SELECTED" color="#000000" /> + <color id="CHANNEL_CHAT_TAB" color="#000000" /> + <color id="CHANNEL_CHAT_TAB_HIGHLIGHTED" color="#000000" /> + <color id="CHANNEL_CHAT_TAB_SELECTED" color="#000000" /> <color id="TEXTBOX" color="#000000" /> <color id="TEXTFIELD" color="#000000" /> <color id="WINDOW" color="#000000" /> diff --git a/data/themes/pink/colors.xml b/data/themes/pink/colors.xml index ad8459575..87e60188f 100644 --- a/data/themes/pink/colors.xml +++ b/data/themes/pink/colors.xml @@ -28,6 +28,9 @@ <color id="BATTLE_CHAT_TAB" color="#FF32FF" /> <color id="BATTLE_CHAT_TAB_HIGHLIGHTED" color="#FF32FF" /> <color id="BATTLE_CHAT_TAB_SELECTED" color="#FF32FF" /> + <color id="CHANNEL_CHAT_TAB" color="#FF32FF" /> + <color id="CHANNEL_CHAT_TAB_HIGHLIGHTED" color="#FF32FF" /> + <color id="CHANNEL_CHAT_TAB_SELECTED" color="#FF32FF" /> <color id="TEXTBOX" color="#FF00FF" /> <color id="TEXTFIELD" color="#FF00FF" /> <color id="WINDOW" color="#FF00FF" /> diff --git a/data/themes/unity/colors.xml b/data/themes/unity/colors.xml index 4b717c1a7..dfaf70bfb 100644 --- a/data/themes/unity/colors.xml +++ b/data/themes/unity/colors.xml @@ -27,6 +27,9 @@ <color id="BATTLE_CHAT_TAB" color="#E0E0E0" /> <color id="BATTLE_CHAT_TAB_HIGHLIGHTED" color="#E0E0E0" /> <color id="BATTLE_CHAT_TAB_SELECTED" color="#E0E0E0" /> + <color id="CHANNEL_CHAT_TAB" color="#E0E0E0" /> + <color id="CHANNEL_CHAT_TAB_HIGHLIGHTED" color="#E0E0E0" /> + <color id="CHANNEL_CHAT_TAB_SELECTED" color="#E0E0E0" /> <color id="TEXTBOX" color="#E0E0E0" /> <color id="TEXTFIELD" color="#E0E0E0" /> <color id="WINDOW" color="#E0E0E0" /> diff --git a/data/themes/wood/colors.xml b/data/themes/wood/colors.xml index ba6c713da..f2a49e922 100644 --- a/data/themes/wood/colors.xml +++ b/data/themes/wood/colors.xml @@ -28,6 +28,9 @@ <color id="BATTLE_CHAT_TAB" color="#000000" /> <color id="BATTLE_CHAT_TAB_HIGHLIGHTED" color="#000000" /> <color id="BATTLE_CHAT_TAB_SELECTED" color="#000000" /> + <color id="CHANNEL_CHAT_TAB" color="#000000" /> + <color id="CHANNEL_CHAT_TAB_HIGHLIGHTED" color="#000000" /> + <color id="CHANNEL_CHAT_TAB_SELECTED" color="#000000" /> <color id="TEXTBOX" color="#000000" /> <color id="TEXTFIELD" color="#000000" /> <color id="WINDOW" color="#000000" /> diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 72edf7e08..934c1a1b7 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -120,6 +120,8 @@ SET(SRCS gui/models/colorlistmodel.h gui/widgets/tabs/chat/battletab.cpp gui/widgets/tabs/chat/battletab.h + gui/widgets/tabs/chat/channeltab.cpp + gui/widgets/tabs/chat/channeltab.h gui/widgets/browserbox.cpp gui/widgets/browserbox.h gui/widgets/button.cpp diff --git a/src/Makefile.am b/src/Makefile.am index 13a3a1049..47b027fcc 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -242,6 +242,8 @@ manaplus_SOURCES += gui/widgets/avatarlistbox.cpp \ gui/models/colorlistmodel.h \ gui/widgets/tabs/chat/battletab.cpp \ gui/widgets/tabs/chat/battletab.h \ + gui/widgets/tabs/chat/channeltab.cpp \ + gui/widgets/tabs/chat/channeltab.h \ gui/widgets/browserbox.cpp \ gui/widgets/browserbox.h \ gui/widgets/button.cpp \ diff --git a/src/gui/theme.cpp b/src/gui/theme.cpp index e52e80ed0..1428519af 100644 --- a/src/gui/theme.cpp +++ b/src/gui/theme.cpp @@ -681,6 +681,8 @@ static int readColorType(const std::string &type) "WINDOW_OUTLINE", "BATTLE_CHAT_TAB", "BATTLE_CHAT_TAB_OUTLINE", + "CHANNEL_CHAT_TAB", + "CHANNEL_CHAT_TAB_OUTLINE", "PARTY_CHAT_TAB", "PARTY_CHAT_TAB_OUTLINE", "PARTY_SOCIAL_TAB", @@ -693,6 +695,8 @@ static int readColorType(const std::string &type) "GM_CHAT_TAB_OUTLINE", "BATTLE_CHAT_TAB_HIGHLIGHTED", "BATTLE_CHAT_TAB_HIGHLIGHTED_OUTLINE", + "CHANNEL_CHAT_TAB_HIGHLIGHTED", + "CHANNEL_CHAT_TAB_HIGHLIGHTED_OUTLINE", "PARTY_CHAT_TAB_HIGHLIGHTED", "PARTY_CHAT_TAB_HIGHLIGHTED_OUTLINE", "PARTY_SOCIAL_TAB_HIGHLIGHTED", @@ -705,6 +709,8 @@ static int readColorType(const std::string &type) "GM_CHAT_TAB_HIGHLIGHTED_OUTLINE", "BATTLE_CHAT_TAB_SELECTED", "BATTLE_CHAT_TAB_SELECTED_OUTLINE", + "CHANNEL_CHAT_TAB_SELECTED", + "CHANNEL_CHAT_TAB_SELECTED_OUTLINE", "PARTY_CHAT_TAB_SELECTED", "PARTY_CHAT_TAB_SELECTED_OUTLINE", "PARTY_SOCIAL_TAB_SELECTED", diff --git a/src/gui/theme.h b/src/gui/theme.h index 6e63e05e6..5e65b3444 100644 --- a/src/gui/theme.h +++ b/src/gui/theme.h @@ -141,6 +141,8 @@ class Theme final : public Palette, WINDOW_OUTLINE, BATTLE_CHAT_TAB, BATTLE_CHAT_TAB_OUTLINE, + CHANNEL_CHAT_TAB, + CHANNEL_CHAT_TAB_OUTLINE, PARTY_CHAT_TAB, PARTY_CHAT_TAB_OUTLINE, PARTY_SOCIAL_TAB, @@ -153,6 +155,8 @@ class Theme final : public Palette, GM_CHAT_TAB_OUTLINE, BATTLE_CHAT_TAB_HIGHLIGHTED, BATTLE_CHAT_TAB_HIGHLIGHTED_OUTLINE, + CHANNEL_CHAT_TAB_HIGHLIGHTED, + CHANNEL_CHAT_TAB_HIGHLIGHTED_OUTLINE, PARTY_CHAT_TAB_HIGHLIGHTED, PARTY_CHAT_TAB_HIGHLIGHTED_OUTLINE, PARTY_SOCIAL_TAB_HIGHLIGHTED, @@ -165,6 +169,8 @@ class Theme final : public Palette, GM_CHAT_TAB_HIGHLIGHTED_OUTLINE, BATTLE_CHAT_TAB_SELECTED, BATTLE_CHAT_TAB_SELECTED_OUTLINE, + CHANNEL_CHAT_TAB_SELECTED, + CHANNEL_CHAT_TAB_SELECTED_OUTLINE, PARTY_CHAT_TAB_SELECTED, PARTY_CHAT_TAB_SELECTED_OUTLINE, PARTY_SOCIAL_TAB_SELECTED, 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 |