From c466b4414373eedf77ba68201c64362f59616d68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Liru=20F=C3=A6rs?= Date: Wed, 8 Jan 2020 20:09:46 -0500 Subject: [PATCH] Introduce rudimentary objects list menu for Area Search Enables multiselect in areasearch --- indra/newview/jcfloaterareasearch.cpp | 12 +++++-- .../default/xui/en-us/floater_area_search.xml | 2 +- .../default/xui/en-us/menu_objects_list.xml | 32 +++++++++++++++++++ 3 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 indra/newview/skins/default/xui/en-us/menu_objects_list.xml diff --git a/indra/newview/jcfloaterareasearch.cpp b/indra/newview/jcfloaterareasearch.cpp index 4c5ad09e1..609b8f509 100644 --- a/indra/newview/jcfloaterareasearch.cpp +++ b/indra/newview/jcfloaterareasearch.cpp @@ -80,13 +80,21 @@ BOOL JCFloaterAreaSearch::postBuild() mResultList = getChild("result_list"); mResultList->setDoubleClickCallback(boost::bind(&JCFloaterAreaSearch::onDoubleClick,this)); mResultList->sortByColumn("Name", TRUE); + auto tp = getChild("TP"); + auto look = getChild("Look"); + mResultList->setCommitOnSelectionChange(true); + mResultList->setCommitCallback([=](LLUICtrl* ctrl, const LLSD& param){ + bool enabled = mResultList->getNumSelected() == 1; + tp->setEnabled(enabled); + look->setEnabled(enabled); + }); mCounterText = getChild("counter"); getChild("Refresh")->setClickedCallback(boost::bind(&JCFloaterAreaSearch::onRefresh,this)); getChild("Stop")->setClickedCallback(boost::bind(&JCFloaterAreaSearch::onStop,this)); - getChild("TP")->setClickedCallback(boost::bind(&JCFloaterAreaSearch::teleportToSelected, this)); - getChild("Look")->setClickedCallback(boost::bind(&JCFloaterAreaSearch::lookAtSelected, this)); + tp->setClickedCallback(boost::bind(&JCFloaterAreaSearch::teleportToSelected, this)); + look->setClickedCallback(boost::bind(&JCFloaterAreaSearch::lookAtSelected, this)); getChild("Name query chunk")->setCommitCallback(boost::bind(&JCFloaterAreaSearch::onCommitLine,this,_1,_2,LIST_OBJECT_NAME)); getChild("Description query chunk")->setCommitCallback(boost::bind(&JCFloaterAreaSearch::onCommitLine,this,_1,_2,LIST_OBJECT_DESC)); diff --git a/indra/newview/skins/default/xui/en-us/floater_area_search.xml b/indra/newview/skins/default/xui/en-us/floater_area_search.xml index ebdcb7026..f82d7a1c9 100644 --- a/indra/newview/skins/default/xui/en-us/floater_area_search.xml +++ b/indra/newview/skins/default/xui/en-us/floater_area_search.xml @@ -33,7 +33,7 @@ + column_padding="0" draw_heading="true" multi_select="true" search_column="1" menu_num="2"> diff --git a/indra/newview/skins/default/xui/en-us/menu_objects_list.xml b/indra/newview/skins/default/xui/en-us/menu_objects_list.xml new file mode 100644 index 000000000..3c556c5f1 --- /dev/null +++ b/indra/newview/skins/default/xui/en-us/menu_objects_list.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +