Warning, /network/kdenetwork-filesharing/samba/filepropertiesplugin/qml/UserPage.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0003 SPDX-FileCopyrightText: 2020 Harald Sitter <sitter@kde.org> 0004 */ 0005 0006 import QtQuick 2.12 0007 import QtQuick.Controls 2.5 as QQC2 0008 import QtQuick.Layouts 1.14 0009 import org.kde.kirigami 2.12 as Kirigami 0010 import org.kde.filesharing.samba 1.0 as Samba 0011 0012 Kirigami.ScrollablePage { 0013 background: Item {} /* this page is inside a tabbox, we want its background, not a window/page background */ 0014 0015 globalToolBarStyle: Kirigami.ApplicationHeaderStyle.None 0016 0017 // the page it lives within already has its own 0018 leftPadding: 0 0019 rightPadding: 0 0020 topPadding: 0 0021 bottomPadding: 0 0022 0023 Keys.onPressed: { 0024 // We need to explicitly handle some keys inside the sheet. Since the sheet is no FocusScope we will catch 0025 // them here and feed them to the sheet instead. 0026 if (!changePassword.sheetOpen) { 0027 return 0028 } 0029 changePassword.handleKeyEvent(event) 0030 } 0031 0032 ChangePassword { 0033 // This is an overlay sheet, it requires a scrollable page to anchor on. 0034 id: changePassword 0035 0036 function userCreated(userCreated) 0037 { 0038 enabled = true 0039 changePassword.busy = false 0040 if (userCreated) { 0041 close() 0042 stackReplace(pendingStack.pop()) 0043 } 0044 } 0045 0046 onAccepted: { 0047 enabled = false 0048 busy = true 0049 sambaPlugin.userManager.currentUser().addToSamba(password) 0050 } 0051 } 0052 0053 Connections { 0054 // ChangePassword being a sheet it's being crap to use and can't even connect to nothing. 0055 target: sambaPlugin.userManager.currentUser() 0056 onInSambaChanged: changePassword.userCreated(target.inSamba) 0057 onAddToSambaError: changePassword.errorMessage = error 0058 } 0059 0060 ColumnLayout { 0061 QQC2.Label { 0062 Layout.alignment: Qt.AlignHCenter 0063 Layout.fillWidth: true 0064 textFormat: Text.RichText // for xi18n markup 0065 text: xi18nc("@info", ` 0066 <para> 0067 Samba uses a separate user database from the system one. 0068 This requires you to set a separate Samba password for every user that you want to 0069 be able to authenticate with. 0070 </para> 0071 <para> 0072 Before you can access shares with your current user account you need to set a Samba password. 0073 </para>`) 0074 wrapMode: Text.Wrap 0075 } 0076 0077 QQC2.Button { 0078 Layout.alignment: Qt.AlignHCenter 0079 icon.name: "lock" 0080 text: i18nc("@action:button opens dialog to create new user", "Create Samba password") 0081 onClicked: changePassword.openAndClear() 0082 } 0083 0084 QQC2.Label { 0085 Layout.alignment: Qt.AlignHCenter 0086 Layout.fillWidth: true 0087 textFormat: Text.RichText // for xi18n markup 0088 text: xi18nc("@info", ` 0089 Additional user management and password management can be done using Samba's <command>smbpasswd</command> 0090 command line utility.`) 0091 wrapMode: Text.Wrap 0092 } 0093 } 0094 }