Warning, /pim/kube/components/accounts/qml/AccountWizardPage.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 QtQuick.Controls 2 0023 import org.kube.framework 1.0 as Kube 0024 0025 0026 FocusScope { 0027 id: root 0028 property string accountType 0029 signal done() 0030 0031 property bool isFirstView: root.StackView.index == 0 0032 property bool requireSetup: false 0033 0034 function save() { 0035 if (loader.item.valid) { 0036 loader.item.save() 0037 Kube.Fabric.postMessage(Kube.Messages.synchronize, {"accountId": loader.item.accountIdentifier}); 0038 root.done() 0039 } else { 0040 console.warn("Invalid settings."); 0041 } 0042 } 0043 0044 //accountType -> uiPath 0045 Kube.AccountFactory { 0046 id: accountFactory 0047 accountType: root.accountType 0048 } 0049 0050 Kube.IconButton { 0051 id: backButton 0052 iconName: Kube.Icons.goBack 0053 tooltip: "go back" 0054 visible: !root.isFirstView 0055 onClicked: { 0056 stack.pop() 0057 } 0058 } 0059 0060 Keys.onReturnPressed: save() 0061 0062 //Item to avoid anchors conflict with stack 0063 Item { 0064 anchors{ 0065 top: backButton.bottom 0066 left: parent.left 0067 right: parent.right 0068 bottom: parent.bottom 0069 } 0070 0071 Kube.Heading { 0072 id: heading 0073 text: loader.item.heading 0074 color: Kube.Colors.highlightColor 0075 } 0076 0077 Kube.Label { 0078 id: subHeadline 0079 0080 anchors { 0081 left: heading.left 0082 top: heading.bottom 0083 } 0084 0085 width: parent.width 0086 text: loader.item.subheadline 0087 color: Kube.Colors.disabledTextColor 0088 wrapMode: Text.Wrap 0089 } 0090 0091 Item { 0092 id: accountEdit 0093 anchors { 0094 top:subHeadline.bottom 0095 left: parent.left 0096 right: parent.right 0097 topMargin: Kube.Units.largeSpacing * 2 0098 } 0099 0100 Loader { 0101 id: loader 0102 anchors.fill: parent 0103 focus: true 0104 source: accountFactory.uiPath 0105 } 0106 } 0107 0108 Item { 0109 id: spacer 0110 Layout.fillHeight: true 0111 anchors { 0112 top:accountEdit.bottom 0113 bottom: footer.top 0114 left: parent.left 0115 right: parent.right 0116 } 0117 } 0118 0119 //This is where we should place the account wizard ui 0120 Item { 0121 id: footer 0122 0123 anchors { 0124 bottom: parent.bottom 0125 left: parent.left 0126 right: parent.right 0127 topMargin: Kube.Units.largeSpacing * 2 0128 } 0129 0130 Kube.Button { 0131 anchors { 0132 left: parent.left 0133 bottom: parent.bottom 0134 } 0135 visible: !root.requireSetup 0136 0137 text: qsTr("Discard") 0138 onClicked: { 0139 root.done() 0140 } 0141 } 0142 0143 Kube.PositiveButton { 0144 anchors { 0145 right: parent.right 0146 bottom: parent.bottom 0147 } 0148 objectName: "saveButton" 0149 0150 text: qsTr("Save") 0151 onClicked: save() 0152 } 0153 } 0154 } 0155 }