diff --git a/src/app/main.cpp b/src/app/main.cpp index ce09e0d6ada..5acc468d9c5 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -286,7 +287,7 @@ static void setHighDpiEnvironmentVariable() std::unique_ptr settings(createUserSettings()); using Policy = Qt::HighDpiScaleFactorRoundingPolicy; - const Policy defaultPolicy = Utils::HostOsInfo::defaultHighDpiScaleFactorRoundingPolicy(); + const Policy defaultPolicy = Utils::StyleHelper::defaultHighDpiScaleFactorRoundingPolicy(); const Policy userPolicy = settings->value("Core/HighDpiScaleFactorRoundingPolicy", int(defaultPolicy)).value(); QGuiApplication::setHighDpiScaleFactorRoundingPolicy(userPolicy); diff --git a/src/libs/utils/hostosinfo.h b/src/libs/utils/hostosinfo.h index 2c5f54b447f..44880f7885c 100644 --- a/src/libs/utils/hostosinfo.h +++ b/src/libs/utils/hostosinfo.h @@ -90,12 +90,6 @@ public: static const FilePath &root(); - static constexpr Qt::HighDpiScaleFactorRoundingPolicy - defaultHighDpiScaleFactorRoundingPolicy() { - return isMacHost() ? Qt::HighDpiScaleFactorRoundingPolicy::Unset - : Qt::HighDpiScaleFactorRoundingPolicy::PassThrough; - } - private: static Qt::CaseSensitivity m_overrideFileNameCaseSensitivity; static bool m_useOverrideFileNameCaseSensitivity; diff --git a/src/libs/utils/stylehelper.cpp b/src/libs/utils/stylehelper.cpp index 2f205da9359..506601e8260 100644 --- a/src/libs/utils/stylehelper.cpp +++ b/src/libs/utils/stylehelper.cpp @@ -712,6 +712,12 @@ bool StyleHelper::isQDSTheme() return creatorTheme() ? creatorTheme()->flag(Theme::QDSTheme) : false; } +Qt::HighDpiScaleFactorRoundingPolicy StyleHelper::defaultHighDpiScaleFactorRoundingPolicy() +{ + return HostOsInfo::isMacHost() ? Qt::HighDpiScaleFactorRoundingPolicy::Unset + : Qt::HighDpiScaleFactorRoundingPolicy::PassThrough; +} + QIcon StyleHelper::getIconFromIconFont(const QString &fontName, const QList ¶meters) { QFontDatabase a; diff --git a/src/libs/utils/stylehelper.h b/src/libs/utils/stylehelper.h index 2b898cb1049..bfca04e2914 100644 --- a/src/libs/utils/stylehelper.h +++ b/src/libs/utils/stylehelper.h @@ -107,6 +107,9 @@ QTCREATOR_UTILS_EXPORT void setPanelWidgetSingleRow(QWidget *widget, bool value QTCREATOR_UTILS_EXPORT bool isQDSTheme(); +QTCREATOR_UTILS_EXPORT + Qt::HighDpiScaleFactorRoundingPolicy defaultHighDpiScaleFactorRoundingPolicy(); + class IconFontHelper { public: diff --git a/src/plugins/coreplugin/generalsettings.cpp b/src/plugins/coreplugin/generalsettings.cpp index 97b5c222cdd..e7da40832d7 100644 --- a/src/plugins/coreplugin/generalsettings.cpp +++ b/src/plugins/coreplugin/generalsettings.cpp @@ -148,7 +148,7 @@ GeneralSettingsWidget::GeneralSettingsWidget() const Policy userPolicy = ICore::settings()->value(settingsKeyDpiPolicy, - int(HostOsInfo::defaultHighDpiScaleFactorRoundingPolicy())) + int(StyleHelper::defaultHighDpiScaleFactorRoundingPolicy())) .value(); m_policyComboBox->setCurrentIndex(m_policyComboBox->findData(int(userPolicy))); @@ -343,7 +343,7 @@ void GeneralSettingsWidget::setDpiPolicy(Qt::HighDpiScaleFactorRoundingPolicy po dialog.exec(); } settings->setValueWithDefault(settingsKeyDpiPolicy, int(policy), - int(HostOsInfo::defaultHighDpiScaleFactorRoundingPolicy())); + int(StyleHelper::defaultHighDpiScaleFactorRoundingPolicy())); } void GeneralSettings::applyToolbarStyleFromSettings()