feat: initial commit for pixel-snapping components and helpers

This commit is contained in:
2026-10-29 17:34:57 +01:00
parent 9d8bde1413
commit 9cbb90f9e1
163 changed files with 2671 additions and 951 deletions
@@ -26,11 +26,13 @@ Item {
border.width: 1
border.color: Colors.palette.m3outlineVariant
ColumnLayout {
SnapLayout {
id: approvalLayout
anchors.fill: parent
anchors.margins: Tokens.padding.medium
spacing: Tokens.spacing.small
orientation: Qt.Vertical
CustomText {
id: requestHeader
@@ -187,19 +189,22 @@ Item {
}
}
ColumnLayout {
SnapLayout {
id: toolList
anchors.left: parent.left
anchors.right: parent.right
anchors.verticalCenter: parent.verticalCenter
anchors.margins: Tokens.padding.medium
spacing: Tokens.spacing.extraSmall
orientation: Qt.Vertical
Repeater {
id: repeater
model: root.current.pendingToolCalls?.slice(0, 4) ?? []
delegate: RowLayout {
delegate: SnapLayout {
id: toolText
required property var modelData
@@ -304,7 +309,7 @@ Item {
Anim {}
}
RowLayout {
SnapLayout {
id: collapsedRow
anchors.top: parent.top
@@ -312,6 +317,8 @@ Item {
anchors.right: parent.right
anchors.margins: Tokens.padding.medium
spacing: Tokens.spacing.extraSmall
IconButton {
id: toolExpandBtn
@@ -1,8 +1,8 @@
import QtQuick
import QtQuick.Effects
import QtQuick.Shapes
import QtQuick.Layouts
import Quickshell
import ZShell.Components
import ZShell.Config
import ZShell.Llm
import qs.Components
@@ -143,7 +143,7 @@ CustomRect {
onTriggered: refresh()
}
RowLayout {
SnapLayout {
id: headerRow
anchors.top: parent.top
@@ -152,6 +152,7 @@ CustomRect {
anchors.topMargin: Tokens.padding.small
anchors.leftMargin: Tokens.padding.small
anchors.rightMargin: Tokens.padding.small
spacing: Tokens.spacing.small
Item {
@@ -1,5 +1,6 @@
import QtQuick
import QtQuick.Layouts
import ZShell.Components
import ZShell.Llm
import ZShell.Config
import qs.Modules.Sidebar.Chat
@@ -1,10 +1,12 @@
import QtQuick
import QtQuick.Layouts
import ZShell.Components
import ZShell.Config
import qs.Components
import qs.Services
ColumnLayout {
SnapLayout {
orientation: Qt.Vertical
id: root
spacing: Tokens.spacing.small
+3 -1
View File
@@ -4,6 +4,7 @@ import ZShell.Llm
import ZShell.Config
import qs.Components
import qs.Services
import ZShell.Components
Item {
id: root
@@ -78,7 +79,7 @@ Item {
color: Colors.palette.m3errorContainer
implicitHeight: errorInner.implicitHeight + errorInner.anchors.margins * 2
ColumnLayout {
SnapLayout {
id: errorInner
anchors.top: parent.top
@@ -87,6 +88,7 @@ Item {
anchors.margins: Tokens.padding.medium
spacing: Tokens.spacing.small
orientation: Qt.Vertical
CustomText {
id: header
@@ -212,12 +212,14 @@ Item {
clip: true
implicitHeight: innerLayout.implicitHeight + innerLayout.anchors.margins * 2
ColumnLayout {
SnapLayout {
id: innerLayout
anchors.bottomMargin: Tokens.padding.largeIncreased
anchors.fill: parent
anchors.margins: Tokens.padding.extraLarge
spacing: 0
orientation: Qt.Vertical
CustomText {
font: Tokens.font.title.builders.large.weight(Font.Normal).build()
@@ -264,7 +266,7 @@ Item {
}
}
RowLayout {
SnapLayout {
id: layout
anchors.left: parent.left
@@ -274,6 +276,8 @@ Item {
anchors.leftMargin: Tokens.padding.large
anchors.rightMargin: Tokens.padding.large
spacing: Tokens.spacing.extraSmall
CustomText {
id: name
@@ -313,8 +317,9 @@ Item {
}
}
RowLayout {
SnapLayout {
Layout.alignment: Qt.AlignRight
spacing: Tokens.spacing.extraSmall
TextButton {
@@ -43,7 +43,7 @@ Item {
}
}
RowLayout {
SnapLayout {
id: layout
anchors.top: parent.top
@@ -160,7 +160,7 @@ Item {
implicitWidth: ListView.view.width
implicitHeight: header.implicitHeight + content.implicitHeight + content.anchors.topMargin
RowLayout {
SnapLayout {
id: header
anchors.left: parent.left