Explorar el Código

UI: Apply default stylesheet before applying theme

This significantly improves performance when switching themes.
The original intent was to "clear" customizations applied by the
previously selected theme. This change does not seem to achieve that goal.
Matt Gajownik hace 3 años
padre
commit
08cee21158
Se han modificado 2 ficheros con 3 adiciones y 0 borrados
  1. 2 0
      UI/obs-app.cpp
  2. 1 0
      UI/obs-app.hpp

+ 2 - 0
UI/obs-app.cpp

@@ -1117,6 +1117,7 @@ bool OBSApp::SetTheme(std::string name, std::string path)
 		}
 	}
 
+	setStyleSheet(defaultStyleSheet);
 	QString mpath = QString("file:///") + path.c_str();
 	setPalette(defaultPalette);
 	ParseExtraThemeData(path.c_str());
@@ -1132,6 +1133,7 @@ bool OBSApp::SetTheme(std::string name, std::string path)
 bool OBSApp::InitTheme()
 {
 	defaultPalette = palette();
+	defaultStyleSheet = styleSheet();
 
 	const char *themeName =
 		config_get_string(globalConfig, "General", "CurrentTheme2");

+ 1 - 0
UI/obs-app.hpp

@@ -74,6 +74,7 @@ class OBSApp : public QApplication {
 private:
 	std::string locale;
 	std::string theme;
+	QString defaultStyleSheet;
 	bool themeDarkMode = true;
 	ConfigFile globalConfig;
 	TextLookup textLookup;