summaryrefslogtreecommitdiff
path: root/indra/newview/llfloatersearch.cpp
diff options
context:
space:
mode:
authorLynx Linden <lynx@lindenlab.com>2009-12-10 19:02:33 +0000
committerLynx Linden <lynx@lindenlab.com>2009-12-10 19:02:33 +0000
commitd06ef8878388b8b9956b385a74b7114a82de2355 (patch)
tree4aa30f1b69baf683830abd7191e35ff9305d0644 /indra/newview/llfloatersearch.cpp
parent1ab022df432b529fffb3a7f0772dff16a2c195ed (diff)
DEV-43679: Display god level warning in Search window.
If you change your god level from when you performed a search, the search results may be inappropriate for your god level (we pass the current god status to the search web pages). When this is the case, we now display a warning at the bottom of the search floater to let the user know that they should redo their search.
Diffstat (limited to 'indra/newview/llfloatersearch.cpp')
-rw-r--r--indra/newview/llfloatersearch.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/indra/newview/llfloatersearch.cpp b/indra/newview/llfloatersearch.cpp
index 2c618263ec..c658963708 100644
--- a/indra/newview/llfloatersearch.cpp
+++ b/indra/newview/llfloatersearch.cpp
@@ -42,7 +42,8 @@
LLFloaterSearch::LLFloaterSearch(const LLSD& key) :
LLFloater(key),
LLViewerMediaObserver(),
- mBrowser(NULL)
+ mBrowser(NULL),
+ mSearchGodLevel(0)
{
// declare a map that transforms a category name into
// the URL suffix that is used to search that category
@@ -86,12 +87,21 @@ void LLFloaterSearch::handleMediaEvent(LLPluginClassMedia *self, EMediaEvent eve
case MEDIA_EVENT_NAVIGATE_COMPLETE:
childSetText("status_text", getString("done_text"));
break;
-
+
default:
break;
}
}
+void LLFloaterSearch::godLevelChanged(U8 godlevel)
+{
+ // search results can change based upon god level - if the user
+ // changes god level, then give them a warning (we don't refresh
+ // the search as this might undo any page navigation or
+ // AJAX-driven changes since the last search).
+ childSetVisible("refresh_search", (godlevel != mSearchGodLevel));
+}
+
void LLFloaterSearch::search(const LLSD &key)
{
if (! mBrowser)
@@ -99,6 +109,10 @@ void LLFloaterSearch::search(const LLSD &key)
return;
}
+ // reset the god level warning as we're sending the latest state
+ childHide("refresh_search");
+ mSearchGodLevel = gAgent.getGodLevel();
+
// get the URL for the search page
std::string url = getString("search_url");
if (! LLStringUtil::endsWith(url, "/"))