Преглед на файлове

libobs, UI: Add OBS_ICON_TYPE_PROCESS_AUDIO_OUTPUT

jpark37 преди 4 години
родител
ревизия
9b46795d57

+ 1 - 0
UI/data/themes/Acri.qss

@@ -1103,6 +1103,7 @@ OBSBasic {
     qproperty-groupIcon: url(./Dark/sources/group.svg);
     qproperty-sceneIcon: url(./Dark/sources/scene.svg);
     qproperty-defaultIcon: url(./Dark/sources/default.svg);
+    qproperty-audioProcessOutputIcon: url(./Dark/sources/windowaudio.svg);
 }
 
 /* Scene Tree */

+ 1 - 0
UI/data/themes/Dark.qss

@@ -817,6 +817,7 @@ OBSBasic {
     qproperty-groupIcon: url(./Dark/sources/group.svg);
     qproperty-sceneIcon: url(./Dark/sources/scene.svg);
     qproperty-defaultIcon: url(./Dark/sources/default.svg);
+    qproperty-audioProcessOutputIcon: url(./Dark/sources/windowaudio.svg);
 }
 
 /* Scene Tree */

+ 1 - 0
UI/data/themes/Dark/sources/windowaudio.svg

@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="#d2d2d2" d="M1.5 1.5h1.5v1.5H1.5V1.5zM4.5 1.5h1.5v1.5H4.5V1.5zM7.5 1.5h1.5v1.5H7.5V1.5zM22.5 3H10.5V1.5h12v1.5zM22.5 22.5H1.5V4.5h21v18zM24 1.5c0-.55-.45-1.5-1.5-1.5H1.5c-.55 0-1.5 .45-1.5 1.5v21c0 .55 .45 1.5 1.5 1.5h21c.55 0 1.5-.45 1.5-1.5z"/><g fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" stroke="#d2d2d2"><polygon points="10 6.5 7 10.5 4 10.5 4 16.5 7 16.5 10 20.5" fill="#d2d2d2" stroke="#d2d2d2"/><path d="M17 6.5a10 10 0 0 1 0 14M14 10a5 5 0 0 1 0 7"/></g></svg>

+ 1 - 0
UI/data/themes/Rachni.qss

@@ -1392,6 +1392,7 @@ OBSBasic {
     qproperty-groupIcon: url(./Dark/sources/group.svg);
     qproperty-sceneIcon: url(./Dark/sources/scene.svg);
     qproperty-defaultIcon: url(./Dark/sources/default.svg);
+    qproperty-audioProcessOutputIcon: url(./Dark/sources/windowaudio.svg);
 }
 
 /* Scene Tree */

+ 1 - 0
UI/data/themes/System.qss

@@ -242,6 +242,7 @@ OBSBasic {
     qproperty-groupIcon: url(:res/images/sources/group.svg);
     qproperty-sceneIcon: url(:res/images/sources/scene.svg);
     qproperty-defaultIcon: url(:res/images/sources/default.svg);
+    qproperty-audioProcessOutputIcon: url(:res/images/sources/windowaudio.svg);
 }
 
 /* Scene Tree */

+ 1 - 0
UI/forms/images/sources/windowaudio.svg

@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M1.5 1.5h1.5v1.5H1.5V1.5zM4.5 1.5h1.5v1.5H4.5V1.5zM7.5 1.5h1.5v1.5H7.5V1.5zM22.5 3H10.5V1.5h12v1.5zM22.5 22.5H1.5V4.5h21v18zM24 1.5c0-.55-.45-1.5-1.5-1.5H1.5c-.55 0-1.5 .45-1.5 1.5v21c0 .55 .45 1.5 1.5 1.5h21c.55 0 1.5-.45 1.5-1.5z"/><g fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" stroke="#000000"><polygon points="10 6.5 7 10.5 4 10.5 4 16.5 7 16.5 10 20.5" fill="#000000" stroke="#000000"/><path d="M17 6.5a10 10 0 0 1 0 14M14 10a5 5 0 0 1 0 7"/></g></svg>

+ 1 - 0
UI/forms/obs.qrc

@@ -43,6 +43,7 @@
     <file>images/sources/text.svg</file>
     <file>images/sources/window.svg</file>
     <file>images/sources/default.svg</file>
+    <file>images/sources/windowaudio.svg</file>
     <file>images/recording-active.svg</file>
     <file>images/recording-inactive.svg</file>
     <file>images/recording-pause.svg</file>

+ 12 - 0
UI/window-basic-main-icons.cpp

@@ -32,6 +32,8 @@ QIcon OBSBasic::GetSourceIcon(const char *id) const
 	case OBS_ICON_TYPE_CUSTOM:
 		//TODO: Add ability for sources to define custom icons
 		return GetDefaultIcon();
+	case OBS_ICON_TYPE_PROCESS_AUDIO_OUTPUT:
+		return GetAudioProcessOutputIcon();
 	default:
 		return GetDefaultIcon();
 	}
@@ -112,6 +114,11 @@ void OBSBasic::SetDefaultIcon(const QIcon &icon)
 	defaultIcon = icon;
 }
 
+void OBSBasic::SetAudioProcessOutputIcon(const QIcon &icon)
+{
+	audioProcessOutputIcon = icon;
+}
+
 QIcon OBSBasic::GetImageIcon() const
 {
 	return imageIcon;
@@ -186,3 +193,8 @@ QIcon OBSBasic::GetDefaultIcon() const
 {
 	return defaultIcon;
 }
+
+QIcon OBSBasic::GetAudioProcessOutputIcon() const
+{
+	return audioProcessOutputIcon;
+}

+ 5 - 0
UI/window-basic-main.hpp

@@ -165,6 +165,8 @@ class OBSBasic : public OBSMainWindow {
 			   DESIGNABLE true)
 	Q_PROPERTY(QIcon defaultIcon READ GetDefaultIcon WRITE SetDefaultIcon
 			   DESIGNABLE true)
+	Q_PROPERTY(QIcon audioProcessOutputIcon READ GetAudioProcessOutputIcon
+			   WRITE SetAudioProcessOutputIcon DESIGNABLE true)
 
 	friend class OBSAbout;
 	friend class OBSBasicPreview;
@@ -560,6 +562,7 @@ private:
 	QIcon groupIcon;
 	QIcon sceneIcon;
 	QIcon defaultIcon;
+	QIcon audioProcessOutputIcon;
 
 	QIcon GetImageIcon() const;
 	QIcon GetColorIcon() const;
@@ -574,6 +577,7 @@ private:
 	QIcon GetMediaIcon() const;
 	QIcon GetBrowserIcon() const;
 	QIcon GetDefaultIcon() const;
+	QIcon GetAudioProcessOutputIcon() const;
 
 	QSlider *tBar;
 	bool tBarActive = false;
@@ -773,6 +777,7 @@ private slots:
 	void SetGroupIcon(const QIcon &icon);
 	void SetSceneIcon(const QIcon &icon);
 	void SetDefaultIcon(const QIcon &icon);
+	void SetAudioProcessOutputIcon(const QIcon &icon);
 
 	void TBarChanged(int value);
 	void TBarReleased();

+ 1 - 0
libobs/obs-source.h

@@ -58,6 +58,7 @@ enum obs_icon_type {
 	OBS_ICON_TYPE_MEDIA,
 	OBS_ICON_TYPE_BROWSER,
 	OBS_ICON_TYPE_CUSTOM,
+	OBS_ICON_TYPE_PROCESS_AUDIO_OUTPUT,
 };
 
 enum obs_media_state {