From 3d6dee2a12624949947a3eb0d13ec6c912043b89 Mon Sep 17 00:00:00 2001 From: wmayer Date: Wed, 2 Dec 2020 13:15:01 +0100 Subject: [PATCH] Gui: [skip ci] add user parameter to disable High DPI scaling on Windows (by default off) --- src/Gui/Application.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/Gui/Application.cpp b/src/Gui/Application.cpp index 15213b3eb4..d359bff02e 100644 --- a/src/Gui/Application.cpp +++ b/src/Gui/Application.cpp @@ -1904,11 +1904,17 @@ void Application::runApplication(void) #if QT_VERSION >= 0x050600 //Enable automatic scaling based on pixel density of display (added in Qt 5.6) QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); + #ifdef FC_OS_WIN32 - SetProcessDPIAware(); // call before the main event loop - QApplication::setAttribute(Qt::AA_DisableHighDpiScaling); -#endif + ParameterGrp::handle hDPI = App::GetApplication().GetParameterGroupByPath("User parameter:BaseApp/Preferences/HighDPI"); + bool disableDpiScaling = hDPI->GetBool("DisableDpiScaling", false); + if (disableDpiScaling) { + SetProcessDPIAware(); // call before the main event loop + QApplication::setAttribute(Qt::AA_DisableHighDpiScaling); + } #endif +#endif // QT_VERSION >= 0x050600 + #if QT_VERSION >= 0x050100 //Enable support for highres images (added in Qt 5.1, but off by default) QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);