diff options
-rw-r--r-- | src/app/main.cpp | 2 | ||||
-rw-r--r-- | src/libs/utils/stylehelper.h | 2 | ||||
-rw-r--r-- | src/plugins/coreplugin/generalsettings.cpp | 21 |
3 files changed, 23 insertions, 2 deletions
diff --git a/src/app/main.cpp b/src/app/main.cpp index bedbb5d39c9..b555596f875 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -283,7 +283,7 @@ static void setHighDpiEnvironmentVariable() { if (Utils::StyleHelper::defaultHighDpiScaleFactorRoundingPolicy() == Qt::HighDpiScaleFactorRoundingPolicy::Unset - || qEnvironmentVariableIsSet("QT_SCALE_FACTOR_ROUNDING_POLICY")) + || qEnvironmentVariableIsSet(Utils::StyleHelper::C_QT_SCALE_FACTOR_ROUNDING_POLICY)) return; std::unique_ptr<Utils::QtcSettings> settings(createUserSettings()); diff --git a/src/libs/utils/stylehelper.h b/src/libs/utils/stylehelper.h index ac5e53a4bd4..a7656b3eb3a 100644 --- a/src/libs/utils/stylehelper.h +++ b/src/libs/utils/stylehelper.h @@ -39,6 +39,8 @@ constexpr char C_SHOW_BORDER[] = "showborder"; constexpr char C_TOP_BORDER[] = "topBorder"; constexpr char C_TOOLBAR_ACTIONWIDGET[] = "toolbar_actionWidget"; +constexpr char C_QT_SCALE_FACTOR_ROUNDING_POLICY[] = "QT_SCALE_FACTOR_ROUNDING_POLICY"; + enum ToolbarStyle { ToolbarStyleCompact, ToolbarStyleRelaxed, diff --git a/src/plugins/coreplugin/generalsettings.cpp b/src/plugins/coreplugin/generalsettings.cpp index 3087b0d8c4b..4f9f8b9fb34 100644 --- a/src/plugins/coreplugin/generalsettings.cpp +++ b/src/plugins/coreplugin/generalsettings.cpp @@ -146,6 +146,7 @@ GeneralSettingsWidget::GeneralSettingsWidget() int(Policy::RoundPreferFloor)); m_policyComboBox->addItem(Tr::tr("Don't Round"), int(Policy::PassThrough)); m_policyComboBox->setSizeAdjustPolicy(QComboBox::AdjustToContents); + m_policyComboBox->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Preferred); const Policy userPolicy = ICore::settings()->value(settingsKeyDpiPolicy, @@ -153,7 +154,25 @@ GeneralSettingsWidget::GeneralSettingsWidget() .value<Policy>(); m_policyComboBox->setCurrentIndex(m_policyComboBox->findData(int(userPolicy))); - form.addRow({Tr::tr("DPI rounding policy:"), m_policyComboBox, st}); + form.addRow({Tr::tr("DPI rounding policy:"), m_policyComboBox}); + static const char *envVars[] = { + StyleHelper::C_QT_SCALE_FACTOR_ROUNDING_POLICY, "QT_ENABLE_HIGHDPI_SCALING", + "QT_FONT_DPI", "QT_SCALE_FACTOR", "QT_SCREEN_SCALE_FACTORS", "QT_USE_PHYSICAL_DPI", + }; + if (anyOf(envVars, qEnvironmentVariableIsSet)) { + QString toolTip = Tr::tr("The following environment variables are set and can " + "influence the UI scaling behavior of %1:") + .arg(QGuiApplication::applicationDisplayName()) + "\n"; + for (auto var : envVars) { + if (qEnvironmentVariableIsSet(var)) + toolTip.append(QLatin1String("\n") + var + "=" + qEnvironmentVariable(var)); + } + auto envVarInfo = new InfoLabel(Tr::tr("Environment influences UI scaling behavior.")); + envVarInfo->setAdditionalToolTip(toolTip); + form.addItem(envVarInfo); + } else { + form.addItem(st); + } } form.addRow({empty, generalSettings().showShortcutsInContextMenus}); |