Bladeren bron

Merge pull request #1444 from DungFu/retina-icons

UI: Add retina support and updated icons
Jim 7 jaren geleden
bovenliggende
commit
e9141de841

+ 6 - 0
README.rst

@@ -47,3 +47,9 @@ Contributing
    you fully understand -- bad advice is worse than no advice.  When it
    you fully understand -- bad advice is worse than no advice.  When it
    comes to something that you don't fully know or understand, please
    comes to something that you don't fully know or understand, please
    defer to the official help or official channels.
    defer to the official help or official channels.
+
+Credits
+-------
+ - Icons made by [Freepik](http://www.freepik.com) from
+   [www.flaticon.com](https://www.flaticon.com/) is licensed by
+   [CC 3.0 BY](http://creativecommons.org/licenses/by/3.0/)

BIN
UI/data/themes/Acri/[email protected]


BIN
UI/data/themes/Dark/[email protected]






BIN
UI/forms/images/settings/[email protected]


BIN
UI/forms/images/settings/[email protected]


BIN
UI/forms/images/settings/[email protected]


BIN
UI/forms/images/settings/[email protected]


BIN
UI/forms/images/settings/[email protected]


BIN
UI/forms/images/settings/[email protected]


BIN
UI/forms/images/settings/[email protected]


BIN
UI/forms/images/settings/[email protected]


BIN
UI/forms/images/settings/[email protected]




+ 14 - 0
UI/forms/obs.qrc

@@ -4,30 +4,44 @@
     <file>images/unmute.png</file>
     <file>images/unmute.png</file>
     <file>images/refresh.png</file>
     <file>images/refresh.png</file>
     <file>images/configuration21_16.png</file>
     <file>images/configuration21_16.png</file>
+    <file>images/[email protected]</file>
     <file>images/invisible_mask.png</file>
     <file>images/invisible_mask.png</file>
+    <file>images/[email protected]</file>
     <file>images/visible_mask.png</file>
     <file>images/visible_mask.png</file>
+    <file>images/[email protected]</file>
     <file>images/list_remove.png</file>
     <file>images/list_remove.png</file>
     <file>images/add.png</file>
     <file>images/add.png</file>
     <file>images/down.png</file>
     <file>images/down.png</file>
     <file>images/editscene.png</file>
     <file>images/editscene.png</file>
     <file>images/live.png</file>
     <file>images/live.png</file>
     <file>images/properties.png</file>
     <file>images/properties.png</file>
+    <file>images/[email protected]</file>
     <file>images/up.png</file>
     <file>images/up.png</file>
     <file>images/obs.png</file>
     <file>images/obs.png</file>
     <file>images/tray_active.png</file>
     <file>images/tray_active.png</file>
     <file>images/locked_mask.png</file>
     <file>images/locked_mask.png</file>
+    <file>images/[email protected]</file>
     <file>images/unlocked_mask.png</file>
     <file>images/unlocked_mask.png</file>
+    <file>images/[email protected]</file>
     <file>images/collapse.png</file>
     <file>images/collapse.png</file>
     <file>images/expand.png</file>
     <file>images/expand.png</file>
   </qresource>
   </qresource>
   <qresource prefix="/settings">
   <qresource prefix="/settings">
     <file>images/settings/advanced.png</file>
     <file>images/settings/advanced.png</file>
+    <file>images/settings/[email protected]</file>
     <file>images/settings/network.png</file>
     <file>images/settings/network.png</file>
+    <file>images/settings/[email protected]</file>
     <file>images/settings/video-display-3.png</file>
     <file>images/settings/video-display-3.png</file>
+    <file>images/settings/[email protected]</file>
     <file>images/settings/decibel_audio_player.png</file>
     <file>images/settings/decibel_audio_player.png</file>
+    <file>images/settings/[email protected]</file>
     <file>images/settings/applications-system-2.png</file>
     <file>images/settings/applications-system-2.png</file>
+    <file>images/settings/[email protected]</file>
     <file>images/settings/system-settings-3.png</file>
     <file>images/settings/system-settings-3.png</file>
+    <file>images/settings/[email protected]</file>
     <file>images/settings/network-bluetooth.png</file>
     <file>images/settings/network-bluetooth.png</file>
+    <file>images/settings/[email protected]</file>
     <file>images/settings/preferences-desktop-keyboard-shortcuts.png</file>
     <file>images/settings/preferences-desktop-keyboard-shortcuts.png</file>
+    <file>images/settings/[email protected]</file>
   </qresource>
   </qresource>
 </RCC>
 </RCC>

+ 12 - 6
UI/locked-checkbox.cpp

@@ -7,10 +7,17 @@
 
 
 LockedCheckBox::LockedCheckBox() : QCheckBox()
 LockedCheckBox::LockedCheckBox() : QCheckBox()
 {
 {
-	lockedImage =
-		QPixmap::fromImage(QImage(":/res/images/locked_mask.png"));
-	unlockedImage =
-		QPixmap::fromImage(QImage(":/res/images/unlocked_mask.png"));
+	QString lockedFile;
+	QString unlockedFile;
+	if (devicePixelRatio() >= 2) {
+		lockedFile = ":/res/images/[email protected]";
+		unlockedFile = ":/res/images/[email protected]";
+	} else {
+		lockedFile = ":/res/images/locked_mask.png";
+		unlockedFile = ":/res/images/unlocked_mask.png";
+	}
+	lockedImage = QPixmap::fromImage(QImage(lockedFile));
+	unlockedImage = QPixmap::fromImage(QImage(unlockedFile));
 	setMinimumSize(16, 16);
 	setMinimumSize(16, 16);
 
 
 	setStyleSheet("outline: none;");
 	setStyleSheet("outline: none;");
@@ -31,6 +38,5 @@ void LockedCheckBox::paintEvent(QPaintEvent *event)
 			palette().color(foregroundRole()));
 			palette().color(foregroundRole()));
 
 
 	QPainter p(this);
 	QPainter p(this);
-	p.drawPixmap(0, 0, image.width(), image.height(),
-			QPixmap::fromImage(image));
+	p.drawPixmap(0, 0, 16, 16, QPixmap::fromImage(image));
 }
 }

+ 2 - 0
UI/obs-app.cpp

@@ -1216,6 +1216,8 @@ bool OBSApp::OBSInit()
 {
 {
 	ProfileScope("OBSApp::OBSInit");
 	ProfileScope("OBSApp::OBSInit");
 
 
+	setAttribute(Qt::AA_UseHighDpiPixmaps);
+
 	bool licenseAccepted = config_get_bool(globalConfig, "General",
 	bool licenseAccepted = config_get_bool(globalConfig, "General",
 			"LicenseAccepted");
 			"LicenseAccepted");
 	OBSLicenseAgreement agreement(nullptr);
 	OBSLicenseAgreement agreement(nullptr);

+ 12 - 6
UI/visibility-checkbox.cpp

@@ -7,10 +7,17 @@
 
 
 VisibilityCheckBox::VisibilityCheckBox() : QCheckBox()
 VisibilityCheckBox::VisibilityCheckBox() : QCheckBox()
 {
 {
-	checkedImage =
-		QPixmap::fromImage(QImage(":/res/images/visible_mask.png"));
-	uncheckedImage =
-		QPixmap::fromImage(QImage(":/res/images/invisible_mask.png"));
+	QString checkedFile;
+	QString uncheckedFile;
+	if (devicePixelRatio() >= 2) {
+		checkedFile = ":/res/images/[email protected]";
+		uncheckedFile = ":/res/images/[email protected]";
+	} else {
+		checkedFile = ":/res/images/visible_mask.png";
+		uncheckedFile = ":/res/images/invisible_mask.png";
+	}
+	checkedImage = QPixmap::fromImage(QImage(checkedFile));
+	uncheckedImage = QPixmap::fromImage(QImage(uncheckedFile));
 	setMinimumSize(16, 16);
 	setMinimumSize(16, 16);
 
 
 	setStyleSheet("outline: none;");
 	setStyleSheet("outline: none;");
@@ -31,6 +38,5 @@ void VisibilityCheckBox::paintEvent(QPaintEvent *event)
 			palette().color(foregroundRole()));
 			palette().color(foregroundRole()));
 
 
 	QPainter p(this);
 	QPainter p(this);
-	p.drawPixmap(0, 0, image.width(), image.height(),
-			QPixmap::fromImage(image));
+	p.drawPixmap(0, 0, 16, 16, QPixmap::fromImage(image));
 }
 }