dashboard: design layout
Also use clippingrect to round swipeview
This commit is contained in:
parent
6e82fbc8b9
commit
6de0288b70
2 changed files with 104 additions and 6 deletions
|
|
@ -2,6 +2,7 @@ import "root:/widgets"
|
||||||
import "root:/services"
|
import "root:/services"
|
||||||
import "root:/config"
|
import "root:/config"
|
||||||
import Quickshell
|
import Quickshell
|
||||||
|
import Quickshell.Widgets
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Controls
|
import QtQuick.Controls
|
||||||
|
|
||||||
|
|
@ -13,22 +14,41 @@ Item {
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
anchors.bottom: parent.bottom
|
anchors.bottom: parent.bottom
|
||||||
|
|
||||||
implicitWidth: 800
|
implicitWidth: view.implicitWidth + viewWrapper.anchors.margins * 2
|
||||||
implicitHeight: 300
|
implicitHeight: tabs.implicitHeight + tabs.anchors.topMargin + view.implicitHeight + viewWrapper.anchors.margins * 2
|
||||||
|
|
||||||
Tabs {
|
Tabs {
|
||||||
id: tabs
|
id: tabs
|
||||||
|
|
||||||
anchors.fill: parent
|
anchors.top: parent.top
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.right: parent.right
|
||||||
anchors.topMargin: Appearance.padding.normal
|
anchors.topMargin: Appearance.padding.normal
|
||||||
anchors.margins: Appearance.padding.large
|
anchors.margins: Appearance.padding.large
|
||||||
|
|
||||||
currentIndex: view.currentIndex
|
currentIndex: view.currentIndex
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ClippingRectangle {
|
||||||
|
id: viewWrapper
|
||||||
|
|
||||||
|
anchors.top: tabs.bottom
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.right: parent.right
|
||||||
|
anchors.bottom: parent.bottom
|
||||||
|
anchors.margins: Appearance.padding.large
|
||||||
|
|
||||||
|
radius: Appearance.rounding.normal
|
||||||
|
color: "transparent"
|
||||||
|
|
||||||
SwipeView {
|
SwipeView {
|
||||||
id: view
|
id: view
|
||||||
|
|
||||||
|
anchors.fill: parent
|
||||||
|
|
||||||
currentIndex: tabs.currentIndex
|
currentIndex: tabs.currentIndex
|
||||||
|
|
||||||
|
Dash {}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
78
modules/dashboard/Dash.qml
Normal file
78
modules/dashboard/Dash.qml
Normal file
|
|
@ -0,0 +1,78 @@
|
||||||
|
import "root:/widgets"
|
||||||
|
import "root:/services"
|
||||||
|
import "root:/config"
|
||||||
|
import Quickshell
|
||||||
|
import QtQuick.Layouts
|
||||||
|
|
||||||
|
GridLayout {
|
||||||
|
id: root
|
||||||
|
|
||||||
|
rowSpacing: Appearance.spacing.small
|
||||||
|
columnSpacing: Appearance.spacing.small
|
||||||
|
|
||||||
|
Rect {
|
||||||
|
text: "user"
|
||||||
|
|
||||||
|
Layout.columnSpan: 3
|
||||||
|
Layout.preferredWidth: 300
|
||||||
|
Layout.preferredHeight: 150
|
||||||
|
}
|
||||||
|
|
||||||
|
Rect {
|
||||||
|
text: "toggles"
|
||||||
|
|
||||||
|
Layout.column: 3
|
||||||
|
Layout.columnSpan: 2
|
||||||
|
Layout.preferredWidth: 250
|
||||||
|
Layout.fillHeight: true
|
||||||
|
}
|
||||||
|
|
||||||
|
Rect {
|
||||||
|
text: "time"
|
||||||
|
|
||||||
|
Layout.row: 1
|
||||||
|
Layout.preferredWidth: 100
|
||||||
|
Layout.fillHeight: true
|
||||||
|
}
|
||||||
|
|
||||||
|
Rect {
|
||||||
|
text: "calendar"
|
||||||
|
|
||||||
|
Layout.row: 1
|
||||||
|
Layout.column: 1
|
||||||
|
Layout.columnSpan: 3
|
||||||
|
Layout.fillWidth: true
|
||||||
|
Layout.preferredHeight: 200
|
||||||
|
}
|
||||||
|
|
||||||
|
Rect {
|
||||||
|
text: "perf"
|
||||||
|
|
||||||
|
Layout.row: 1
|
||||||
|
Layout.column: 4
|
||||||
|
Layout.preferredWidth: 120
|
||||||
|
Layout.fillHeight: true
|
||||||
|
}
|
||||||
|
|
||||||
|
Rect {
|
||||||
|
text: "media"
|
||||||
|
|
||||||
|
Layout.row: 0
|
||||||
|
Layout.column: 5
|
||||||
|
Layout.rowSpan: 2
|
||||||
|
Layout.preferredWidth: 250
|
||||||
|
Layout.fillHeight: true
|
||||||
|
}
|
||||||
|
|
||||||
|
component Rect: StyledRect {
|
||||||
|
required property string text
|
||||||
|
|
||||||
|
radius: Appearance.rounding.small
|
||||||
|
color: Colours.palette.m3surfaceContainer
|
||||||
|
|
||||||
|
StyledText {
|
||||||
|
anchors.centerIn: parent
|
||||||
|
text: parent.text
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Reference in a new issue