Warning, /plasma/kwin/src/kcms/rules/ui/FileDialogLoader.qml is written in an unsupported language. File is not indexed.
0001 /*
0002 SPDX-FileCopyrightText: 2020 Ismael Asensio <isma.af@gmail.com>
0003
0004 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0005 */
0006
0007 import QtCore
0008 import QtQuick
0009 import QtQuick.Dialogs as QtDialogs
0010
0011 Loader {
0012 id: root
0013 active: false
0014
0015 property string title : i18n("Select File");
0016 property string lastFolder : ""
0017 property bool isSaveDialog : false
0018
0019 signal fileSelected(string path)
0020
0021 sourceComponent: QtDialogs.FileDialog {
0022 id: fileDialog
0023
0024 title: root.title
0025 fileMode: root.isSaveDialog ? QtDialogs.FileDialog.SaveFile : QtDialogs.FileDialog.OpenFile
0026 currentFolder: root.lastFolder || StandardPaths.standardLocations(StandardPaths.HomeLocation)[0]
0027 nameFilters: [ i18n("KWin Rules (*.kwinrule)") ]
0028 defaultSuffix: "*.kwinrule"
0029
0030 Component.onCompleted: {
0031 open();
0032 }
0033
0034 onAccepted: {
0035 root.lastFolder = currentFolder;
0036 if (selectedFile != "") {
0037 root.fileSelected(selectedFile);
0038 }
0039 root.active = false;
0040 }
0041
0042 onRejected: {
0043 root.active = false;
0044 }
0045 }
0046 }