MAINT-5699 Graphics preset changes to None each time the Advanced Graphics floater is opened

meow-7.2.2
AndreyL ProductEngine 2016-02-26 10:52:23 +02:00
parent 9353dd38b1
commit 9d681027b3
2 changed files with 40 additions and 0 deletions

View File

@ -673,6 +673,12 @@ void LLFloaterPreference::cancel()
LLFloaterPathfindingConsole* pPathfindingConsole = pathfindingConsoleHandle.get();
pPathfindingConsole->onRegionBoundaryCross();
}
if (!mSavedGraphicsPreset.empty())
{
gSavedSettings.setString("PresetGraphicActive", mSavedGraphicsPreset);
LLPresetsManager::getInstance()->triggerChangeSignal();
}
}
void LLFloaterPreference::onOpen(const LLSD& key)
@ -1970,6 +1976,18 @@ void LLFloaterPreference::onClickSpellChecker()
void LLFloaterPreference::onClickAdvanced()
{
LLFloaterReg::showInstance("prefs_graphics_advanced");
LLTabContainer* tabcontainer = getChild<LLTabContainer>("pref core");
for (child_list_t::const_iterator iter = tabcontainer->getChildList()->begin();
iter != tabcontainer->getChildList()->end(); ++iter)
{
LLView* view = *iter;
LLPanelPreferenceGraphics* panel = dynamic_cast<LLPanelPreferenceGraphics*>(view);
if (panel)
{
panel->resetDirtyChilds();
}
}
}
void LLFloaterPreference::onClickActionChange()
@ -2076,6 +2094,11 @@ void LLFloaterPreference::changed()
}
void LLFloaterPreference::saveGraphicsPreset(std::string& preset)
{
mSavedGraphicsPreset = preset;
}
//------------------------------Updater---------------------------------------
static bool handleBandwidthChanged(const LLSD& newvalue)
@ -2465,6 +2488,11 @@ void LLPanelPreferenceGraphics::setPresetText()
if (hasDirtyChilds() && !preset_graphic_active.empty())
{
LLFloaterPreference* instance = LLFloaterReg::findTypedInstance<LLFloaterPreference>("preferences");
if (instance)
{
instance->saveGraphicsPreset(preset_graphic_active);
}
gSavedSettings.setString("PresetGraphicActive", "");
preset_graphic_active.clear();
// This doesn't seem to cause an infinite recursion. This trigger is needed to cause the pulldown
@ -2599,6 +2627,15 @@ void LLFloaterPreferenceGraphicsAdvanced::onOpen(const LLSD& key)
refresh();
}
void LLFloaterPreferenceGraphicsAdvanced::onClickCloseBtn(bool app_quitting)
{
LLFloaterPreference* instance = LLFloaterReg::findTypedInstance<LLFloaterPreference>("preferences");
if (instance)
{
instance->cancel();
}
}
LLFloaterPreferenceProxy::~LLFloaterPreferenceProxy()
{
}

View File

@ -176,6 +176,7 @@ public:
void buildPopupLists();
static void refreshSkin(void* data);
void selectPanel(const LLSD& name);
void saveGraphicsPreset(std::string& preset);
private:
@ -196,6 +197,7 @@ private:
std::string mDirectoryVisibility;
LLAvatarData mAvatarProperties;
std::string mSavedGraphicsPreset;
LOG_CLASS(LLFloaterPreference);
};
@ -271,6 +273,7 @@ public:
LLFloaterPreferenceGraphicsAdvanced(const LLSD& key);
~LLFloaterPreferenceGraphicsAdvanced();
void onOpen(const LLSD& key);
void onClickCloseBtn(bool app_quitting);
void disableUnavailableSettings();
void refreshEnabledGraphics();
void refreshEnabledState();