skip graphics config if not in engine

This commit is contained in:
Zach Pomerantz 2016-12-13 20:47:28 -05:00
parent bc59be12ef
commit bbb7229392

View file

@ -292,23 +292,24 @@ void setupPreferences() {
{ {
static const QString RENDER("Graphics"); static const QString RENDER("Graphics");
auto renderConfig = qApp->getRenderEngine()->getConfiguration(); auto renderConfig = qApp->getRenderEngine()->getConfiguration();
if (renderConfig) {
auto ambientOcclusionConfig = renderConfig->getConfig<AmbientOcclusionEffect>();
if (ambientOcclusionConfig) {
auto getter = [ambientOcclusionConfig]()->QString { return ambientOcclusionConfig->getPreset(); };
auto setter = [ambientOcclusionConfig](QString preset) { ambientOcclusionConfig->setPreset(preset); };
auto preference = new ComboBoxPreference(RENDER, "Ambient occlusion", getter, setter);
preference->setItems(ambientOcclusionConfig->getPresetList());
preferences->addPreference(preference);
}
auto ambientOcclusionConfig = renderConfig->getConfig<AmbientOcclusionEffect>(); auto shadowConfig = renderConfig->getConfig<RenderShadowTask>();
{ if (shadowConfig) {
auto getter = [ambientOcclusionConfig]()->QString { return ambientOcclusionConfig->getPreset(); }; auto getter = [shadowConfig]()->QString { return shadowConfig->getPreset(); };
auto setter = [ambientOcclusionConfig](QString preset) { ambientOcclusionConfig->setPreset(preset); }; auto setter = [shadowConfig](QString preset) { shadowConfig->setPreset(preset); };
auto preference = new ComboBoxPreference(RENDER, "Ambient occlusion", getter, setter); auto preference = new ComboBoxPreference(RENDER, "Shadows", getter, setter);
preference->setItems(ambientOcclusionConfig->getPresetList()); preference->setItems(shadowConfig->getPresetList());
preferences->addPreference(preference); preferences->addPreference(preference);
} }
auto shadowConfig = renderConfig->getConfig<RenderShadowTask>();
{
auto getter = [shadowConfig]()->QString { return shadowConfig->getPreset(); };
auto setter = [shadowConfig](QString preset) { shadowConfig->setPreset(preset); };
auto preference = new ComboBoxPreference(RENDER, "Shadows", getter, setter);
preference->setItems(shadowConfig->getPresetList());
preferences->addPreference(preference);
} }
} }
{ {