From 0ae262d137e24c44064f59102ff6b72b19c60b71 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Mon, 25 Aug 2014 13:39:28 +0300 Subject: Move chat command /toggle into actions. --- src/actions/chat.cpp | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) (limited to 'src/actions/chat.cpp') diff --git a/src/actions/chat.cpp b/src/actions/chat.cpp index 4396d438a..8f991dd5f 100644 --- a/src/actions/chat.cpp +++ b/src/actions/chat.cpp @@ -86,6 +86,10 @@ extern std::string tradePartnerName; extern QuitDialog *quitDialog; extern unsigned int tmwServerVersion; +// TRANSLATORS: chat option changed message +#define BOOLEAN_OPTIONS _("Options to /%s are \"yes\", \"no\", \"true\", "\ +"\"false\", \"1\", \"0\".") + namespace Actions { @@ -351,4 +355,46 @@ impHandler(me) return true; } +impHandler(toggle) +{ + if (event.args.empty()) + { + if (chatWindow && event.tab) + { + // TRANSLATORS: message from toggle chat command + event.tab->chatLog(chatWindow->getReturnTogglesChat() ? + _("Return toggles chat.") : _("Message closes chat.")); + } + return true; + } + + switch (parseBoolean(event.args)) + { + case 1: + if (event.tab) + { + // TRANSLATORS: message from toggle chat command + event.tab->chatLog(_("Return now toggles chat.")); + } + if (chatWindow) + chatWindow->setReturnTogglesChat(true); + return true; + case 0: + if (event.tab) + { + // TRANSLATORS: message from toggle chat command + event.tab->chatLog(_("Message now closes chat.")); + } + if (chatWindow) + chatWindow->setReturnTogglesChat(false); + return true; + case -1: + if (event.tab) + event.tab->chatLog(strprintf(BOOLEAN_OPTIONS, "toggle")); + return true; + default: + return true; + } +} + } // namespace Actions -- cgit v1.2.3-60-g2f50