소스 검색

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 년 전
부모
커밋
08cee21158
2개의 변경된 파일3개의 추가작업 그리고 0개의 파일을 삭제
  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;