Add NInputButton widget and FileManagerService integration

NInputButton.qml: new input+button widget
FileManagerService.qml: singleton service for file/folder dialogs
NFileManager.qml: create first iteration of filemanager
WallpaperTab.qml: integrate NInputButton
ScreenRecorderTab.qml: integrate NInputButton
GeneralTab.qml: integrate NInputButton
This commit is contained in:
Ly-sec
2025-09-21 13:06:57 +02:00
parent 2e0214ddb8
commit 86d891cfa8
6 changed files with 1086 additions and 10 deletions
@@ -20,16 +20,30 @@ ColumnLayout {
spacing: Style.marginS * scaling
Layout.fillWidth: true
NTextInput {
NInputButton {
label: "Output folder"
description: "Folder where screen recordings will be saved."
placeholderText: "/home/xxx/Videos"
text: Settings.data.screenRecorder.directory
onEditingFinished: {
buttonIcon: "folder-open"
buttonTooltip: "Browse for output folder"
onInputEditingFinished: {
Settings.data.screenRecorder.directory = text
}
Layout.maximumWidth: 420 * scaling
onButtonClicked: {
FileManagerService.open({
"title": "Select Output Folder",
"initialPath": Settings.data.screenRecorder.directory || Quickshell.env("HOME") + "/Videos",
"selectFiles": false,
"scaling": scaling,
"onSelected": function (path) {
Settings.data.screenRecorder.directory = path
text = path
},
"parent": root
})
}
}
ColumnLayout {