diff --git a/README.rst b/README.rst
index 3e0e02dd4..e288eef03 100644
--- a/README.rst
+++ b/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/)
diff --git a/UI/data/themes/Acri/cogwheel@2x.png b/UI/data/themes/Acri/cogwheel@2x.png
new file mode 100644
index 000000000..49c4070a7
Binary files /dev/null and b/UI/data/themes/Acri/cogwheel@2x.png differ
diff --git a/UI/data/themes/Dark/cogwheel@2x.png b/UI/data/themes/Dark/cogwheel@2x.png
new file mode 100644
index 000000000..49c4070a7
Binary files /dev/null and b/UI/data/themes/Dark/cogwheel@2x.png differ
diff --git a/UI/forms/images/configuration21_16@2x.png b/UI/forms/images/configuration21_16@2x.png
new file mode 100644
index 000000000..fb5656036
Binary files /dev/null and b/UI/forms/images/configuration21_16@2x.png differ
diff --git a/UI/forms/images/invisible_mask@2x.png b/UI/forms/images/invisible_mask@2x.png
new file mode 100644
index 000000000..dffe83aa6
Binary files /dev/null and b/UI/forms/images/invisible_mask@2x.png differ
diff --git a/UI/forms/images/locked_mask@2x.png b/UI/forms/images/locked_mask@2x.png
new file mode 100644
index 000000000..9cad6a4ac
Binary files /dev/null and b/UI/forms/images/locked_mask@2x.png differ
diff --git a/UI/forms/images/properties@2x.png b/UI/forms/images/properties@2x.png
new file mode 100644
index 000000000..fb5656036
Binary files /dev/null and b/UI/forms/images/properties@2x.png differ
diff --git a/UI/forms/images/settings/advanced@2x.png b/UI/forms/images/settings/advanced@2x.png
new file mode 100644
index 000000000..f4e19cbb0
Binary files /dev/null and b/UI/forms/images/settings/advanced@2x.png differ
diff --git a/UI/forms/images/settings/applications-system-2@2x.png b/UI/forms/images/settings/applications-system-2@2x.png
new file mode 100644
index 000000000..b99e3d0d1
Binary files /dev/null and b/UI/forms/images/settings/applications-system-2@2x.png differ
diff --git a/UI/forms/images/settings/decibel_audio_player@2x.png b/UI/forms/images/settings/decibel_audio_player@2x.png
new file mode 100644
index 000000000..d55529004
Binary files /dev/null and b/UI/forms/images/settings/decibel_audio_player@2x.png differ
diff --git a/UI/forms/images/settings/network-bluetooth@2x.png b/UI/forms/images/settings/network-bluetooth@2x.png
new file mode 100644
index 000000000..98cbd0374
Binary files /dev/null and b/UI/forms/images/settings/network-bluetooth@2x.png differ
diff --git a/UI/forms/images/settings/network@2x.png b/UI/forms/images/settings/network@2x.png
new file mode 100644
index 000000000..ded3efd6c
Binary files /dev/null and b/UI/forms/images/settings/network@2x.png differ
diff --git a/UI/forms/images/settings/preferences-desktop-keyboard-shortcuts@2x.png b/UI/forms/images/settings/preferences-desktop-keyboard-shortcuts@2x.png
new file mode 100644
index 000000000..37d5c5c4c
Binary files /dev/null and b/UI/forms/images/settings/preferences-desktop-keyboard-shortcuts@2x.png differ
diff --git a/UI/forms/images/settings/preferences-system-network-3@2x.png b/UI/forms/images/settings/preferences-system-network-3@2x.png
new file mode 100644
index 000000000..75090280a
Binary files /dev/null and b/UI/forms/images/settings/preferences-system-network-3@2x.png differ
diff --git a/UI/forms/images/settings/system-settings-3@2x.png b/UI/forms/images/settings/system-settings-3@2x.png
new file mode 100644
index 000000000..6baeb0ae2
Binary files /dev/null and b/UI/forms/images/settings/system-settings-3@2x.png differ
diff --git a/UI/forms/images/settings/video-display-3@2x.png b/UI/forms/images/settings/video-display-3@2x.png
new file mode 100644
index 000000000..fbe85632c
Binary files /dev/null and b/UI/forms/images/settings/video-display-3@2x.png differ
diff --git a/UI/forms/images/unlocked_mask@2x.png b/UI/forms/images/unlocked_mask@2x.png
new file mode 100644
index 000000000..de5a6ad08
Binary files /dev/null and b/UI/forms/images/unlocked_mask@2x.png differ
diff --git a/UI/forms/images/visible_mask@2x.png b/UI/forms/images/visible_mask@2x.png
new file mode 100644
index 000000000..540180fdd
Binary files /dev/null and b/UI/forms/images/visible_mask@2x.png differ
diff --git a/UI/forms/obs.qrc b/UI/forms/obs.qrc
index a68bc705e..7ea29c256 100644
--- a/UI/forms/obs.qrc
+++ b/UI/forms/obs.qrc
@@ -4,30 +4,44 @@
images/unmute.png
images/refresh.png
images/configuration21_16.png
+ images/configuration21_16@2x.png
images/invisible_mask.png
+ images/invisible_mask@2x.png
images/visible_mask.png
+ images/visible_mask@2x.png
images/list_remove.png
images/add.png
images/down.png
images/editscene.png
images/live.png
images/properties.png
+ images/properties@2x.png
images/up.png
images/obs.png
images/tray_active.png
images/locked_mask.png
+ images/locked_mask@2x.png
images/unlocked_mask.png
+ images/unlocked_mask@2x.png
images/collapse.png
images/expand.png
images/settings/advanced.png
+ images/settings/advanced@2x.png
images/settings/network.png
+ images/settings/network@2x.png
images/settings/video-display-3.png
+ images/settings/video-display-3@2x.png
images/settings/decibel_audio_player.png
+ images/settings/decibel_audio_player@2x.png
images/settings/applications-system-2.png
+ images/settings/applications-system-2@2x.png
images/settings/system-settings-3.png
+ images/settings/system-settings-3@2x.png
images/settings/network-bluetooth.png
+ images/settings/network-bluetooth@2x.png
images/settings/preferences-desktop-keyboard-shortcuts.png
+ images/settings/preferences-desktop-keyboard-shortcuts@2x.png
diff --git a/UI/locked-checkbox.cpp b/UI/locked-checkbox.cpp
index 91a049fac..a5f6b5649 100644
--- a/UI/locked-checkbox.cpp
+++ b/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/locked_mask@2x.png";
+ unlockedFile = ":/res/images/unlocked_mask@2x.png";
+ } 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));
}
diff --git a/UI/obs-app.cpp b/UI/obs-app.cpp
index 900d7ac26..8fce4eaaf 100644
--- a/UI/obs-app.cpp
+++ b/UI/obs-app.cpp
@@ -1213,6 +1213,8 @@ bool OBSApp::OBSInit()
{
ProfileScope("OBSApp::OBSInit");
+ setAttribute(Qt::AA_UseHighDpiPixmaps);
+
bool licenseAccepted = config_get_bool(globalConfig, "General",
"LicenseAccepted");
OBSLicenseAgreement agreement(nullptr);
diff --git a/UI/visibility-checkbox.cpp b/UI/visibility-checkbox.cpp
index 5b73084e0..004a65c4d 100644
--- a/UI/visibility-checkbox.cpp
+++ b/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/visible_mask@2x.png";
+ uncheckedFile = ":/res/images/invisible_mask@2x.png";
+ } 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));
}