From 298d8e2ef42eb2c60f1a2c24cf1aeb131dcded09 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Fri, 26 Apr 2013 00:13:17 +0300 Subject: Add mod key for chat (left shift) New action: mod key + right click - close current whisper. --- src/gui/chatwindow.cpp | 16 +++++++++++++--- src/gui/setupactiondata.h | 5 +++++ src/keyboarddata.h | 7 +++++++ src/keydata.h | 1 + 4 files changed, 26 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/gui/chatwindow.cpp b/src/gui/chatwindow.cpp index 2892bb842..cde943c68 100644 --- a/src/gui/chatwindow.cpp +++ b/src/gui/chatwindow.cpp @@ -746,9 +746,19 @@ void ChatWindow::mousePressed(gcn::MouseEvent &event) Tab *const tab = mChatTabs->getSelectedTab(); if (tab) { - ChatTab *const cTab = dynamic_cast(tab); - if (cTab) - viewport->showChatPopup(cTab); + if (inputManager.isActionActive(static_cast( + Input::KEY_CHAT_MOD))) + { + ChatTab *const wTab = dynamic_cast(tab); + if (wTab) + wTab->handleCommand("close", ""); + } + else + { + ChatTab *const cTab = dynamic_cast(tab); + if (cTab) + viewport->showChatPopup(cTab); + } } } } diff --git a/src/gui/setupactiondata.h b/src/gui/setupactiondata.h index 38815898c..b47abace7 100644 --- a/src/gui/setupactiondata.h +++ b/src/gui/setupactiondata.h @@ -1010,6 +1010,11 @@ static SetupActionData setupActionData5[] = Input::KEY_CHAT_NEXT_HISTORY, "", }, + { + N_("Chat modifier key"), + Input::KEY_CHAT_MOD, + "", + }, { "", Input::KEY_NO_VALUE, diff --git a/src/keyboarddata.h b/src/keyboarddata.h index 1a8d2f6da..980bf1eda 100644 --- a/src/keyboarddata.h +++ b/src/keyboarddata.h @@ -1943,6 +1943,13 @@ static const KeyData keyData[Input::KEY_TOTAL] = { Input::GRP_DEFAULT, &ActionManager::showWindows, Input::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyChatMod", + INPUT_KEYBOARD, SDLK_LSHIFT, + INPUT_UNKNOWN, Input::KEY_NO_VALUE, + Input::GRP_CHAT, + nullptr, + Input::KEY_NO_VALUE, 50, COND_DEFAULT} }; diff --git a/src/keydata.h b/src/keydata.h index 8e06c5eb7..c5c0e0aad 100644 --- a/src/keydata.h +++ b/src/keydata.h @@ -340,6 +340,7 @@ namespace Input KEY_STOP_SIT, KEY_SHOW_KEYBOARD, KEY_SHOW_WINDOWS, + KEY_CHAT_MOD, KEY_TOTAL }; } // namespace Input -- cgit v1.2.3-70-g09d2