mirror of
https://github.com/noctalia-dev/noctalia-shell.git
synced 2026-05-11 17:08:27 +08:00
Switched to qmlformat.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import Quickshell.Io
|
||||
import qs.Commons
|
||||
import qs.Services.System
|
||||
@@ -12,8 +12,8 @@ ColumnLayout {
|
||||
spacing: Style.marginM
|
||||
|
||||
function extractSchemeName(path) {
|
||||
var basename = path.split('/').pop()
|
||||
return basename.replace('.json', '')
|
||||
var basename = path.split('/').pop();
|
||||
return basename.replace('.json', '');
|
||||
}
|
||||
|
||||
// Cache for scheme colors (mirrors ColorSchemeTab approach)
|
||||
@@ -22,30 +22,28 @@ ColumnLayout {
|
||||
|
||||
function getSchemeColor(schemeName, key) {
|
||||
try {
|
||||
var mode = Settings.data.colorSchemes.darkMode ? "dark" : "light"
|
||||
var data = schemeColorsCache[schemeName]
|
||||
var mode = Settings.data.colorSchemes.darkMode ? "dark" : "light";
|
||||
var data = schemeColorsCache[schemeName];
|
||||
if (data && data[mode] && data[mode][key])
|
||||
return data[mode][key]
|
||||
} catch (e) {
|
||||
|
||||
}
|
||||
return Color.mSurfaceVariant
|
||||
return data[mode][key];
|
||||
} catch (e) {}
|
||||
return Color.mSurfaceVariant;
|
||||
}
|
||||
|
||||
// Match ColorSchemeTab helpers
|
||||
function schemeLoaded(schemeName, jsonData) {
|
||||
var value = jsonData || {}
|
||||
schemeColorsCache[schemeName] = value
|
||||
cacheVersion++
|
||||
Logger.i("SetupAppearanceStep", `Loaded scheme ${schemeName}`)
|
||||
var value = jsonData || {};
|
||||
schemeColorsCache[schemeName] = value;
|
||||
cacheVersion++;
|
||||
Logger.i("SetupAppearanceStep", `Loaded scheme ${schemeName}`);
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: ColorSchemeService
|
||||
function onSchemesChanged() {
|
||||
Logger.i("SetupAppearanceStep", `Color schemes changed: ${ColorSchemeService.schemes.length}`)
|
||||
schemeColorsCache = {}
|
||||
cacheVersion++
|
||||
Logger.i("SetupAppearanceStep", `Color schemes changed: ${ColorSchemeService.schemes.length}`);
|
||||
schemeColorsCache = {};
|
||||
cacheVersion++;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -200,14 +198,14 @@ ColumnLayout {
|
||||
checked: Settings.data.colorSchemes.useWallpaperColors && ProgramCheckerService.matugenAvailable
|
||||
onToggled: checked => {
|
||||
if (!ProgramCheckerService.matugenAvailable)
|
||||
return
|
||||
return;
|
||||
if (checked) {
|
||||
Settings.data.colorSchemes.useWallpaperColors = true
|
||||
AppThemeService.generate()
|
||||
Settings.data.colorSchemes.useWallpaperColors = true;
|
||||
AppThemeService.generate();
|
||||
} else {
|
||||
Settings.data.colorSchemes.useWallpaperColors = false
|
||||
Settings.data.colorSchemes.useWallpaperColors = false;
|
||||
if (Settings.data.colorSchemes.predefinedScheme) {
|
||||
ColorSchemeService.applyScheme(Settings.data.colorSchemes.predefinedScheme)
|
||||
ColorSchemeService.applyScheme(Settings.data.colorSchemes.predefinedScheme);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -265,31 +263,40 @@ ColumnLayout {
|
||||
columnSpacing: Style.marginS
|
||||
|
||||
Repeater {
|
||||
model: [{
|
||||
model: [
|
||||
{
|
||||
"key": "scheme-content",
|
||||
"name": "Content"
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"key": "scheme-expressive",
|
||||
"name": "Expressive"
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"key": "scheme-fidelity",
|
||||
"name": "Fidelity"
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"key": "scheme-fruit-salad",
|
||||
"name": "Fruit Salad"
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"key": "scheme-monochrome",
|
||||
"name": "Monochrome"
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"key": "scheme-neutral",
|
||||
"name": "Neutral"
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"key": "scheme-rainbow",
|
||||
"name": "Rainbow"
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"key": "scheme-tonal-spot",
|
||||
"name": "Tonal Spot"
|
||||
}]
|
||||
}
|
||||
]
|
||||
delegate: Rectangle {
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: 48
|
||||
@@ -317,8 +324,8 @@ ColumnLayout {
|
||||
anchors.fill: parent
|
||||
cursorShape: Qt.PointingHandCursor
|
||||
onClicked: {
|
||||
Settings.data.colorSchemes.matugenSchemeType = modelData.key
|
||||
AppThemeService.generate()
|
||||
Settings.data.colorSchemes.matugenSchemeType = modelData.key;
|
||||
AppThemeService.generate();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -443,9 +450,9 @@ ColumnLayout {
|
||||
height: 14
|
||||
radius: width * 0.5
|
||||
color: root.cacheVersion >= 0 ? (function () {
|
||||
var mode = Settings.data.colorSchemes.darkMode ? "dark" : "light"
|
||||
var cached = root.schemeColorsCache[schemeItem.schemeName]
|
||||
return (cached && cached[mode] && cached[mode].mPrimary) || root.getSchemeColor(schemeItem.schemeName, "mPrimary")
|
||||
var mode = Settings.data.colorSchemes.darkMode ? "dark" : "light";
|
||||
var cached = root.schemeColorsCache[schemeItem.schemeName];
|
||||
return (cached && cached[mode] && cached[mode].mPrimary) || root.getSchemeColor(schemeItem.schemeName, "mPrimary");
|
||||
})() : Color.mPrimary
|
||||
}
|
||||
Rectangle {
|
||||
@@ -453,9 +460,9 @@ ColumnLayout {
|
||||
height: 14
|
||||
radius: width * 0.5
|
||||
color: root.cacheVersion >= 0 ? (function () {
|
||||
var mode = Settings.data.colorSchemes.darkMode ? "dark" : "light"
|
||||
var cached = root.schemeColorsCache[schemeItem.schemeName]
|
||||
return (cached && cached[mode] && cached[mode].mSecondary) || root.getSchemeColor(schemeItem.schemeName, "mSecondary")
|
||||
var mode = Settings.data.colorSchemes.darkMode ? "dark" : "light";
|
||||
var cached = root.schemeColorsCache[schemeItem.schemeName];
|
||||
return (cached && cached[mode] && cached[mode].mSecondary) || root.getSchemeColor(schemeItem.schemeName, "mSecondary");
|
||||
})() : Color.mSecondary
|
||||
}
|
||||
Rectangle {
|
||||
@@ -463,9 +470,9 @@ ColumnLayout {
|
||||
height: 14
|
||||
radius: width * 0.5
|
||||
color: root.cacheVersion >= 0 ? (function () {
|
||||
var mode = Settings.data.colorSchemes.darkMode ? "dark" : "light"
|
||||
var cached = root.schemeColorsCache[schemeItem.schemeName]
|
||||
return (cached && cached[mode] && cached[mode].mTertiary) || root.getSchemeColor(schemeItem.schemeName, "mTertiary")
|
||||
var mode = Settings.data.colorSchemes.darkMode ? "dark" : "light";
|
||||
var cached = root.schemeColorsCache[schemeItem.schemeName];
|
||||
return (cached && cached[mode] && cached[mode].mTertiary) || root.getSchemeColor(schemeItem.schemeName, "mTertiary");
|
||||
})() : Color.mTertiary
|
||||
}
|
||||
Rectangle {
|
||||
@@ -473,9 +480,9 @@ ColumnLayout {
|
||||
height: 14
|
||||
radius: width * 0.5
|
||||
color: root.cacheVersion >= 0 ? (function () {
|
||||
var mode = Settings.data.colorSchemes.darkMode ? "dark" : "light"
|
||||
var cached = root.schemeColorsCache[schemeItem.schemeName]
|
||||
return (cached && cached[mode] && cached[mode].mError) || root.getSchemeColor(schemeItem.schemeName, "mError")
|
||||
var mode = Settings.data.colorSchemes.darkMode ? "dark" : "light";
|
||||
var cached = root.schemeColorsCache[schemeItem.schemeName];
|
||||
return (cached && cached[mode] && cached[mode].mError) || root.getSchemeColor(schemeItem.schemeName, "mError");
|
||||
})() : Color.mError
|
||||
}
|
||||
}
|
||||
@@ -486,9 +493,9 @@ ColumnLayout {
|
||||
hoverEnabled: true
|
||||
cursorShape: Qt.PointingHandCursor
|
||||
onClicked: {
|
||||
Settings.data.colorSchemes.useWallpaperColors = false
|
||||
Settings.data.colorSchemes.predefinedScheme = schemeItem.schemeName
|
||||
ColorSchemeService.applyScheme(Settings.data.colorSchemes.predefinedScheme)
|
||||
Settings.data.colorSchemes.useWallpaperColors = false;
|
||||
Settings.data.colorSchemes.predefinedScheme = schemeItem.schemeName;
|
||||
ColorSchemeService.applyScheme(Settings.data.colorSchemes.predefinedScheme);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -514,12 +521,12 @@ ColumnLayout {
|
||||
path: modelData
|
||||
blockLoading: false
|
||||
onLoaded: {
|
||||
var schemeName = root.extractSchemeName(path)
|
||||
var schemeName = root.extractSchemeName(path);
|
||||
try {
|
||||
var jsonData = JSON.parse(text())
|
||||
root.schemeLoaded(schemeName, jsonData)
|
||||
var jsonData = JSON.parse(text());
|
||||
root.schemeLoaded(schemeName, jsonData);
|
||||
} catch (e) {
|
||||
root.schemeLoaded(schemeName, null)
|
||||
root.schemeLoaded(schemeName, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import Quickshell
|
||||
import qs.Commons
|
||||
import qs.Widgets
|
||||
@@ -115,23 +115,28 @@ ColumnLayout {
|
||||
spacing: Style.marginS
|
||||
|
||||
Repeater {
|
||||
model: [{
|
||||
model: [
|
||||
{
|
||||
"key": "top",
|
||||
"name": I18n.tr("options.bar.position.top"),
|
||||
"icon": "arrow-up"
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"key": "bottom",
|
||||
"name": I18n.tr("options.bar.position.bottom"),
|
||||
"icon": "arrow-down"
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"key": "left",
|
||||
"name": I18n.tr("options.bar.position.left"),
|
||||
"icon": "arrow-left"
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"key": "right",
|
||||
"name": I18n.tr("options.bar.position.right"),
|
||||
"icon": "arrow-right"
|
||||
}]
|
||||
}
|
||||
]
|
||||
delegate: Rectangle {
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: 40
|
||||
@@ -159,8 +164,8 @@ ColumnLayout {
|
||||
anchors.fill: parent
|
||||
cursorShape: Qt.PointingHandCursor
|
||||
onClicked: {
|
||||
selectedBarPosition = modelData.key
|
||||
barPositionChanged(modelData.key)
|
||||
selectedBarPosition = modelData.key;
|
||||
barPositionChanged(modelData.key);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -233,19 +238,24 @@ ColumnLayout {
|
||||
RowLayout {
|
||||
spacing: Style.marginS
|
||||
Repeater {
|
||||
model: [{
|
||||
model: [
|
||||
{
|
||||
"key": "mini",
|
||||
"name": I18n.tr("options.bar.density.mini")
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"key": "compact",
|
||||
"name": I18n.tr("options.bar.density.compact")
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"key": "default",
|
||||
"name": I18n.tr("options.bar.density.default")
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"key": "comfortable",
|
||||
"name": I18n.tr("options.bar.density.comfortable")
|
||||
}]
|
||||
}
|
||||
]
|
||||
delegate: Rectangle {
|
||||
radius: 16
|
||||
border.width: 1
|
||||
@@ -274,7 +284,7 @@ ColumnLayout {
|
||||
anchors.fill: parent
|
||||
cursorShape: Qt.PointingHandCursor
|
||||
onClicked: {
|
||||
Settings.data.bar.density = modelData.key
|
||||
Settings.data.bar.density = modelData.key;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -352,8 +362,8 @@ ColumnLayout {
|
||||
stepSize: 0.05
|
||||
value: selectedScaleRatio
|
||||
onMoved: function (value) {
|
||||
selectedScaleRatio = value
|
||||
scaleRatioChanged(value)
|
||||
selectedScaleRatio = value;
|
||||
scaleRatioChanged(value);
|
||||
}
|
||||
text: Math.floor(selectedScaleRatio * 100) + "%"
|
||||
}
|
||||
@@ -405,7 +415,7 @@ ColumnLayout {
|
||||
NToggle {
|
||||
checked: Settings.data.bar.floating
|
||||
onToggled: function (checked) {
|
||||
Settings.data.bar.floating = checked
|
||||
Settings.data.bar.floating = checked;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -435,7 +445,7 @@ ColumnLayout {
|
||||
stepSize: 0.01
|
||||
value: Settings.data.bar.backgroundOpacity
|
||||
onMoved: function (value) {
|
||||
Settings.data.bar.backgroundOpacity = value
|
||||
Settings.data.bar.backgroundOpacity = value;
|
||||
}
|
||||
text: Math.floor(Settings.data.bar.backgroundOpacity * 100) + "%"
|
||||
}
|
||||
@@ -542,7 +552,7 @@ ColumnLayout {
|
||||
NToggle {
|
||||
checked: Settings.data.general.enableShadows
|
||||
onToggled: function (checked) {
|
||||
Settings.data.general.enableShadows = checked
|
||||
Settings.data.general.enableShadows = checked;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import Quickshell
|
||||
import qs.Commons
|
||||
import qs.Services.Compositor
|
||||
@@ -70,16 +70,20 @@ ColumnLayout {
|
||||
Layout.fillWidth: true
|
||||
label: I18n.tr("settings.dock.appearance.display.label")
|
||||
description: I18n.tr("settings.dock.appearance.display.description")
|
||||
model: [{
|
||||
model: [
|
||||
{
|
||||
"key": "always_visible",
|
||||
"name": I18n.tr("settings.dock.appearance.display.always-visible")
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"key": "auto_hide",
|
||||
"name": I18n.tr("settings.dock.appearance.display.auto-hide")
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"key": "exclusive",
|
||||
"name": I18n.tr("settings.dock.appearance.display.exclusive")
|
||||
}]
|
||||
}
|
||||
]
|
||||
currentKey: Settings.data.dock.displayMode
|
||||
onSelected: key => Settings.data.dock.displayMode = key
|
||||
}
|
||||
@@ -176,25 +180,25 @@ ColumnLayout {
|
||||
label: modelData.name || "Unknown"
|
||||
visible: Settings.data.dock.enabled
|
||||
description: {
|
||||
const compositorScale = CompositorService.getDisplayScale(modelData.name)
|
||||
const compositorScale = CompositorService.getDisplayScale(modelData.name);
|
||||
I18n.tr("system.monitor-description", {
|
||||
"model": modelData.model,
|
||||
"width": modelData.width * compositorScale,
|
||||
"height": modelData.height * compositorScale,
|
||||
"scale": compositorScale
|
||||
})
|
||||
});
|
||||
}
|
||||
checked: (Settings.data.dock.monitors || []).indexOf(modelData.name) !== -1
|
||||
onToggled: checked => {
|
||||
if (checked) {
|
||||
const arr = (Settings.data.dock.monitors || []).slice()
|
||||
const arr = (Settings.data.dock.monitors || []).slice();
|
||||
if (arr.indexOf(modelData.name) === -1)
|
||||
arr.push(modelData.name)
|
||||
Settings.data.dock.monitors = arr
|
||||
arr.push(modelData.name);
|
||||
Settings.data.dock.monitors = arr;
|
||||
} else {
|
||||
Settings.data.dock.monitors = (Settings.data.dock.monitors || []).filter(function (n) {
|
||||
return n !== modelData.name
|
||||
})
|
||||
return n !== modelData.name;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Effects
|
||||
import QtQuick.Layouts
|
||||
import Quickshell
|
||||
import Quickshell.Io
|
||||
import "../../../Helpers/FuzzySort.js" as FuzzySort
|
||||
import qs.Commons
|
||||
import qs.Services.UI
|
||||
import qs.Widgets
|
||||
import "../../../Helpers/FuzzySort.js" as FuzzySort
|
||||
|
||||
ColumnLayout {
|
||||
id: root
|
||||
@@ -209,20 +209,20 @@ ColumnLayout {
|
||||
target: galleryScroll.contentItem
|
||||
acceptedDevices: PointerDevice.Mouse | PointerDevice.TouchPad
|
||||
onWheel: event => {
|
||||
const flick = galleryScroll.contentItem
|
||||
const flick = galleryScroll.contentItem;
|
||||
if (!flick)
|
||||
return
|
||||
const delta = event.pixelDelta.x !== 0 || event.pixelDelta.y !== 0 ? (event.pixelDelta.y !== 0 ? event.pixelDelta.y : event.pixelDelta.x) : (event.angleDelta.y !== 0 ? event.angleDelta.y : event.angleDelta.x)
|
||||
return;
|
||||
const delta = event.pixelDelta.x !== 0 || event.pixelDelta.y !== 0 ? (event.pixelDelta.y !== 0 ? event.pixelDelta.y : event.pixelDelta.x) : (event.angleDelta.y !== 0 ? event.angleDelta.y : event.angleDelta.x);
|
||||
// Move opposite of wheel to scroll content to the right for wheel down
|
||||
const step = -delta
|
||||
const maxX = Math.max(0, flick.contentWidth - flick.width)
|
||||
let newX = flick.contentX + step
|
||||
const step = -delta;
|
||||
const maxX = Math.max(0, flick.contentWidth - flick.width);
|
||||
let newX = flick.contentX + step;
|
||||
if (newX < 0)
|
||||
newX = 0
|
||||
newX = 0;
|
||||
if (newX > maxX)
|
||||
newX = maxX
|
||||
flick.contentX = newX
|
||||
event.accepted = true
|
||||
newX = maxX;
|
||||
flick.contentX = newX;
|
||||
event.accepted = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -319,8 +319,8 @@ ColumnLayout {
|
||||
|
||||
TapHandler {
|
||||
onTapped: {
|
||||
selectedWallpaper = modelData
|
||||
wallpaperChanged(modelData)
|
||||
selectedWallpaper = modelData;
|
||||
wallpaperChanged(modelData);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -386,8 +386,8 @@ ColumnLayout {
|
||||
buttonTooltip: I18n.tr("setup.wallpaper.dir.browse")
|
||||
Layout.fillWidth: true
|
||||
onInputEditingFinished: {
|
||||
selectedDirectory = text
|
||||
directoryChanged(text)
|
||||
selectedDirectory = text;
|
||||
directoryChanged(text);
|
||||
}
|
||||
onButtonClicked: directoryPicker.open()
|
||||
}
|
||||
@@ -398,41 +398,41 @@ ColumnLayout {
|
||||
property list<string> filteredWallpapers: []
|
||||
|
||||
function updateFilteredWallpapers() {
|
||||
filteredWallpapers = wallpapersList
|
||||
filteredWallpapers = wallpapersList;
|
||||
}
|
||||
|
||||
function refreshWallpapers() {
|
||||
if (!selectedDirectory || selectedDirectory === "") {
|
||||
wallpapersList = []
|
||||
filteredWallpapers = []
|
||||
return
|
||||
wallpapersList = [];
|
||||
filteredWallpapers = [];
|
||||
return;
|
||||
}
|
||||
if (typeof WallpaperService !== "undefined" && WallpaperService.getWallpapersList) {
|
||||
var wallpapers = WallpaperService.getWallpapersList(Screen.name)
|
||||
wallpapersList = wallpapers
|
||||
updateFilteredWallpapers()
|
||||
var wallpapers = WallpaperService.getWallpapersList(Screen.name);
|
||||
wallpapersList = wallpapers;
|
||||
updateFilteredWallpapers();
|
||||
if (wallpapersList.length > 0 && selectedWallpaper === "") {
|
||||
selectedWallpaper = wallpapersList[0]
|
||||
selectedWallpaper = wallpapersList[0];
|
||||
}
|
||||
} else {
|
||||
readDirectoryImages(selectedDirectory)
|
||||
readDirectoryImages(selectedDirectory);
|
||||
}
|
||||
}
|
||||
|
||||
function readDirectoryImages(directoryPath) {
|
||||
directoryScanner.command = ["find", directoryPath, "-type", "f", "\\(-iname", "*.jpg", "-o", "-iname", "*.jpeg", "-o", "-iname", "*.png", "-o", "-iname", "*.bmp", "-o", "-iname", "*.webp", "-o", "-iname", "*.svg", "\\)"]
|
||||
directoryScanner.running = true
|
||||
return []
|
||||
directoryScanner.command = ["find", directoryPath, "-type", "f", "\\(-iname", "*.jpg", "-o", "-iname", "*.jpeg", "-o", "-iname", "*.png", "-o", "-iname", "*.bmp", "-o", "-iname", "*.webp", "-o", "-iname", "*.svg", "\\)"];
|
||||
directoryScanner.running = true;
|
||||
return [];
|
||||
}
|
||||
|
||||
onSelectedDirectoryChanged: {
|
||||
if (typeof Settings !== "undefined" && Settings.data && Settings.data.wallpaper) {
|
||||
Settings.data.wallpaper.directory = selectedDirectory
|
||||
Settings.data.wallpaper.directory = selectedDirectory;
|
||||
}
|
||||
if (typeof WallpaperService !== "undefined" && WallpaperService.refreshWallpapersList) {
|
||||
WallpaperService.refreshWallpapersList()
|
||||
WallpaperService.refreshWallpapersList();
|
||||
}
|
||||
Qt.callLater(refreshWallpapers)
|
||||
Qt.callLater(refreshWallpapers);
|
||||
}
|
||||
|
||||
Connections {
|
||||
@@ -440,7 +440,7 @@ ColumnLayout {
|
||||
enabled: typeof WallpaperService !== "undefined"
|
||||
function onWallpaperListChanged(screenName, count) {
|
||||
if (screenName === Screen.name) {
|
||||
Qt.callLater(refreshWallpapers)
|
||||
Qt.callLater(refreshWallpapers);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -455,14 +455,14 @@ ColumnLayout {
|
||||
|
||||
Component.onCompleted: {
|
||||
if (typeof Settings !== "undefined" && Settings.data && Settings.data.wallpaper && Settings.data.wallpaper.directory) {
|
||||
selectedDirectory = Settings.data.wallpaper.directory
|
||||
selectedDirectory = Settings.data.wallpaper.directory;
|
||||
} else {
|
||||
selectedDirectory = Quickshell.env("HOME") + "/Pictures/Wallpapers"
|
||||
selectedDirectory = Quickshell.env("HOME") + "/Pictures/Wallpapers";
|
||||
}
|
||||
if (typeof WallpaperService !== "undefined" && WallpaperService.currentWallpaper) {
|
||||
selectedWallpaper = WallpaperService.currentWallpaper
|
||||
selectedWallpaper = WallpaperService.currentWallpaper;
|
||||
}
|
||||
initialRefreshTimer.start()
|
||||
initialRefreshTimer.start();
|
||||
}
|
||||
|
||||
NFilePicker {
|
||||
@@ -472,8 +472,8 @@ ColumnLayout {
|
||||
initialPath: selectedDirectory || Quickshell.env("HOME") + "/Pictures"
|
||||
onAccepted: paths => {
|
||||
if (paths.length > 0) {
|
||||
selectedDirectory = paths[0]
|
||||
directoryChanged(paths[0])
|
||||
selectedDirectory = paths[0];
|
||||
directoryChanged(paths[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -486,18 +486,18 @@ ColumnLayout {
|
||||
stderr: StdioCollector {}
|
||||
onExited: function (exitCode) {
|
||||
if (exitCode === 0) {
|
||||
var lines = stdout.text.split('\n')
|
||||
var images = []
|
||||
var lines = stdout.text.split('\n');
|
||||
var images = [];
|
||||
for (var i = 0; i < lines.length; i++) {
|
||||
var line = lines[i].trim()
|
||||
var line = lines[i].trim();
|
||||
if (line !== '') {
|
||||
images.push(line)
|
||||
images.push(line);
|
||||
}
|
||||
}
|
||||
wallpapersList = images
|
||||
updateFilteredWallpapers()
|
||||
wallpapersList = images;
|
||||
updateFilteredWallpapers();
|
||||
if (wallpapersList.length > 0 && selectedWallpaper === "") {
|
||||
selectedWallpaper = wallpapersList[0]
|
||||
selectedWallpaper = wallpapersList[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import Quickshell
|
||||
import Quickshell.Wayland
|
||||
import qs.Commons
|
||||
@@ -26,9 +26,9 @@ SmartPanel {
|
||||
property int totalSteps: 5
|
||||
|
||||
onOpened: function () {
|
||||
selectedScaleRatio = Settings.data.general.scaleRatio
|
||||
selectedBarPosition = Settings.data.bar.position
|
||||
selectedWallpaperDirectory = Settings.data.wallpaper.directory || Settings.defaultWallpapersDirectory
|
||||
selectedScaleRatio = Settings.data.general.scaleRatio;
|
||||
selectedBarPosition = Settings.data.bar.position;
|
||||
selectedWallpaperDirectory = Settings.data.wallpaper.directory || Settings.defaultWallpapersDirectory;
|
||||
}
|
||||
|
||||
// Setup wizard data
|
||||
@@ -179,12 +179,12 @@ SmartPanel {
|
||||
selectedDirectory: root.selectedWallpaperDirectory
|
||||
selectedWallpaper: root.selectedWallpaper
|
||||
onDirectoryChanged: function (directory) {
|
||||
root.selectedWallpaperDirectory = directory
|
||||
root.applyWallpaperSettings()
|
||||
root.selectedWallpaperDirectory = directory;
|
||||
root.applyWallpaperSettings();
|
||||
}
|
||||
onWallpaperChanged: function (wallpaper) {
|
||||
root.selectedWallpaper = wallpaper
|
||||
root.applyWallpaperSettings()
|
||||
root.selectedWallpaper = wallpaper;
|
||||
root.applyWallpaperSettings();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -199,12 +199,12 @@ SmartPanel {
|
||||
selectedScaleRatio: root.selectedScaleRatio
|
||||
selectedBarPosition: root.selectedBarPosition
|
||||
onScaleRatioChanged: function (ratio) {
|
||||
root.selectedScaleRatio = ratio
|
||||
root.applyUISettings()
|
||||
root.selectedScaleRatio = ratio;
|
||||
root.applyUISettings();
|
||||
}
|
||||
onBarPositionChanged: function (position) {
|
||||
root.selectedBarPosition = position
|
||||
root.applyUISettings()
|
||||
root.selectedBarPosition = position;
|
||||
root.applyUISettings();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -233,22 +233,28 @@ SmartPanel {
|
||||
spacing: Style.marginM
|
||||
|
||||
Repeater {
|
||||
model: [{
|
||||
model: [
|
||||
{
|
||||
"icon": "sparkles",
|
||||
"label": "Welcome"
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"icon": "image",
|
||||
"label": "Wallpaper"
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"icon": "palette",
|
||||
"label": "Appearance"
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"icon": "settings",
|
||||
"label": "Customize"
|
||||
}, {
|
||||
},
|
||||
{
|
||||
"icon": "device-desktop",
|
||||
"label": "Dock"
|
||||
}]
|
||||
}
|
||||
]
|
||||
delegate: RowLayout {
|
||||
spacing: Style.marginS
|
||||
|
||||
@@ -322,7 +328,7 @@ SmartPanel {
|
||||
visible: currentStep === 0
|
||||
Layout.preferredHeight: 44
|
||||
onClicked: {
|
||||
root.completeSetup()
|
||||
root.completeSetup();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -337,7 +343,7 @@ SmartPanel {
|
||||
Layout.preferredHeight: 44
|
||||
onClicked: {
|
||||
if (currentStep > 0) {
|
||||
currentStep--
|
||||
currentStep--;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -347,9 +353,9 @@ SmartPanel {
|
||||
Layout.preferredHeight: 44
|
||||
onClicked: {
|
||||
if (currentStep < totalSteps - 1) {
|
||||
currentStep++
|
||||
currentStep++;
|
||||
} else {
|
||||
root.completeSetup()
|
||||
root.completeSetup();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -360,39 +366,39 @@ SmartPanel {
|
||||
}
|
||||
|
||||
function completeSetup() {
|
||||
Logger.i("SetupWizard", "Completing setup with selected options")
|
||||
Logger.i("SetupWizard", "Completing setup with selected options");
|
||||
|
||||
if (selectedWallpaperDirectory !== Settings.data.wallpaper.directory) {
|
||||
Settings.data.wallpaper.directory = selectedWallpaperDirectory
|
||||
WallpaperService.refreshWallpapersList()
|
||||
Settings.data.wallpaper.directory = selectedWallpaperDirectory;
|
||||
WallpaperService.refreshWallpapersList();
|
||||
}
|
||||
|
||||
if (selectedWallpaper !== "") {
|
||||
WallpaperService.changeWallpaper(selectedWallpaper, undefined)
|
||||
WallpaperService.changeWallpaper(selectedWallpaper, undefined);
|
||||
}
|
||||
|
||||
Settings.data.general.scaleRatio = selectedScaleRatio
|
||||
Settings.data.bar.position = selectedBarPosition
|
||||
Settings.data.setupCompleted = true
|
||||
Settings.data.general.scaleRatio = selectedScaleRatio;
|
||||
Settings.data.bar.position = selectedBarPosition;
|
||||
Settings.data.setupCompleted = true;
|
||||
|
||||
Settings.saveImmediate()
|
||||
Logger.i("SetupWizard", "Setup completed successfully")
|
||||
root.close()
|
||||
Settings.saveImmediate();
|
||||
Logger.i("SetupWizard", "Setup completed successfully");
|
||||
root.close();
|
||||
}
|
||||
|
||||
function applyWallpaperSettings() {
|
||||
if (selectedWallpaperDirectory !== Settings.data.wallpaper.directory) {
|
||||
Settings.data.wallpaper.directory = selectedWallpaperDirectory
|
||||
WallpaperService.refreshWallpapersList()
|
||||
Settings.data.wallpaper.directory = selectedWallpaperDirectory;
|
||||
WallpaperService.refreshWallpapersList();
|
||||
}
|
||||
|
||||
if (selectedWallpaper !== "") {
|
||||
WallpaperService.changeWallpaper(selectedWallpaper, undefined)
|
||||
WallpaperService.changeWallpaper(selectedWallpaper, undefined);
|
||||
}
|
||||
}
|
||||
|
||||
function applyUISettings() {
|
||||
Settings.data.general.scaleRatio = selectedScaleRatio
|
||||
Settings.data.bar.position = selectedBarPosition
|
||||
Settings.data.general.scaleRatio = selectedScaleRatio;
|
||||
Settings.data.bar.position = selectedBarPosition;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user