Przeglądaj źródła

UI: Use icons from theme on Linux

Clayton Groeneveld 6 lat temu
rodzic
commit
2080051b9f

+ 2 - 0
UI/obs-app.cpp

@@ -1045,6 +1045,8 @@ OBSApp::OBSApp(int &argc, char **argv, profiler_name_store_t *store)
 	  profilerNameStore(store)
 {
 	sleepInhibitor = os_inhibit_sleep_create("OBS Video/audio");
+
+	setWindowIcon(QIcon::fromTheme("obs", QIcon(":/res/images/obs.png")));
 }
 
 OBSApp::~OBSApp()

+ 6 - 4
UI/window-basic-main.cpp

@@ -4977,7 +4977,8 @@ inline void OBSBasic::OnActivate()
 		UpdateProcessPriority();
 
 		if (trayIcon)
-			trayIcon->setIcon(QIcon(":/res/images/tray_active.png"));
+			trayIcon->setIcon(QIcon::fromTheme("obs-tray-active",
+					QIcon(":/res/images/tray_active.png")));
 	}
 }
 
@@ -4990,7 +4991,8 @@ inline void OBSBasic::OnDeactivate()
 		ClearProcessPriority();
 
 		if (trayIcon)
-			trayIcon->setIcon(QIcon(":/res/images/obs.png"));
+			trayIcon->setIcon(QIcon::fromTheme("obs-tray",
+					QIcon(":/res/images/obs.png")));
 	}
 }
 
@@ -6639,8 +6641,8 @@ void OBSBasic::ToggleShowHide()
 
 void OBSBasic::SystemTrayInit()
 {
-	trayIcon.reset(new QSystemTrayIcon(QIcon(":/res/images/obs.png"),
-			this));
+	trayIcon.reset(new QSystemTrayIcon(QIcon::fromTheme("obs-tray",
+			QIcon(":/res/images/obs.png")), this));
 	trayIcon->setToolTip("OBS Studio");
 
 	showHide = new QAction(QTStr("Basic.SystemTray.Show"),

+ 2 - 1
UI/window-basic-stats.cpp

@@ -139,7 +139,8 @@ OBSBasicStats::OBSBasicStats(QWidget *parent, bool closeable)
 	resize(800, 280);
 
 	setWindowTitle(QTStr("Basic.Stats"));
-	setWindowIcon(QIcon(":/res/images/obs.png"));
+	setWindowIcon(QIcon::fromTheme("obs", QIcon(":/res/images/obs.png")));
+
 	setWindowModality(Qt::NonModal);
 	setAttribute(Qt::WA_DeleteOnClose, true);
 

+ 2 - 1
UI/window-projector.cpp

@@ -30,7 +30,8 @@ OBSProjector::OBSProjector(QWidget *widget, obs_source_t *source_, int monitor,
 	type           = type_;
 
 	if (isWindow) {
-		setWindowIcon(QIcon(":/res/images/obs.png"));
+		setWindowIcon(QIcon::fromTheme("obs",
+				QIcon(":/res/images/obs.png")));
 
 		UpdateProjectorTitle(projectorTitle);
 		windowedProjectors.push_back(this);