KeSp_controller/ui/tabs/tab_settings.slint
Mae PUGIN 4e93f4fd97 style: Custom DarkComboBox + DarkTab (Dracula theme throughout)
- DarkComboBox: PopupWindow dropdown with Dracula colors, replaces all std ComboBox
- DarkTab: custom tab bar with purple underline, replaces std TabWidget
- All 7 .slint files updated, zero std-widgets Button/ComboBox/TabWidget remaining

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 08:46:39 +02:00

97 lines
2.8 KiB
Text

import { Theme } from "../theme.slint";
import { DarkComboBox } from "../components/dark_combo_box.slint";
import { SettingsBridge } from "../globals.slint";
export component TabSettings inherits Rectangle {
background: Theme.bg-primary;
VerticalLayout {
padding: 20px;
spacing: 16px;
alignment: start;
Text {
text: "Settings";
color: Theme.fg-primary;
font-size: 20px;
font-weight: 700;
}
// Keyboard layout section
Rectangle {
background: Theme.bg-secondary;
border-radius: 8px;
height: 80px;
HorizontalLayout {
padding: 16px;
spacing: 12px;
alignment: start;
VerticalLayout {
alignment: center;
Text {
text: "Keyboard Layout";
color: Theme.fg-primary;
font-size: 14px;
}
Text {
text: "Controls how keycodes are displayed (label remapping)";
color: Theme.fg-secondary;
font-size: 11px;
}
}
Rectangle { horizontal-stretch: 1; }
VerticalLayout {
alignment: center;
DarkComboBox {
width: 200px;
model: SettingsBridge.available-layouts;
current-index <=> SettingsBridge.selected-layout-index;
selected(value) => {
SettingsBridge.change-layout(self.current-index);
}
}
}
}
}
// About section
Rectangle {
background: Theme.bg-secondary;
border-radius: 8px;
VerticalLayout {
padding: 16px;
spacing: 8px;
Text {
text: "About";
color: Theme.fg-primary;
font-size: 14px;
font-weight: 600;
}
Text {
text: "KaSe Controller v0.6.0";
color: Theme.fg-secondary;
font-size: 12px;
}
Text {
text: "Split keyboard configurator — Slint UI port";
color: Theme.fg-secondary;
font-size: 12px;
}
Text {
text: "Made with Slint";
color: Theme.accent-purple;
font-size: 11px;
}
}
}
// Spacer
Rectangle { vertical-stretch: 1; }
}
}