| 2075 | } |
| 2076 | |
| 2077 | void |
| 2078 | Settings::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 |
no test coverage detected