Skip to content
Snippets Groups Projects
Commit 621df44f authored by Alexei Arabadji's avatar Alexei Arabadji
Browse files
--HG--
branch : product-engine
parents 42339808 c6323310
No related branches found
No related tags found
No related merge requests found
...@@ -47,6 +47,7 @@ LLFloaterReg::instance_map_t LLFloaterReg::sInstanceMap; ...@@ -47,6 +47,7 @@ LLFloaterReg::instance_map_t LLFloaterReg::sInstanceMap;
LLFloaterReg::build_map_t LLFloaterReg::sBuildMap; LLFloaterReg::build_map_t LLFloaterReg::sBuildMap;
std::map<std::string,std::string> LLFloaterReg::sGroupMap; std::map<std::string,std::string> LLFloaterReg::sGroupMap;
bool LLFloaterReg::sBlockShowFloaters = false; bool LLFloaterReg::sBlockShowFloaters = false;
std::set<std::string> LLFloaterReg::sAlwaysShowableList;
static LLFloaterRegListener sFloaterRegListener; static LLFloaterRegListener sFloaterRegListener;
...@@ -219,7 +220,9 @@ LLFloaterReg::const_instance_list_t& LLFloaterReg::getFloaterList(const std::str ...@@ -219,7 +220,9 @@ LLFloaterReg::const_instance_list_t& LLFloaterReg::getFloaterList(const std::str
//static //static
LLFloater* LLFloaterReg::showInstance(const std::string& name, const LLSD& key, BOOL focus) LLFloater* LLFloaterReg::showInstance(const std::string& name, const LLSD& key, BOOL focus)
{ {
if( sBlockShowFloaters ) if( sBlockShowFloaters
// see EXT-7090
&& sAlwaysShowableList.find(name) == sAlwaysShowableList.end())
return 0;// return 0;//
LLFloater* instance = getInstance(name, key); LLFloater* instance = getInstance(name, key);
if (instance) if (instance)
...@@ -403,6 +406,14 @@ void LLFloaterReg::registerControlVariables() ...@@ -403,6 +406,14 @@ void LLFloaterReg::registerControlVariables()
declareVisibilityControl(name); declareVisibilityControl(name);
} }
} }
const LLSD& exclude_list = LLUI::sSettingGroups["config"]->getLLSD("always_showable_floaters");
for (LLSD::array_const_iterator iter = exclude_list.beginArray();
iter != exclude_list.endArray();
iter++)
{
sAlwaysShowableList.insert(iter->asString());
}
} }
// Callbacks // Callbacks
......
...@@ -76,6 +76,10 @@ class LLFloaterReg ...@@ -76,6 +76,10 @@ class LLFloaterReg
static build_map_t sBuildMap; static build_map_t sBuildMap;
static std::map<std::string,std::string> sGroupMap; static std::map<std::string,std::string> sGroupMap;
static bool sBlockShowFloaters; static bool sBlockShowFloaters;
/**
* Defines list of floater names that can be shown despite state of sBlockShowFloaters.
*/
static std::set<std::string> sAlwaysShowableList;
public: public:
// Registration // Registration
......
...@@ -11217,5 +11217,19 @@ ...@@ -11217,5 +11217,19 @@
<key>Value</key> <key>Value</key>
<integer>178</integer> <integer>178</integer>
</map> </map>
<key>always_showable_floaters</key>
<map>
<key>Comment</key>
<string>Floaters that can be shown despite mouselook mode</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>LLSD</string>
<key>Value</key>
<array>
<string>snapshot</string>
<string>mini_map</string>
</array>
</map>
</map> </map>
</llsd> </llsd>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment