aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/app/main.cpp2
-rw-r--r--src/libs/utils/stylehelper.h2
-rw-r--r--src/plugins/coreplugin/generalsettings.cpp21
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});