diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ set(PROJECT_VERSION_MAJOR 5) cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR) -set(QT_MIN_VERSION "5.4.0") +set(QT_MIN_VERSION "5.5.0") set(KF5_MIN_VERSION "5.12.0") set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH} ) diff --git a/plugins/qpa/screen.h b/plugins/qpa/screen.h --- a/plugins/qpa/screen.h +++ b/plugins/qpa/screen.h @@ -47,6 +47,7 @@ QImage::Format format() const override; QSizeF physicalSize() const override; QPlatformCursor *cursor() const override; + QDpi logicalDpi() const override; private: KWayland::Client::Output *m_output; diff --git a/plugins/qpa/screen.cpp b/plugins/qpa/screen.cpp --- a/plugins/qpa/screen.cpp +++ b/plugins/qpa/screen.cpp @@ -62,5 +62,15 @@ return m_cursor.data(); } +QDpi Screen::logicalDpi() const +{ + static int force_dpi = qEnvironmentVariableIsSet("QT_WAYLAND_FORCE_DPI") ? qEnvironmentVariableIntValue("QT_WAYLAND_FORCE_DPI") : -1; + if (force_dpi > 0) { + return QDpi(force_dpi, force_dpi); + } + + return QPlatformScreen::logicalDpi(); +} + } }