Browse Source

Merge pull request #1444 from DungFu/retina-icons

UI: Add retina support and updated icons
Jim 7 years ago
parent
commit
e9141de841

+ 6 - 0
README.rst

@@ -47,3 +47,9 @@ Contributing
    you fully understand -- bad advice is worse than no advice.  When it
    comes to something that you don't fully know or understand, please
    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/[email protected]


BIN
UI/forms/images/[email protected]


BIN
UI/forms/images/[email protected]


BIN
UI/forms/images/[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]


BIN
UI/forms/images/[email protected]


BIN
UI/forms/images/[email protected]


+ 14 - 0
UI/forms/obs.qrc

@@ -4,30 +4,44 @@
     <file>images/unmute.png</file>
     <file>images/refresh.png</file>
     <file>images/configuration21_16.png</file>
+    <file>images/[email protected]</file>
     <file>images/invisible_mask.png</file>
+    <file>images/[email protected]</file>
     <file>images/visible_mask.png</file>
+    <file>images/[email protected]</file>
     <file>images/list_remove.png</file>
     <file>images/add.png</file>
     <file>images/down.png</file>
     <file>images/editscene.png</file>
     <file>images/live.png</file>
     <file>images/properties.png</file>
+    <file>images/[email protected]</file>
     <file>images/up.png</file>
     <file>images/obs.png</file>
     <file>images/tray_active.png</file>
     <file>images/locked_mask.png</file>
+    <file>images/[email protected]</file>
     <file>images/unlocked_mask.png</file>
+    <file>images/[email protected]</file>
     <file>images/collapse.png</file>
     <file>images/expand.png</file>
   </qresource>
   <qresource prefix="/settings">
     <file>images/settings/advanced.png</file>
+    <file>images/settings/[email protected]</file>
     <file>images/settings/network.png</file>
+    <file>images/settings/[email protected]</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/[email protected]</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/[email protected]</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/[email protected]</file>
   </qresource>
 </RCC>

+ 12 - 6
UI/locked-checkbox.cpp

@@ -7,10 +7,17 @@
 
 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);
 
 	setStyleSheet("outline: none;");
@@ -31,6 +38,5 @@ void LockedCheckBox::paintEvent(QPaintEvent *event)
 			palette().color(foregroundRole()));
 
 	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");
 
+	setAttribute(Qt::AA_UseHighDpiPixmaps);
+
 	bool licenseAccepted = config_get_bool(globalConfig, "General",
 			"LicenseAccepted");
 	OBSLicenseAgreement agreement(nullptr);

+ 12 - 6
UI/visibility-checkbox.cpp

@@ -7,10 +7,17 @@
 
 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);
 
 	setStyleSheet("outline: none;");
@@ -31,6 +38,5 @@ void VisibilityCheckBox::paintEvent(QPaintEvent *event)
 			palette().color(foregroundRole()));
 
 	QPainter p(this);
-	p.drawPixmap(0, 0, image.width(), image.height(),
-			QPixmap::fromImage(image));
+	p.drawPixmap(0, 0, 16, 16, QPixmap::fromImage(image));
 }