Warning, /pim/kube/framework/qml/EditAccount.qml is written in an unsupported language. File is not indexed.
0001 /*
0002 * Copyright (C) 2016 Michael Bohlender, <michael.bohlender@kdemail.net>
0003 * Copyright (C) 2017 Christian Mollekopf, <mollekopf@kolabsys.com>
0004 *
0005 * This program is free software; you can redistribute it and/or modify
0006 * it under the terms of the GNU General Public License as published by
0007 * the Free Software Foundation; either version 2 of the License, or
0008 * (at your option) any later version.
0009 *
0010 * This program is distributed in the hope that it will be useful,
0011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
0012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
0013 * GNU General Public License for more details.
0014 *
0015 * You should have received a copy of the GNU General Public License along
0016 * with this program; if not, write to the Free Software Foundation, Inc.,
0017 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
0018 */
0019
0020 import QtQuick 2.7
0021 import QtQuick.Layouts 1.1
0022 import org.kube.framework 1.0 as Kube
0023
0024
0025 Item {
0026 id: root
0027 property string accountId
0028 property bool canRemove: true
0029
0030 Kube.AccountFactory {
0031 id: accountFactory
0032 accountId: root.accountId
0033 }
0034
0035 Item {
0036
0037 anchors {
0038 fill: parent
0039 margins: Kube.Units.largeSpacing * 2
0040 }
0041
0042 Kube.Heading {
0043 id: heading
0044 text: loader.item ? loader.item.heading : ""
0045 color: Kube.Colors.highlightColor
0046 }
0047
0048 Kube.Label {
0049 id: subHeadline
0050
0051 anchors {
0052 left: heading.left
0053 top: heading.bottom
0054 }
0055
0056 width: parent.width
0057 text: loader.item ? loader.item.subheadline : ""
0058 color: Kube.Colors.disabledTextColor
0059 wrapMode: Text.Wrap
0060 }
0061
0062 Column {
0063 anchors {
0064 top: subHeadline.bottom
0065 left: parent.left
0066 right: parent.right
0067 bottom: footer.top
0068 topMargin: Kube.Units.largeSpacing * 2
0069 }
0070 spacing: Kube.Units.largeSpacing
0071 Loader {
0072 id: loader
0073 anchors {
0074 left: parent.left
0075 right: parent.right
0076 }
0077 height: item ? item.implicitHeight : 0
0078 source: accountFactory.uiPath
0079 Binding {
0080 target: loader.item
0081 property: "accountId"
0082 value: root.accountId
0083 when: loader.status == Loader.Ready
0084 }
0085 }
0086 Kube.Button {
0087 visible: accountFactory.requiresKeyring
0088 anchors.right: parent.right
0089 text: qsTr("Change Password")
0090 onClicked: {
0091 Kube.Fabric.postMessage(Kube.Messages.componentDone, {})
0092 Kube.Fabric.postMessage(Kube.Messages.requestLogin, {accountId: loader.item.accountId})
0093 }
0094 }
0095 }
0096
0097 //This is where we should place the account wizard ui
0098 GridLayout {
0099 id: footer
0100 anchors {
0101 bottom: parent.bottom
0102 left: parent.left
0103 right: parent.right
0104 topMargin: Kube.Units.largeSpacing * 2
0105 }
0106 height: childrenRect.height
0107
0108 columns: 2
0109 columnSpacing: Kube.Units.largeSpacing
0110 rowSpacing: Kube.Units.largeSpacing
0111
0112 Item {
0113 Layout.fillHeight: true
0114 }
0115
0116 Kube.Label {
0117 text: ""
0118 }
0119
0120 Item {
0121 Layout.fillWidth: true
0122
0123 Kube.Button {
0124 text: qsTr("Remove Account")
0125 visible: root.canRemove
0126
0127 onClicked: {
0128 loader.item.remove()
0129 }
0130 }
0131
0132 Kube.Button {
0133 anchors.right: parent.right
0134 text: qsTr("Save")
0135 onClicked: {
0136 if(loader.item.valid) {
0137 loader.item.save()
0138 Kube.Fabric.postMessage(Kube.Messages.synchronize, {"accountId": loader.item.accountId});
0139 Kube.Fabric.postMessage(Kube.Messages.componentDone, {})
0140 } else {
0141 console.warn("Invalid settings.");
0142 }
0143 }
0144 }
0145 }
0146 }
0147 }
0148 }