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