Early Progress of SettingsWindow
This commit is contained in:
parent
5543b58c3c
commit
dc621647d7
14 changed files with 499 additions and 4 deletions
18
Modules/Settings/Tabs/About.qml
Normal file
18
Modules/Settings/Tabs/About.qml
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import qs.Services
|
||||
import qs.Widgets
|
||||
|
||||
Item {
|
||||
property real scaling: 1
|
||||
anchors.fill: parent
|
||||
|
||||
ColumnLayout {
|
||||
anchors.fill: parent
|
||||
spacing: Style.marginMedium * scaling
|
||||
NText { text: "About"; font.weight: Style.fontWeightBold; color: Colors.accentSecondary }
|
||||
NText { text: "Coming soon"; color: Colors.textSecondary }
|
||||
Item { Layout.fillHeight: true }
|
||||
}
|
||||
}
|
||||
|
||||
19
Modules/Settings/Tabs/Bar.qml
Normal file
19
Modules/Settings/Tabs/Bar.qml
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import qs.Services
|
||||
import qs.Widgets
|
||||
|
||||
Item {
|
||||
// Optional scaling prop to match other tabs
|
||||
property real scaling: 1
|
||||
anchors.fill: parent
|
||||
|
||||
ColumnLayout {
|
||||
anchors.fill: parent
|
||||
spacing: Style.marginMedium * scaling
|
||||
NText { text: "Bar"; font.weight: Style.fontWeightBold; color: Colors.accentSecondary }
|
||||
NText { text: "Coming soon"; color: Colors.textSecondary }
|
||||
Item { Layout.fillHeight: true }
|
||||
}
|
||||
}
|
||||
|
||||
18
Modules/Settings/Tabs/Display.qml
Normal file
18
Modules/Settings/Tabs/Display.qml
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import qs.Services
|
||||
import qs.Widgets
|
||||
|
||||
Item {
|
||||
property real scaling: 1
|
||||
anchors.fill: parent
|
||||
|
||||
ColumnLayout {
|
||||
anchors.fill: parent
|
||||
spacing: Style.marginMedium * scaling
|
||||
NText { text: "Display"; font.weight: Style.fontWeightBold; color: Colors.accentSecondary }
|
||||
NText { text: "Coming soon"; color: Colors.textSecondary }
|
||||
Item { Layout.fillHeight: true }
|
||||
}
|
||||
}
|
||||
|
||||
89
Modules/Settings/Tabs/General.qml
Normal file
89
Modules/Settings/Tabs/General.qml
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import qs.Services
|
||||
import qs.Widgets
|
||||
|
||||
Item {
|
||||
id: generalPage
|
||||
|
||||
// Public API
|
||||
// Scaling factor provided by the parent settings window
|
||||
property real scaling: 1
|
||||
|
||||
anchors.fill: parent
|
||||
implicitWidth: parent ? parent.width : 0
|
||||
implicitHeight: parent ? parent.height : 0
|
||||
|
||||
ColumnLayout {
|
||||
anchors.fill: parent
|
||||
anchors.margins: 0
|
||||
spacing: Style.marginMedium * scaling
|
||||
|
||||
// Profile section
|
||||
NText { text: "Profile"; font.weight: Style.fontWeightBold; color: Colors.accentSecondary }
|
||||
|
||||
RowLayout {
|
||||
Layout.fillWidth: true
|
||||
spacing: Style.marginMedium * scaling
|
||||
|
||||
// Avatar preview
|
||||
Rectangle {
|
||||
width: 40 * scaling
|
||||
height: 40 * scaling
|
||||
radius: 20 * scaling
|
||||
color: Colors.surfaceVariant
|
||||
border.color: Colors.outline
|
||||
border.width: Math.max(1, Style.borderThin * scaling)
|
||||
Image {
|
||||
anchors.fill: parent
|
||||
anchors.margins: 2 * scaling
|
||||
source: Settings.data.general.avatarImage
|
||||
fillMode: Image.PreserveAspectCrop
|
||||
asynchronous: true
|
||||
}
|
||||
}
|
||||
|
||||
ColumnLayout {
|
||||
Layout.fillWidth: true
|
||||
spacing: 2 * scaling
|
||||
NText { text: "Profile Image"; color: Colors.textPrimary; font.weight: Style.fontWeightBold }
|
||||
NText { text: "Your profile picture displayed in various places throughout the shell"; color: Colors.textSecondary }
|
||||
NTextBox {
|
||||
text: Settings.data.general.avatarImage
|
||||
placeholderText: "/home/user/.face"
|
||||
Layout.fillWidth: true
|
||||
onEditingFinished: Settings.data.general.avatarImage = text
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
NDivider { Layout.fillWidth: true; Layout.topMargin: Style.marginSmall * scaling; Layout.bottomMargin: Style.marginSmall * scaling }
|
||||
|
||||
// UI section
|
||||
NText { text: "User Interface"; font.weight: Style.fontWeightBold; color: Colors.accentSecondary }
|
||||
|
||||
NToggle {
|
||||
label: "Show Corners"
|
||||
description: "Display rounded corners on the edge of the screen"
|
||||
value: Settings.data.general.showScreenCorners
|
||||
onToggled: function (v) { Settings.data.general.showScreenCorners = v }
|
||||
}
|
||||
|
||||
NToggle {
|
||||
label: "Show Dock"
|
||||
description: "Display a dock at the bottom of the screen for quick access to applications"
|
||||
value: Settings.data.general.showDock
|
||||
onToggled: function (v) { Settings.data.general.showDock = v }
|
||||
}
|
||||
|
||||
NToggle {
|
||||
label: "Dim Desktop"
|
||||
description: "Dim the desktop when panels or menus are open"
|
||||
value: Settings.data.general.dimDesktop
|
||||
onToggled: function (v) { Settings.data.general.dimDesktop = v }
|
||||
}
|
||||
|
||||
Item { Layout.fillHeight: true }
|
||||
}
|
||||
}
|
||||
|
||||
18
Modules/Settings/Tabs/Misc.qml
Normal file
18
Modules/Settings/Tabs/Misc.qml
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import qs.Services
|
||||
import qs.Widgets
|
||||
|
||||
Item {
|
||||
property real scaling: 1
|
||||
anchors.fill: parent
|
||||
|
||||
ColumnLayout {
|
||||
anchors.fill: parent
|
||||
spacing: Style.marginMedium * scaling
|
||||
NText { text: "Misc"; font.weight: Style.fontWeightBold; color: Colors.accentSecondary }
|
||||
NText { text: "Coming soon"; color: Colors.textSecondary }
|
||||
Item { Layout.fillHeight: true }
|
||||
}
|
||||
}
|
||||
|
||||
18
Modules/Settings/Tabs/Network.qml
Normal file
18
Modules/Settings/Tabs/Network.qml
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import qs.Services
|
||||
import qs.Widgets
|
||||
|
||||
Item {
|
||||
property real scaling: 1
|
||||
anchors.fill: parent
|
||||
|
||||
ColumnLayout {
|
||||
anchors.fill: parent
|
||||
spacing: Style.marginMedium * scaling
|
||||
NText { text: "Network"; font.weight: Style.fontWeightBold; color: Colors.accentSecondary }
|
||||
NText { text: "Coming soon"; color: Colors.textSecondary }
|
||||
Item { Layout.fillHeight: true }
|
||||
}
|
||||
}
|
||||
|
||||
18
Modules/Settings/Tabs/ScreenRecorder.qml
Normal file
18
Modules/Settings/Tabs/ScreenRecorder.qml
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import qs.Services
|
||||
import qs.Widgets
|
||||
|
||||
Item {
|
||||
property real scaling: 1
|
||||
anchors.fill: parent
|
||||
|
||||
ColumnLayout {
|
||||
anchors.fill: parent
|
||||
spacing: Style.marginMedium * scaling
|
||||
NText { text: "Screen Recorder"; font.weight: Style.fontWeightBold; color: Colors.accentSecondary }
|
||||
NText { text: "Coming soon"; color: Colors.textSecondary }
|
||||
Item { Layout.fillHeight: true }
|
||||
}
|
||||
}
|
||||
|
||||
18
Modules/Settings/Tabs/TimeWeather.qml
Normal file
18
Modules/Settings/Tabs/TimeWeather.qml
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import qs.Services
|
||||
import qs.Widgets
|
||||
|
||||
Item {
|
||||
property real scaling: 1
|
||||
anchors.fill: parent
|
||||
|
||||
ColumnLayout {
|
||||
anchors.fill: parent
|
||||
spacing: Style.marginMedium * scaling
|
||||
NText { text: "Time & Weather"; font.weight: Style.fontWeightBold; color: Colors.accentSecondary }
|
||||
NText { text: "Coming soon"; color: Colors.textSecondary }
|
||||
Item { Layout.fillHeight: true }
|
||||
}
|
||||
}
|
||||
|
||||
18
Modules/Settings/Tabs/Wallpaper.qml
Normal file
18
Modules/Settings/Tabs/Wallpaper.qml
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import qs.Services
|
||||
import qs.Widgets
|
||||
|
||||
Item {
|
||||
property real scaling: 1
|
||||
anchors.fill: parent
|
||||
|
||||
ColumnLayout {
|
||||
anchors.fill: parent
|
||||
spacing: Style.marginMedium * scaling
|
||||
NText { text: "Wallpaper"; font.weight: Style.fontWeightBold; color: Colors.accentSecondary }
|
||||
NText { text: "Coming soon"; color: Colors.textSecondary }
|
||||
Item { Layout.fillHeight: true }
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue