From 53f92ba1f62e9be2438ad4f7bb38b8702b08dd32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20=C3=81ngel=20San=20Mart=C3=ADn?= Date: Mon, 13 Sep 2021 17:34:15 +0200 Subject: [PATCH] Enable hdpi scaling --- YACReader/main.cpp | 9 ++++++++- YACReaderLibrary/main.cpp | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/YACReader/main.cpp b/YACReader/main.cpp index 228d1628..7a76640b 100644 --- a/YACReader/main.cpp +++ b/YACReader/main.cpp @@ -89,6 +89,13 @@ int main(int argc, char *argv[]) { qInstallMessageHandler(messageHandler); + static const char ENV_VAR_QT_DEVICE_PIXEL_RATIO[] = "QT_DEVICE_PIXEL_RATIO"; + if (!qEnvironmentVariableIsSet(ENV_VAR_QT_DEVICE_PIXEL_RATIO) && !qEnvironmentVariableIsSet("QT_AUTO_SCREEN_SCALE_FACTOR") && !qEnvironmentVariableIsSet("QT_SCALE_FACTOR") && !qEnvironmentVariableIsSet("QT_SCREEN_SCALE_FACTORS")) { + QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); + } + + QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); + #if defined(_MSC_VER) && defined(_DEBUG) _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); #endif @@ -105,7 +112,7 @@ int main(int argc, char *argv[]) app.setApplicationName("YACReader"); app.setOrganizationName("YACReader"); - app.setAttribute(Qt::AA_UseHighDpiPixmaps); + if (QIcon::hasThemeIcon("YACReader")) { app.setWindowIcon(QIcon::fromTheme("YACReader")); } diff --git a/YACReaderLibrary/main.cpp b/YACReaderLibrary/main.cpp index a0c06e61..a2f3fbef 100644 --- a/YACReaderLibrary/main.cpp +++ b/YACReaderLibrary/main.cpp @@ -119,6 +119,14 @@ void messageHandler(QtMsgType type, const QMessageLogContext &context, const QSt int main(int argc, char **argv) { qInstallMessageHandler(messageHandler); + + static const char ENV_VAR_QT_DEVICE_PIXEL_RATIO[] = "QT_DEVICE_PIXEL_RATIO"; + if (!qEnvironmentVariableIsSet(ENV_VAR_QT_DEVICE_PIXEL_RATIO) && !qEnvironmentVariableIsSet("QT_AUTO_SCREEN_SCALE_FACTOR") && !qEnvironmentVariableIsSet("QT_SCALE_FACTOR") && !qEnvironmentVariableIsSet("QT_SCREEN_SCALE_FACTORS")) { + QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); + } + + QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); + QApplication app(argc, argv); #ifdef FORCE_ANGLE @@ -128,7 +136,6 @@ int main(int argc, char **argv) app.setApplicationName("YACReaderLibrary"); app.setOrganizationName("YACReader"); app.setApplicationVersion(VERSION); - app.setAttribute(Qt::AA_UseHighDpiPixmaps); // Set window icon according to Freedesktop icon specification // This is mostly relevant for Linux and other Unix systems