vertical tabs on configuration

This commit is contained in:
Benjamin Palko 2025-09-11 23:57:12 -04:00
parent 83e9c6f08c
commit 8ba0567d28
4 changed files with 65 additions and 50 deletions

View file

@ -1,9 +1,7 @@
import qs.components import qs.components
import qs.config
import qs.services import qs.services
import QtQuick import QtQuick
import QtQuick.Controls import QtQuick.Controls
import QtQuick.Layouts
StyledPanelWindow { StyledPanelWindow {
id: window id: window
@ -14,53 +12,52 @@ StyledPanelWindow {
implicitWidth: 800 implicitWidth: 800
implicitHeight: 400 implicitHeight: 400
ColumnLayout { StyledTabBar {
spacing: 0 id: tabs
anchors.fill: parent anchors.top: parent.top
StyledText { anchors.left: parent.left
Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter anchors.bottom: parent.bottom
anchors.right: view.left
text: "Configurations" implicitWidth: 200
font.pixelSize: Styling.typography.textSize.xl orientation: ListView.Vertical
padding: 8
StyledTabButton {
anchors.left: parent.left
anchors.right: parent.right
text: "General"
} }
StyledTabButton {
StyledRectangle { anchors.left: parent.left
id: titleBar anchors.right: parent.right
text: "Styling"
Layout.fillWidth: true
Layout.preferredHeight: 4
} }
}
SwipeView {
id: view
anchors.top: parent.top
anchors.right: parent.right
anchors.bottom: parent.bottom
anchors.left: tabs.right
clip: true
orientation: Qt.Vertical
currentIndex: tabs.currentIndex
ScrollView { ScrollView {
id: view padding: 36
StyledPane {
Layout.fillHeight: true anchors.left: parent.left
padding: 24 anchors.right: parent.right
background: Item {}
GridLayout {
columnSpacing: Styling.layout.spacing.xl
StyledText {
text: "Theme"
// font.bold: true
font.pixelSize: Styling.typography.textSize.lg
}
StyledComboBox {
currentIndex: Theme.themes.indexOf(Theme.currentTheme)
model: Theme.themes
onActivated: index => {
Theme.currentTheme = Theme.themes[index];
}
}
} }
} }
} ScrollView {
padding: 36
component Menus: QtObject { StylingView {}
property Component theme }
} }
} }

View file

@ -0,0 +1,25 @@
import qs.components
import qs.config
import QtQuick
import QtQuick.Layouts
StyledPane {
GridLayout {
columnSpacing: Styling.layout.spacing.xl
StyledText {
text: "Theme"
// font.bold: true
font.pixelSize: Styling.typography.textSize.lg
}
StyledComboBox {
currentIndex: Theme.themes.indexOf(Theme.currentTheme)
model: Theme.themes
onActivated: index => {
Theme.currentTheme = Theme.themes[index];
}
}
}
}

View file

@ -1,5 +0,0 @@
import QtQuick
import QtQuick.Layouts
import Quickshell
GridLayout {}

View file

@ -60,7 +60,6 @@ StyledPanelWindow {
currentIndex: tabs.currentIndex currentIndex: tabs.currentIndex
ScrollView { ScrollView {
Layout.fillWidth: true
padding: 36 padding: 36
Fields {} Fields {}
} }
@ -69,7 +68,6 @@ StyledPanelWindow {
Selectors {} Selectors {}
} }
ScrollView { ScrollView {
Layout.fillWidth: true
padding: 36 padding: 36
Components {} Components {}
} }