SL-19591 Prompt user to save current settings as Graphics Preset before enabling AutoFPS
parent
41d24952ff
commit
82fb4a08ec
|
|
@ -39,6 +39,7 @@
|
|||
#include "llnamelistctrl.h"
|
||||
#include "llnotificationsutil.h"
|
||||
#include "llperfstats.h"
|
||||
#include "llpresetsmanager.h"
|
||||
#include "llradiogroup.h"
|
||||
#include "llsliderctrl.h"
|
||||
#include "lltextbox.h"
|
||||
|
|
@ -158,6 +159,8 @@ BOOL LLFloaterPerformance::postBuild()
|
|||
mStartAutotuneBtn->setCommitCallback(boost::bind(&LLFloaterPerformance::startAutotune, this));
|
||||
mStopAutotuneBtn->setCommitCallback(boost::bind(&LLFloaterPerformance::stopAutotune, this));
|
||||
|
||||
gSavedPerAccountSettings.declareBOOL("HadEnabledAutoFPS", FALSE, "User had enabled AutoFPS at least once", LLControlVariable::PERSIST_ALWAYS);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
@ -188,7 +191,10 @@ void LLFloaterPerformance::showAutoadjustmentsPanel()
|
|||
|
||||
void LLFloaterPerformance::draw()
|
||||
{
|
||||
if (mUpdateTimer->hasExpired())
|
||||
enableAutotuneWarning();
|
||||
|
||||
if (mUpdateTimer->hasExpired() &&
|
||||
!LLFloaterReg::instanceVisible("save_pref_preset", PRESETS_GRAPHIC)) // give user a chance to save the graphics settings before updating them
|
||||
{
|
||||
setFPSText();
|
||||
if (mHUDsPanel->getVisible())
|
||||
|
|
@ -672,4 +678,22 @@ void LLFloaterPerformance::updateAutotuneCtrls(bool autotune_enabled)
|
|||
getChild<LLTextBox>("wip_desc")->setVisible(autotune_enabled && !auto_tune_locked);
|
||||
getChild<LLTextBox>("display_desc")->setVisible(LLPerfStats::tunables.vsyncEnabled);
|
||||
}
|
||||
|
||||
void LLFloaterPerformance::enableAutotuneWarning()
|
||||
{
|
||||
if (!gSavedPerAccountSettings.getBOOL("HadEnabledAutoFPS") && LLPerfStats::tunables.userAutoTuneEnabled)
|
||||
{
|
||||
gSavedPerAccountSettings.setBOOL("HadEnabledAutoFPS", TRUE);
|
||||
|
||||
LLNotificationsUtil::add("EnableAutoFPSWarning", LLSD(), LLSD(),
|
||||
[](const LLSD& notif, const LLSD& resp)
|
||||
{
|
||||
S32 opt = LLNotificationsUtil::getSelectedOption(notif, resp);
|
||||
if (opt == 0)
|
||||
{ // offer user to save current graphics settings as a preset
|
||||
LLFloaterReg::showInstance("save_pref_preset", PRESETS_GRAPHIC);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
// EOF
|
||||
|
|
|
|||
|
|
@ -71,6 +71,7 @@ private:
|
|||
void startAutotune();
|
||||
void stopAutotune();
|
||||
void updateAutotuneCtrls(bool autotune_enabled);
|
||||
void enableAutotuneWarning();
|
||||
|
||||
void updateMaxRenderTime();
|
||||
|
||||
|
|
|
|||
|
|
@ -11965,4 +11965,18 @@ If you want others to see this object, remove it and re-attach it to an avatar a
|
|||
yestext="OK"/>
|
||||
</notification>
|
||||
|
||||
<notification
|
||||
icon="alertmodal.tga"
|
||||
name="EnableAutoFPSWarning"
|
||||
type="alertmodal">
|
||||
You are about to enable AutoFPS. All unsaved graphics settings will be lost.
|
||||
|
||||
Would you like to save them first?
|
||||
<tag>confirm</tag>
|
||||
<usetemplate
|
||||
name="okcancelbuttons"
|
||||
notext="No"
|
||||
yestext="Yes"/>
|
||||
</notification>
|
||||
|
||||
</notifications>
|
||||
|
|
|
|||
Loading…
Reference in New Issue