Create MatugenService, add toggles per template

Matugen: Created Matugen.qml for users to add templates to, add
MatugenService to generate .toml
Notification: possible fix for children null warning
Merge branch 'main' of https://github.com/noctalia-dev/noctalia-shell
This commit is contained in:
Ly-sec 2025-08-28 13:33:24 +02:00
commit a6848be4c2
13 changed files with 31 additions and 27 deletions

View file

@ -7,6 +7,8 @@ import qs.Commons
import qs.Services
ColumnLayout {
id: root
property real localVolume: AudioService.volume
Connections {

View file

@ -6,6 +6,7 @@ import qs.Services
import qs.Widgets
ColumnLayout {
id: root
ColumnLayout {
spacing: Style.marginL * scaling

View file

@ -7,9 +7,8 @@ import qs.Services
import qs.Widgets
ColumnLayout {
readonly property real scaling: ScalingService.scale(screen)
readonly property string tabIcon: "brightness_6"
readonly property string tabLabel: "Brightness"
id: root
spacing: Style.marginL * scaling
// Brightness Step Section

View file

@ -9,6 +9,13 @@ import qs.Widgets
ColumnLayout {
id: root
// Cache for scheme JSON (can be flat or {dark, light})
property var schemeColorsCache: ({})
// Scale properties for card animations
property real cardScaleLow: 0.95
property real cardScaleHigh: 1.0
// Helper function to get color from scheme file (supports dark/light variants)
function getSchemeColor(schemePath, colorKey) {
// Extract scheme name from path
@ -29,13 +36,6 @@ ColumnLayout {
return "#000000"
}
// Cache for scheme JSON (can be flat or {dark, light})
property var schemeColorsCache: ({})
// Scale properties for card animations
property real cardScaleLow: 0.95
property real cardScaleHigh: 1.0
// This function is called by the FileView Repeater when a scheme file is loaded
function schemeLoaded(schemeName, jsonData) {
var value = jsonData || {}

View file

@ -7,10 +7,7 @@ import qs.Services
import qs.Widgets
ColumnLayout {
readonly property real scaling: ScalingService.scale(screen)
readonly property string tabIcon: "monitor"
readonly property string tabLabel: "Display"
readonly property int tabIndex: 5
id: root
// Time dropdown options (00:00 .. 23:30)
ListModel {
@ -245,15 +242,9 @@ ColumnLayout {
onToggled: checked => Settings.data.nightLight.enabled = checked
}
NToggle {
label: "Auto Schedule"
description: "Automatically enable night light based on time schedule."
checked: Settings.data.nightLight.autoSchedule
onToggled: checked => Settings.data.nightLight.autoSchedule = checked
}
// Intensity settings
ColumnLayout {
visible: Settings.data.nightLight.enabled
NLabel {
label: "Intensity"
description: "Higher values create warmer light."
@ -280,9 +271,18 @@ ColumnLayout {
}
}
NToggle {
label: "Auto Schedule"
description: "Automatically enable night light based on time schedule."
checked: Settings.data.nightLight.autoSchedule
onToggled: checked => Settings.data.nightLight.autoSchedule = checked
visible: Settings.data.nightLight.enabled
}
// Schedule settings
ColumnLayout {
spacing: Style.marginXS * scaling
visible: Settings.data.nightLight.enabled && Settings.data.nightLight.autoSchedule
NLabel {
label: "Schedule"

View file

@ -6,6 +6,7 @@ import qs.Services
import qs.Widgets
ColumnLayout {
id: root
// Profile section
RowLayout {

View file

@ -6,6 +6,7 @@ import qs.Services
import qs.Widgets
ColumnLayout {
id: root
ColumnLayout {
spacing: Style.marginL * scaling

View file

@ -8,6 +8,7 @@ import qs.Services
import qs.Widgets
ColumnLayout {
id: root
spacing: Style.marginL * scaling
NToggle {

View file

@ -6,6 +6,8 @@ import qs.Services
import qs.Widgets
ColumnLayout {
id: root
spacing: Style.marginL * scaling
// Output Directory

View file

@ -6,6 +6,7 @@ import qs.Services
import qs.Widgets
ColumnLayout {
id: root
// Location section
NTextInput {

View file

@ -7,10 +7,7 @@ import qs.Services
import qs.Widgets
ColumnLayout {
readonly property real scaling: ScalingService.scale(screen)
readonly property string tabIcon: "photo_library"
readonly property string tabLabel: "Wallpaper Selector"
readonly property int tabIndex: 7
id: root
spacing: Style.marginL * scaling

View file

@ -7,6 +7,7 @@ import qs.Services
import qs.Widgets
ColumnLayout {
id: root
// Process to check if swww is installed
Process {

View file

@ -137,6 +137,4 @@ Singleton {
colorsWriter.path = colorsJsonFilePath
colorsWriter.writeAdapter()
}
// Matugen generation moved to MatugenService
}