From 25433cd153a841751932abc327404345a3ec29bf Mon Sep 17 00:00:00 2001 From: Testy Date: Sun, 8 Mar 2020 20:25:44 -0300 Subject: [PATCH] Added a search button to nearby chat and IM session floaters. --- indra/newview/fsfloaterim.cpp | 8 +++++++ indra/newview/fsfloaterim.h | 2 ++ indra/newview/fsfloaternearbychat.cpp | 15 +++++++++++++ indra/newview/fsfloaternearbychat.h | 2 ++ .../default/xui/en/floater_fs_im_session.xml | 22 +++++++++++++++++++ .../default/xui/en/floater_fs_nearby_chat.xml | 22 +++++++++++++++++++ .../vintage/xui/en/floater_fs_im_session.xml | 22 +++++++++++++++++++ .../vintage/xui/en/floater_fs_nearby_chat.xml | 22 ++++++++++++++++++- 8 files changed, 114 insertions(+), 1 deletion(-) diff --git a/indra/newview/fsfloaterim.cpp b/indra/newview/fsfloaterim.cpp index 7ad7729427..4e464f4d8a 100644 --- a/indra/newview/fsfloaterim.cpp +++ b/indra/newview/fsfloaterim.cpp @@ -53,6 +53,7 @@ #include "llfloaterabout.h" // for sysinfo button -Zi #include "llfloateravatarpicker.h" #include "llfloaterreg.h" +#include "llfloatersearchreplace.h" #include "llgroupactions.h" #include "llinventoryfunctions.h" #include "llinventorymodel.h" @@ -466,6 +467,11 @@ void FSFloaterIM::sendMsgFromInputEditor(EChatType type) setTyping(false); } +void FSFloaterIM::onChatSearchButtonClicked() +{ + LLFloaterSearchReplace::show(mChatHistory); +} + void FSFloaterIM::sendMsg(const std::string& msg) { // const std::string utf8_text = utf8str_truncate(msg, MAX_MSG_BUF_SIZE - 1); @@ -915,6 +921,8 @@ BOOL FSFloaterIM::postBuild() getChild("send_chat")->setCommitCallback(boost::bind(&FSFloaterIM::sendMsgFromInputEditor, this, CHAT_TYPE_NORMAL)); + getChild("chat_search_btn")->setCommitCallback(boost::bind(&FSFloaterIM::onChatSearchButtonClicked, this)); + bool isFSSupportGroup = FSData::getInstance()->isFirestormGroup(mSessionID); bool isFSTestingGroup = FSData::getInstance()->isTestingGroup(mSessionID); diff --git a/indra/newview/fsfloaterim.h b/indra/newview/fsfloaterim.h index 8681513120..d70bac8155 100644 --- a/indra/newview/fsfloaterim.h +++ b/indra/newview/fsfloaterim.h @@ -120,6 +120,8 @@ public: static void clearAllOpenHistories(); // FIRE-11734 + void onChatSearchButtonClicked(); + BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, EDragAndDropType cargo_type, void *cargo_data, EAcceptance *accept, diff --git a/indra/newview/fsfloaternearbychat.cpp b/indra/newview/fsfloaternearbychat.cpp index 58e473a285..70557c4c8b 100644 --- a/indra/newview/fsfloaternearbychat.cpp +++ b/indra/newview/fsfloaternearbychat.cpp @@ -51,6 +51,7 @@ #include "llconsole.h" #include "lldraghandle.h" #include "llfloaterreg.h" +#include "llfloatersearchreplace.h" #include "llfocusmgr.h" #include "llgesturemgr.h" #include "lliconctrl.h" @@ -145,6 +146,8 @@ BOOL FSFloaterNearbyChat::postBuild() getChild("chat_history_btn")->setCommitCallback(boost::bind(&FSFloaterNearbyChat::onHistoryButtonClicked, this)); + getChild("chat_search_btn")->setCommitCallback(boost::bind(&FSFloaterNearbyChat::onSearchButtonClicked, this)); + // chat type selector and send chat button mChatTypeCombo = getChild("chat_type"); mChatTypeCombo->selectByValue("say"); @@ -314,6 +317,18 @@ void FSFloaterNearbyChat::onHistoryButtonClicked() } } +void FSFloaterNearbyChat::onSearchButtonClicked() +{ + if (mChatHistory->getVisible()) + { + LLFloaterSearchReplace::show(mChatHistory); + } + else if (mChatHistoryMuted->getVisible()) + { + LLFloaterSearchReplace::show(mChatHistoryMuted); + } +} + void FSFloaterNearbyChat::onChatOptionsContextMenuItemClicked(const LLSD& userdata) { FSChatOptionsMenu::onMenuItemClick(userdata, this); diff --git a/indra/newview/fsfloaternearbychat.h b/indra/newview/fsfloaternearbychat.h index bde7ba8780..58276d8be4 100644 --- a/indra/newview/fsfloaternearbychat.h +++ b/indra/newview/fsfloaternearbychat.h @@ -79,6 +79,8 @@ public: void onHistoryButtonClicked(); + void onSearchButtonClicked(); + // overridden to fix the multitab focus bug -Zi BOOL focusFirstItem(BOOL prefer_text_fields = FALSE, BOOL focus_flash = TRUE ); diff --git a/indra/newview/skins/default/xui/en/floater_fs_im_session.xml b/indra/newview/skins/default/xui/en/floater_fs_im_session.xml index e3580fc74d..38ae198893 100644 --- a/indra/newview/skins/default/xui/en/floater_fs_im_session.xml +++ b/indra/newview/skins/default/xui/en/floater_fs_im_session.xml @@ -422,6 +422,28 @@ tool_tip="Chat Options" name="chat_options_btn"/> + +