Bläddra i källkod

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 3 år sedan
förälder
incheckning
08cee21158
2 ändrade filer med 3 tillägg och 0 borttagningar
  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;