Add tabbed view to UI

This commit is contained in:
wheaney 2025-08-29 22:03:49 -07:00
parent 128f7f54d7
commit 980e0358e0
2 changed files with 79 additions and 43 deletions

View File

@ -92,6 +92,7 @@ void BreezyDesktopEffectConfig::save()
updateConfigFromUi();
BreezyDesktopConfig::self()->save();
KCModule::save();
ui.kcfg_FocusedDisplayDistance->setEnabled(ui.kcfg_ZoomOnFocusEnabled->isChecked());
m_updatingFromConfig = false;
updateUnmanagedState();
@ -117,6 +118,7 @@ void BreezyDesktopEffectConfig::updateUiFromConfig()
ui.kcfg_AllDisplaysDistance->setValue(BreezyDesktopConfig::self()->allDisplaysDistance());
ui.kcfg_DisplaySpacing->setValue(BreezyDesktopConfig::self()->displaySpacing());
ui.kcfg_ZoomOnFocusEnabled->setChecked(BreezyDesktopConfig::self()->zoomOnFocusEnabled());
ui.kcfg_FocusedDisplayDistance->setEnabled(ui.kcfg_ZoomOnFocusEnabled->isChecked());
}
void BreezyDesktopEffectConfig::updateUiFromDefaultConfig()

View File

@ -2,9 +2,9 @@
<ui version="4.0">
<class>BreezyDesktopEffectConfig</class>
<widget class="QWidget" name="BreezyDesktopEffectConfig">
<layout class="QFormLayout" name="formLayout">
<item row="0" column="0" colspan="2">
<widget class="QLabel" name="labelDeviceConnectionStatus">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="labelDeviceConnectionStatus">
<property name="text">
<string>No device connected</string>
</property>
@ -13,83 +13,96 @@
</property>
<property name="font">
<font>
<pointsize>14</pointsize>
<weight>75</weight>
<bold>true</bold>
<pointsize>14</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
</widget>
</item>
<item row="1" column="0">
</widget>
</item>
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="tabPosition">
<enum>QTabWidget::North</enum>
</property>
<property name="tabShape">
<enum>QTabWidget::Rounded</enum>
</property>
<widget class="QWidget" name="tabGeneral">
<attribute name="title">
<string>&amp;General</string>
</attribute>
<layout class="QFormLayout" name="formLayout">
<item row="0" column="0">
<widget class="QCheckBox" name="kcfg_ZoomOnFocusEnabled">
<property name="text">
<string>Zoom on Focus</string>
<string>Zoom on Focus</string>
</property>
<property name="checked">
<bool>false</bool>
<bool>false</bool>
</property>
</widget>
</item>
<item row="2" column="0">
</item>
<item row="1" column="0">
<widget class="QLabel" name="labelFocusedDisplayDistance">
<property name="text">
<string>Focused Display Distance:</string>
<string>Focused Display Distance:</string>
</property>
</widget>
</item>
<item row="2" column="1">
</item>
<item row="1" column="1">
<widget class="LabeledSlider" name="kcfg_FocusedDisplayDistance">
<property name="decimalShift">
<double>2</double>
<double>2</double>
</property>
<property name="tickPosition">
<enum>QSlider::TicksBelow</enum>
<enum>QSlider::TicksBelow</enum>
</property>
<property name="tickInterval">
<double>25</double>
<double>25</double>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
<enum>Qt::Horizontal</enum>
</property>
<property name="tracking">
<bool>true</bool>
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="0">
</item>
<item row="2" column="0">
<widget class="QLabel" name="labelAllDisplaysDistance">
<property name="text">
<string>All Displays Distance:</string>
<string>All Displays Distance:</string>
</property>
</widget>
</item>
<item row="3" column="1">
</item>
<item row="2" column="1">
<widget class="LabeledSlider" name="kcfg_AllDisplaysDistance">
<property name="decimalShift">
<double>2</double>
<double>2</double>
</property>
<property name="tickPosition">
<enum>QSlider::TicksBelow</enum>
<enum>QSlider::TicksBelow</enum>
</property>
<property name="tickInterval">
<double>25</double>
<double>25</double>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
<enum>Qt::Horizontal</enum>
</property>
<property name="tracking">
<bool>true</bool>
<bool>true</bool>
</property>
</widget>
</item>
<item row="4" column="0">
</item>
<item row="3" column="0">
<widget class="QLabel" name="labelDisplaySpacing">
<property name="text">
<string>Display Spacing:</string>
</property>
</widget>
</item>
<item row="4" column="1">
</item>
<item row="3" column="1">
<widget class="QSlider" name="kcfg_DisplaySpacing">
<property name="orientation">
<enum>Qt::Horizontal</enum>
@ -98,18 +111,39 @@
<bool>true</bool>
</property>
</widget>
</item>
<item row="5" column="0" colspan="2">
</item>
<item row="4" column="0" colspan="2">
<widget class="KShortcutsEditor" name="shortcutsEditor" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="tabAdvanced">
<attribute name="title">
<string>&amp;Advanced</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayoutAdvanced">
<item>
<widget class="QLabel" name="labelAdvancedPlaceholder">
<property name="text">
<string>Advanced settings will appear here.</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>