Warning, /network/kdenetwork-filesharing/samba/aclproperties/qml/ACEPage.qml is written in an unsupported language. File is not indexed.
0001 // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0002 // SPDX-FileCopyrightText: 2021-2022 Harald Sitter <sitter@kde.org> 0003 0004 import QtQuick 2.15 0005 import QtQuick.Layouts 1.15 0006 import QtQuick.Controls 2.15 as QQC2 0007 import org.kde.kirigami 2.19 as Kirigami 0008 0009 import org.kde.filesharing.samba.acl 1.0 as Samba 0010 0011 Kirigami.ScrollablePage { 0012 id: page 0013 required property var aceObject 0014 0015 component ACEObjectCheckBox: QQC2.CheckBox { 0016 property var objectProperty 0017 onToggled: page.aceObject[objectProperty] = checked 0018 // This is not bound, the user changes the checked state! 0019 Component.onCompleted: checked = aceObject[objectProperty] 0020 Layout.fillWidth: true 0021 } 0022 0023 ColumnLayout { 0024 Kirigami.InlineMessage { 0025 Layout.fillWidth: true 0026 visible: aceObject.inherited 0027 type: Kirigami.MessageType.Information 0028 text: i18nc("@info", 0029 "This permission entry was inherited from a parent container and can only be modified on that parent (e.g. a higher level directory).") 0030 } 0031 0032 ColumnLayout { 0033 enabled: !aceObject.inherited 0034 width: parent.width 0035 RowLayout { 0036 QQC2.Label { text: i18nc("@label", "Type:") } 0037 QQC2.ComboBox { 0038 model: Samba.Context.types 0039 textRole: "text" 0040 valueRole: "value" 0041 onActivated: aceObject.type = currentValue 0042 Component.onCompleted: currentIndex = indexOfValue(aceObject.type) 0043 } 0044 } 0045 RowLayout { 0046 QQC2.Label { text: i18nc("@label", "Applies to:") } 0047 QQC2.ComboBox { 0048 model: Samba.Context.inheritances 0049 textRole: "text" 0050 valueRole: "value" 0051 onActivated: aceObject.inheritance = currentValue 0052 Component.onCompleted: currentIndex = indexOfValue(aceObject.inheritance) 0053 } 0054 } 0055 ColumnLayout { 0056 Layout.leftMargin: Kirigami.Units.gridUnit 0057 ACEObjectCheckBox { 0058 objectProperty: "execute" 0059 text: i18nc("@option:check", "Traverse folder / execute file") 0060 } 0061 ACEObjectCheckBox { 0062 objectProperty: "readData" 0063 text: i18nc("@option:check", "List folder / read data") 0064 } 0065 ACEObjectCheckBox { 0066 objectProperty: "readAttributes" 0067 text: i18nc("@option:check", "Read attributes") 0068 } 0069 ACEObjectCheckBox { 0070 objectProperty: "readExtendedAttributes" 0071 text: i18nc("@option:check", "Read extended attributes") 0072 } 0073 ACEObjectCheckBox { 0074 objectProperty: "writeData" 0075 text: i18nc("@option:check", "Create files / write data") 0076 } 0077 ACEObjectCheckBox { 0078 objectProperty: "appendData" 0079 text: i18nc("@option:check", "Create folders / append data") 0080 } 0081 ACEObjectCheckBox { 0082 objectProperty: "writeAttributes" 0083 text: i18nc("@option:check", "Write attributes") 0084 } 0085 ACEObjectCheckBox { 0086 objectProperty: "writeExtendedAttributes" 0087 text: i18nc("@option:check", "Write extended attributes") 0088 } 0089 ACEObjectCheckBox { 0090 objectProperty: "canDeleteData" 0091 text: i18nc("@option:check", "Delete subfolders and files") 0092 } 0093 ACEObjectCheckBox{ 0094 objectProperty: "canDelete" 0095 text: i18nc("@option:check", "Delete") 0096 } 0097 ACEObjectCheckBox { 0098 objectProperty: "readPermissions" 0099 text: i18nc("@option:check", "Read permissions") 0100 } 0101 ACEObjectCheckBox { 0102 objectProperty: "changePermissions" 0103 text: i18nc("@option:check", "Change permissions") 0104 } 0105 ACEObjectCheckBox { 0106 objectProperty: "takeOwnership" 0107 text: i18nc("@option:check", "Take ownership") 0108 } 0109 } 0110 ACEObjectCheckBox { 0111 objectProperty: "noPropagate" 0112 text: i18nc("@option:check", "Only apply these permissions to objects and/or containers within this container") 0113 } 0114 } 0115 } 0116 }