Warning, /utilities/keysmith/src/contents/ui/SetupPassword.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 * SPDX-License-Identifier: GPL-3.0-or-later 0003 * SPDX-FileCopyrightText: 2020-2021 Johan Ouwerkerk <jm.ouwerkerk@gmail.com> 0004 * SPDX-FileCopyrightText: 2020 Carl Schwan <carl@carlschwan.eu> 0005 * SPDX-FileCopyrightText: 2021 Devin Lin <espidev@gmail.com> 0006 */ 0007 0008 import QtQuick 0009 import QtQuick.Layouts 0010 import QtQuick.Controls as Controls 0011 import org.kde.kirigami as Kirigami 0012 import org.kde.kirigamiaddons.formcard 1.0 as FormCard 0013 import org.kde.kirigamiaddons.components 1.0 as Components 0014 0015 import Keysmith.Application as Application 0016 0017 FormCard.FormCardPage { 0018 id: root 0019 0020 required property Application.SetupPasswordViewModel vm 0021 0022 title: i18nc("@title:window", "Password") 0023 0024 Component.onCompleted: newPassword.forceActiveFocus() 0025 0026 header: Components.Banner { 0027 id: errorMessage 0028 text: i18n("Failed to set up your password") 0029 visible: vm.failed 0030 showCloseButton: true 0031 } 0032 0033 Kirigami.Icon { 0034 source: "lock" 0035 Layout.fillWidth: true 0036 Layout.preferredHeight: Kirigami.Units.gridUnit * 8 0037 Layout.topMargin: Kirigami.Units.gridUnit 0038 Layout.bottomMargin: Kirigami.Units.gridUnit 0039 } 0040 0041 FormCard.FormHeader { 0042 title: i18n("Choose a password to protect your accounts") 0043 } 0044 0045 FormCard.FormCard { 0046 FormCard.FormTextFieldDelegate { 0047 id: newPassword 0048 echoMode: TextInput.Password 0049 label: i18nc("@label:textbox", "New Password:") 0050 enabled: !vm.busy 0051 onAccepted: newPasswordCopy.trigger() 0052 } 0053 0054 FormCard.FormDelegateSeparator {} 0055 0056 FormCard.FormTextFieldDelegate { 0057 id: newPasswordCopy 0058 echoMode: TextInput.Password 0059 enabled: !vm.busy 0060 label: i18nc("@label:textbox", "Verify password:") 0061 onAccepted: applyButton.clicked() 0062 } 0063 0064 FormCard.FormDelegateSeparator { above: applyButton } 0065 0066 FormCard.FormButtonDelegate { 0067 id: applyButton 0068 text: i18nc("@action:button", "Apply") 0069 icon.name: "answer-correct" 0070 enabled: !vm.busy && newPassword.text === newPasswordCopy.text && newPassword.text && newPassword.text.length > 0 0071 onClicked: vm.setup(newPassword.text, newPasswordCopy.text); 0072 } 0073 } 0074 }