From e9c84384d8d0e5b91678eb4722ae30bd3693703f Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Tue, 19 Jun 2012 01:31:14 +0300 Subject: Add help search commands (?text). Example: ?warps It will open help page about warps. --- src/gui/widgets/chattab.cpp | 25 ++++++++++++++++++++----- src/gui/widgets/chattab.h | 2 ++ 2 files changed, 22 insertions(+), 5 deletions(-) (limited to 'src/gui/widgets') diff --git a/src/gui/widgets/chattab.cpp b/src/gui/widgets/chattab.cpp index 5f97cd613..fa61f0dcd 100644 --- a/src/gui/widgets/chattab.cpp +++ b/src/gui/widgets/chattab.cpp @@ -30,6 +30,8 @@ #include "logger.h" #include "sound.h" +#include "gui/helpwindow.h" + #include "gui/widgets/browserbox.h" #include "gui/widgets/scrollarea.h" #include "gui/widgets/itemlinkhandler.h" @@ -379,11 +381,18 @@ void ChatTab::chatInput(const std::string &message) if (commandHandler) commandHandler->replaceVars(msg); - // Prepare ordinary message - if (msg[0] != '/') - handleInput(msg); - else - handleCommand(std::string(msg, 1)); + switch (msg[0]) + { + case '/': + handleCommand(std::string(msg, 1)); + break; + case '?': + handleHelp(std::string(msg, 1)); + break; + default: + handleInput(msg); + break; + } } void ChatTab::scroll(int amount) @@ -414,6 +423,12 @@ void ChatTab::handleCommand(const std::string &msg) commandHandler->handleCommands(msg, this); } +void ChatTab::handleHelp(const std::string &msg) +{ + if (commandHandler) + helpWindow->search(msg); +} + bool ChatTab::handleCommands(const std::string &type, const std::string &args) { // need split to commands and call each diff --git a/src/gui/widgets/chattab.h b/src/gui/widgets/chattab.h index 455152693..e1e2c211d 100644 --- a/src/gui/widgets/chattab.h +++ b/src/gui/widgets/chattab.h @@ -177,6 +177,8 @@ class ChatTab : public Tab virtual void handleCommand(const std::string &msg); + virtual void handleHelp(const std::string &msg); + virtual void getAutoCompleteList(StringVect&) const {} -- cgit v1.2.3-60-g2f50