[PPE] Add SinguPostProcessDefault for setting active and persisting preset

This commit is contained in:
Lirusaito
2019-03-08 13:56:07 -05:00
parent b7ef79f1b7
commit f8c8734e79
2 changed files with 20 additions and 5 deletions

View File

@@ -35,6 +35,7 @@
#include "llpostprocess.h" #include "llpostprocess.h"
#include "lldir.h" #include "lldir.h"
#include "llcontrol.h"
#include "llfasttimer.h" #include "llfasttimer.h"
#include "llgl.h" #include "llgl.h"
#include "llglslshader.h" #include "llglslshader.h"
@@ -369,11 +370,13 @@ LLPostProcess::LLPostProcess(void) :
load_effects(gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "windlight", XML_FILENAME)); load_effects(gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "windlight", XML_FILENAME));
load_effects(gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "windlight", XML_FILENAME)); load_effects(gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "windlight", XML_FILENAME));
// Singu TODO: Make this configurable via settings auto setting = gSavedSettings.getControl("SinguPostProcessDefault");
if (!mAllEffectInfo.has("Default")) setting->getSignal()->connect(std::bind(&LLPostProcess::setSelectedEffect, this, std::bind(&LLSD::asStringRef, std::placeholders::_2)));
mAllEffectInfo["Default"] = LLSD::emptyMap(); const auto& str = setting->get().asStringRef();
if (!mAllEffectInfo.has(str))
mAllEffectInfo[str] = LLSD::emptyMap();
LLSD& defaults = mAllEffectInfo["Default"]; LLSD& defaults = mAllEffectInfo[str];
// Add defaults for all missing effects // Add defaults for all missing effects
for(auto& shader : mShaders) for(auto& shader : mShaders)
@@ -385,11 +388,12 @@ LLPostProcess::LLPostProcess(void) :
defaults[it2->first]=it2->second; defaults[it2->first]=it2->second;
} }
} }
setSelectedEffect("Default"); setSelectedEffect(str);
} }
LLPostProcess::~LLPostProcess(void) LLPostProcess::~LLPostProcess(void)
{ {
gSavedSettings.setString("SinguPostProcessDefault", mSelectedEffectName);
destroyGL() ; destroyGL() ;
} }

View File

@@ -918,6 +918,17 @@ RIP Latif Khalifa.</string>
<key>Value</key> <key>Value</key>
<boolean>1</boolean> <boolean>1</boolean>
</map> </map>
<key>SinguPostProcessDefault</key>
<map>
<key>Comment</key>
<string>Default post process preset, changing this will change your active preset</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>String</string>
<key>Value</key>
<boolean>Default</boolean>
</map>
<key>SinguReplaceLinks</key> <key>SinguReplaceLinks</key>
<map> <map>
<key>Comment</key> <key>Comment</key>