diff --git a/Modules/SettingsPanel/Tabs/AudioTab.qml b/Modules/SettingsPanel/Tabs/AudioTab.qml index 7ee5755..1a6f4b9 100644 --- a/Modules/SettingsPanel/Tabs/AudioTab.qml +++ b/Modules/SettingsPanel/Tabs/AudioTab.qml @@ -7,6 +7,8 @@ import qs.Commons import qs.Services ColumnLayout { + id: root + property real localVolume: AudioService.volume Connections { diff --git a/Modules/SettingsPanel/Tabs/BarTab.qml b/Modules/SettingsPanel/Tabs/BarTab.qml index c86868a..412b560 100644 --- a/Modules/SettingsPanel/Tabs/BarTab.qml +++ b/Modules/SettingsPanel/Tabs/BarTab.qml @@ -6,6 +6,7 @@ import qs.Services import qs.Widgets ColumnLayout { + id: root ColumnLayout { spacing: Style.marginL * scaling diff --git a/Modules/SettingsPanel/Tabs/BrightnessTab.qml b/Modules/SettingsPanel/Tabs/BrightnessTab.qml index 27861de..ab73d82 100644 --- a/Modules/SettingsPanel/Tabs/BrightnessTab.qml +++ b/Modules/SettingsPanel/Tabs/BrightnessTab.qml @@ -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 diff --git a/Modules/SettingsPanel/Tabs/ColorSchemeTab.qml b/Modules/SettingsPanel/Tabs/ColorSchemeTab.qml index 699e68e..1f8a528 100644 --- a/Modules/SettingsPanel/Tabs/ColorSchemeTab.qml +++ b/Modules/SettingsPanel/Tabs/ColorSchemeTab.qml @@ -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 || {} diff --git a/Modules/SettingsPanel/Tabs/DisplayTab.qml b/Modules/SettingsPanel/Tabs/DisplayTab.qml index 71aaa96..842da36 100644 --- a/Modules/SettingsPanel/Tabs/DisplayTab.qml +++ b/Modules/SettingsPanel/Tabs/DisplayTab.qml @@ -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" diff --git a/Modules/SettingsPanel/Tabs/GeneralTab.qml b/Modules/SettingsPanel/Tabs/GeneralTab.qml index 9112d74..473a5ce 100644 --- a/Modules/SettingsPanel/Tabs/GeneralTab.qml +++ b/Modules/SettingsPanel/Tabs/GeneralTab.qml @@ -6,6 +6,7 @@ import qs.Services import qs.Widgets ColumnLayout { + id: root // Profile section RowLayout { diff --git a/Modules/SettingsPanel/Tabs/LauncherTab.qml b/Modules/SettingsPanel/Tabs/LauncherTab.qml index c003e2c..49db62e 100644 --- a/Modules/SettingsPanel/Tabs/LauncherTab.qml +++ b/Modules/SettingsPanel/Tabs/LauncherTab.qml @@ -6,6 +6,7 @@ import qs.Services import qs.Widgets ColumnLayout { + id: root ColumnLayout { spacing: Style.marginL * scaling diff --git a/Modules/SettingsPanel/Tabs/NetworkTab.qml b/Modules/SettingsPanel/Tabs/NetworkTab.qml index 24d35c9..4b56ea7 100644 --- a/Modules/SettingsPanel/Tabs/NetworkTab.qml +++ b/Modules/SettingsPanel/Tabs/NetworkTab.qml @@ -8,6 +8,7 @@ import qs.Services import qs.Widgets ColumnLayout { + id: root spacing: Style.marginL * scaling NToggle { diff --git a/Modules/SettingsPanel/Tabs/ScreenRecorderTab.qml b/Modules/SettingsPanel/Tabs/ScreenRecorderTab.qml index 0b439f1..2a000c1 100644 --- a/Modules/SettingsPanel/Tabs/ScreenRecorderTab.qml +++ b/Modules/SettingsPanel/Tabs/ScreenRecorderTab.qml @@ -6,6 +6,8 @@ import qs.Services import qs.Widgets ColumnLayout { + id: root + spacing: Style.marginL * scaling // Output Directory diff --git a/Modules/SettingsPanel/Tabs/TimeWeatherTab.qml b/Modules/SettingsPanel/Tabs/TimeWeatherTab.qml index d02ed79..60bf275 100644 --- a/Modules/SettingsPanel/Tabs/TimeWeatherTab.qml +++ b/Modules/SettingsPanel/Tabs/TimeWeatherTab.qml @@ -6,6 +6,7 @@ import qs.Services import qs.Widgets ColumnLayout { + id: root // Location section NTextInput { diff --git a/Modules/SettingsPanel/Tabs/WallpaperSelectorTab.qml b/Modules/SettingsPanel/Tabs/WallpaperSelectorTab.qml index 0dd49ba..0fa0338 100644 --- a/Modules/SettingsPanel/Tabs/WallpaperSelectorTab.qml +++ b/Modules/SettingsPanel/Tabs/WallpaperSelectorTab.qml @@ -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 diff --git a/Modules/SettingsPanel/Tabs/WallpaperTab.qml b/Modules/SettingsPanel/Tabs/WallpaperTab.qml index e6140de..f4f8f98 100644 --- a/Modules/SettingsPanel/Tabs/WallpaperTab.qml +++ b/Modules/SettingsPanel/Tabs/WallpaperTab.qml @@ -7,6 +7,7 @@ import qs.Services import qs.Widgets ColumnLayout { + id: root // Process to check if swww is installed Process { diff --git a/Services/ColorSchemeService.qml b/Services/ColorSchemeService.qml index db8868f..0c18090 100644 --- a/Services/ColorSchemeService.qml +++ b/Services/ColorSchemeService.qml @@ -137,6 +137,4 @@ Singleton { colorsWriter.path = colorsJsonFilePath colorsWriter.writeAdapter() } - - // Matugen generation moved to MatugenService }