summaryrefslogtreecommitdiff
path: root/src/actions/chat.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/actions/chat.cpp')
-rw-r--r--src/actions/chat.cpp46
1 files changed, 46 insertions, 0 deletions
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