/* * Mirai. Copyright (C) 2024 Vyn * This file is licensed under version 3 of the GNU General Public License (GPL-3.0-only) * The license can be found in the LICENSE file or at https://www.gnu.org/licenses/gpl-3.0.txt */ import QtQuick import QtQuick.Window import QtQuick.Controls import QtQuick.Layouts import QtQuick.Dialogs import Mirai // WIP ColumnLayout { id: form spacing: 6 signal confirmed(paths: var) function reset() { internal.paths = [] internal.paths = backend.files.map(file => file.path) } QtObject { id: internal property var paths } Repeater { model: internal.paths ColumnLayout { AppLineEdit { text: modelData onTextChanged: { internal.paths[index] = text } } } } FileDialog { id: fileDialog onAccepted: { console.log(selectedFile.toString()) internal.paths = [...internal.paths, selectedFile.toString().replace(/^file:\/\//, "")] } } AppButton { text: "+ Add" onClicked: { fileDialog.open() } } AppButton { text: "Save" onClicked: { form.confirmed(internal.paths) } } }