diff options
author | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2022-09-09 00:46:54 +0200 |
---|---|---|
committer | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2022-09-09 23:24:06 +0200 |
commit | 0462c1254ededc0092307d9a6e21e973c02587b1 (patch) | |
tree | 1923c9841e63963fcf1d467f9362b20c1944adaa | |
parent | a4abb0c4b79c91a6c9b82cd5678958786267be1d (diff) |
Add more logging to QHighDpiScaling
Change-Id: I12d0184b8fda86bed5b78dfb45a5d8dfb7da44bc
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
-rw-r--r-- | src/gui/kernel/qhighdpiscaling.cpp | 28 | ||||
-rw-r--r-- | src/gui/kernel/qhighdpiscaling_p.h | 4 |
2 files changed, 32 insertions, 0 deletions
diff --git a/src/gui/kernel/qhighdpiscaling.cpp b/src/gui/kernel/qhighdpiscaling.cpp index 00f2092ead..342ee39b8a 100644 --- a/src/gui/kernel/qhighdpiscaling.cpp +++ b/src/gui/kernel/qhighdpiscaling.cpp @@ -401,6 +401,8 @@ QDpi QHighDpiScaling::effectiveLogicalDpi(const QPlatformScreen *screen, qreal r */ void QHighDpiScaling::initHighDpiScaling() { + qCDebug(lcHighDpi) << "Initializing high-DPI scaling"; + // Read environment variables static const char* envDebugStr = "environment variable set:"; std::optional<int> envEnableHighDpiScaling = qEnvironmentVariableOptionalInt(enableHighDpiScalingEnvVar); @@ -474,6 +476,9 @@ void QHighDpiScaling::initHighDpiScaling() // Set initial active state m_active = m_globalScalingActive || m_usePlatformPluginDpi; + + qCDebug(lcHighDpi) << "Initialization done, high-DPI scaling is" + << (m_active ? "active" : "inactive"); } /* @@ -482,8 +487,11 @@ void QHighDpiScaling::initHighDpiScaling() */ void QHighDpiScaling::updateHighDpiScaling() { + qCDebug(lcHighDpi) << "Updating high-DPI scaling"; + // Apply screen factors from environment if (m_screenFactors.size() > 0) { + qCDebug(lcHighDpi) << "Applying screen factors" << m_screenFactors; int i = -1; const auto screens = QGuiApplication::screens(); for (const auto &[name, factor] : m_screenFactors) { @@ -515,6 +523,9 @@ void QHighDpiScaling::updateHighDpiScaling() } m_active = m_globalScalingActive || m_screenFactorSet || m_platformPluginDpiScalingActive; + + qCDebug(lcHighDpi) << "Update done, high-DPI scaling is" + << (m_active ? "active" : "inactive"); } /* @@ -522,6 +533,8 @@ void QHighDpiScaling::updateHighDpiScaling() */ void QHighDpiScaling::setGlobalFactor(qreal factor) { + qCDebug(lcHighDpi) << "Setting global scale factor to" << factor; + if (qFuzzyCompare(factor, m_factor)) return; if (!QGuiApplication::allWindows().isEmpty()) @@ -542,6 +555,8 @@ static const char scaleFactorProperty[] = "_q_scaleFactor"; */ void QHighDpiScaling::setScreenFactor(QScreen *screen, qreal factor) { + qCDebug(lcHighDpi) << "Setting screen scale factor for" << screen << "to" << factor; + if (!qFuzzyCompare(factor, qreal(1))) { m_screenFactorSet = true; m_active = true; @@ -748,6 +763,19 @@ QHighDpiScaling::ScaleAndOrigin QHighDpiScaling::scaleAndOrigin(const QWindow *, return { qreal(1), QPoint() }; } #endif //QT_NO_HIGHDPISCALING + +#ifndef QT_NO_DEBUG_STREAM +QDebug operator<<(QDebug debug, const QHighDpiScaling::ScreenFactor &factor) +{ + const QDebugStateSaver saver(debug); + debug.nospace(); + if (!factor.name.isEmpty()) + debug << factor.name << "="; + debug << factor.factor; + return debug; +} +#endif + QT_END_NAMESPACE #include "moc_qhighdpiscaling_p.cpp" diff --git a/src/gui/kernel/qhighdpiscaling_p.h b/src/gui/kernel/qhighdpiscaling_p.h index f9deae136d..189f31fd0a 100644 --- a/src/gui/kernel/qhighdpiscaling_p.h +++ b/src/gui/kernel/qhighdpiscaling_p.h @@ -114,6 +114,10 @@ private: static QVector<ScreenFactor> m_screenFactors; static DpiAdjustmentPolicy m_dpiAdjustmentPolicy; static QHash<QString, qreal> m_namedScreenScaleFactors; + +#ifndef QT_NO_DEBUG_STREAM + friend Q_GUI_EXPORT QDebug operator<<(QDebug, const ScreenFactor &); +#endif }; namespace QHighDpi { |