From 73b34b6d89743e48525a1e2c64aeb7a7686ee287 Mon Sep 17 00:00:00 2001 From: Inusaito Sayori Date: Mon, 21 Jul 2014 18:51:20 -0400 Subject: [PATCH] When there is nothing selected in a media filter list, don't enable its remove button Also missed xml parts from last commit. --- indra/newview/llfloatermediafilter.cpp | 10 ++++++++++ indra/newview/llfloatermediafilter.h | 1 + .../default/xui/en-us/floater_media_lists.xml | 14 ++++++-------- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/indra/newview/llfloatermediafilter.cpp b/indra/newview/llfloatermediafilter.cpp index f5ab94516..3384b05a9 100644 --- a/indra/newview/llfloatermediafilter.cpp +++ b/indra/newview/llfloatermediafilter.cpp @@ -62,6 +62,10 @@ BOOL LLFloaterMediaFilter::postBuild() mBlacklist = getChild("blacklist"); updateLists(LLMediaFilter::WHITELIST); updateLists(LLMediaFilter::BLACKLIST); + mWhitelist->setCommitOnSelectionChange(true); + mBlacklist->setCommitOnSelectionChange(true); + mWhitelist->setCommitCallback(boost::bind(&LLFloaterMediaFilter::enableButton, this, getChildView("remove_whitelist"), mWhitelist)); + mBlacklist->setCommitCallback(boost::bind(&LLFloaterMediaFilter::enableButton, this, getChildView("remove_blacklist"), mBlacklist)); return TRUE; } @@ -80,6 +84,12 @@ void LLFloaterMediaFilter::updateLists(LLMediaFilter::EMediaList list_type) element["columns"][0]["value"] = (*itr); scroll->addElement(element); } + enableButton(getChildView(white ? "remove_whitelist" : "remove_blacklist"), scroll); +} + +void LLFloaterMediaFilter::enableButton(LLView* btn, const LLScrollListCtrl* scroll) +{ + btn->setEnabled(!scroll->isEmpty() && scroll->getFirstSelected()); } void on_add_to_list(bool white) diff --git a/indra/newview/llfloatermediafilter.h b/indra/newview/llfloatermediafilter.h index 148213f83..6ee23bbab 100644 --- a/indra/newview/llfloatermediafilter.h +++ b/indra/newview/llfloatermediafilter.h @@ -44,6 +44,7 @@ public: private: ~LLFloaterMediaFilter(); void updateLists(LLMediaFilter::EMediaList list); + void enableButton(LLView* btn, const LLScrollListCtrl* scroll); void onRemoveFromList(bool white); LLScrollListCtrl* mWhitelist; diff --git a/indra/newview/skins/default/xui/en-us/floater_media_lists.xml b/indra/newview/skins/default/xui/en-us/floater_media_lists.xml index a29793d1a..ca8f6f2fc 100644 --- a/indra/newview/skins/default/xui/en-us/floater_media_lists.xml +++ b/indra/newview/skins/default/xui/en-us/floater_media_lists.xml @@ -85,8 +85,8 @@ mouse_opaque="false" name="add_whitelist"> + function="MediaFilter.OnAdd" + parameter="1"/> @@ -112,8 +112,8 @@ mouse_opaque="false" name="remove_whitelist"> + function="MediaFilter.OnRemove" + parameter="1"/> @@ -176,8 +176,7 @@ mouse_opaque="false" name="add_blacklist"> + function="MediaFilter.OnAdd"/> @@ -203,8 +202,7 @@ mouse_opaque="false" name="remove_blacklist"> + function="MediaFilter.OnRemove"/>