MCPcopy Create free account
hub / github.com/NatronGitHub/Natron / restoreSettings

Method restoreSettings

Engine/Settings.cpp:2077–2166  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2075}
2076
2077void
2078Settings::restoreSettings(bool useDefault)
2079{
2080 _restoringSettings = true;
2081
2082 // call restoreKnobsFromSettings only if --no-settings is not part of the command-line arguments
2083 if (!useDefault) {
2084 const KnobsVec& knobs = getKnobs();
2085 restoreKnobsFromSettings(knobs);
2086 }
2087
2088 if (!_ocioRestored) {
2089 ///Load even though there's no settings!
2090 tryLoadOpenColorIOConfig();
2091 }
2092
2093 // Restore opengl renderer
2094 {
2095 std::vector<ChoiceOption> availableRenderers = _availableOpenGLRenderers->getEntries_mt_safe();
2096 QString missingGLError;
2097 bool hasGL = appPTR->hasOpenGLForRequirements(eOpenGLRequirementsTypeRendering, &missingGLError);
2098
2099 if ( availableRenderers.empty() || !hasGL) {
2100 if (missingGLError.isEmpty()) {
2101 _openglRendererString->setValue( tr("OpenGL rendering disabled: No device meeting %1 requirements could be found.").arg( QString::fromUtf8(NATRON_APPLICATION_NAME) ).toStdString() );
2102 } else {
2103 _openglRendererString->setValue(missingGLError.toStdString());
2104 }
2105 }
2106 int curIndex = _availableOpenGLRenderers->getValue();
2107 if ( (curIndex >= 0) && ( curIndex < (int)availableRenderers.size() ) ) {
2108 const std::list<OpenGLRendererInfo>& renderers = appPTR->getOpenGLRenderers();
2109 int i = 0;
2110 for (std::list<OpenGLRendererInfo>::const_iterator it = renderers.begin(); it != renderers.end(); ++it, ++i) {
2111 if (i == curIndex) {
2112 QString maxMemoryString = it->maxMemBytes == 0 ? tr("Unknown") : printAsRAM(it->maxMemBytes);
2113 QString curRenderer = (QString::fromUtf8("<p><h2>") +
2114 tr("OpenGL Renderer Infos:") +
2115 QString::fromUtf8("</h2></p><p><b>") +
2116 tr("Vendor:") +
2117 QString::fromUtf8("</b> %1</p><p><b>").arg( QString::fromUtf8( it->vendorName.c_str() ) ) +
2118 tr("Renderer:") +
2119 QString::fromUtf8("</b> %1</p><p><b>").arg( QString::fromUtf8( it->rendererName.c_str() ) ) +
2120 tr("OpenGL Version:") +
2121 QString::fromUtf8("</b> %1</p><p><b>").arg( QString::fromUtf8( it->glVersionString.c_str() ) ) +
2122 tr("GLSL Version:") +
2123 QString::fromUtf8("</b> %1</p><p><b>").arg( QString::fromUtf8( it->glslVersionString.c_str() ) ) +
2124 tr("Max. Memory:") +
2125 QString::fromUtf8("</b> %1</p><p><b>").arg(maxMemoryString) +
2126 tr("Max. Texture Size (px):") +
2127 QString::fromUtf8("</b> %5</p<").arg(it->maxTextureSize));
2128 _openglRendererString->setValue( curRenderer.toStdString() );
2129 break;
2130 }
2131 }
2132 }
2133 }
2134

Callers 1

loadInternalMethod · 0.45

Calls 15

printAsRAMFunction · 0.85
saveSettingFunction · 0.85
getEntries_mt_safeMethod · 0.80
emptyMethod · 0.80
toStdStringMethod · 0.80
setNThreadsPerEffectMethod · 0.80
setNThreadsToRenderMethod · 0.80
setUseThreadPoolMethod · 0.80
isEmptyMethod · 0.45

Tested by

no test coverage detected