Fix some inconsistent UI states

This commit is contained in:
wheaney 2025-09-24 12:49:16 -07:00
parent 90eb3aeb68
commit 1a1cbc94c5
2 changed files with 5 additions and 4 deletions

View File

@ -560,8 +560,9 @@ void BreezyDesktopEffect::setCurvedDisplaySupported(bool supported) {
Q_EMIT curvedDisplaySupportedChanged();
}
if (!supported && m_curvedDisplay) {
m_curvedDisplay = false;
bool curvedDisplayEnabled = supported && BreezyDesktopConfig::curvedDisplay();
if (curvedDisplayEnabled != m_curvedDisplay) {
m_curvedDisplay = curvedDisplayEnabled;
Q_EMIT curvedDisplayChanged();
}
}

View File

@ -663,14 +663,12 @@ void BreezyDesktopEffectConfig::pollDriverState()
if (m_curvedDisplaySupported) {
m_curvedDisplaySupported = false;
ui.kcfg_CurvedDisplay->setEnabled(false);
ui.kcfg_CurvedDisplay->setChecked(false);
ui.kcfg_CurvedDisplay->setToolTip(QObject::tr("This feature requires Qt version 6.6 or higher"));
}
} else {
if (!m_curvedDisplaySupported) {
m_curvedDisplaySupported = true;
ui.kcfg_CurvedDisplay->setEnabled(true);
ui.kcfg_CurvedDisplay->setChecked(BreezyDesktopConfig::self()->curvedDisplay());
ui.kcfg_CurvedDisplay->setToolTip(QString());
}
}
@ -735,6 +733,8 @@ void BreezyDesktopEffectConfig::updateSmoothFollowEnabled()
QJsonObject flags;
flags.insert(QStringLiteral("enable_breezy_desktop_smooth_follow"), enabled);
XRDriverIPC::instance().writeControlFlags(flags);
ui.kcfg_FocusedDisplayDistance->setEnabled(ui.kcfg_ZoomOnFocusEnabled->isChecked() || enabled);
}
bool BreezyDesktopEffectConfig::smoothFollowTrackYawEnabled(std::optional<QJsonObject> configJsonOpt)