Warning, /pim/kube/accounts/generic/qml/AccountSettings.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.4 0021 import QtQuick.Layouts 1.1 0022 import org.kube.framework 1.0 as Kube 0023 import org.kube.accounts.generic 1.0 as GenericAccount 0024 0025 Item { 0026 0027 property string accountId 0028 property string heading: qsTr("Connect your account") 0029 property string subheadline: qsTr("To let Kube access your account, fill in email address, username and the relevant server addresses. For information about the server details, please contact your email provider.") 0030 property bool valid: true 0031 implicitHeight: grid.implicitHeight 0032 0033 GenericAccount.Settings { 0034 id: settings 0035 accountIdentifier: accountId 0036 accountType: "generic" 0037 } 0038 0039 function save(){ 0040 settings.save() 0041 } 0042 0043 function remove(){ 0044 settings.remove() 0045 } 0046 GridLayout { 0047 id: grid 0048 anchors.fill: parent 0049 columns: 2 0050 columnSpacing: Kube.Units.largeSpacing 0051 rowSpacing: Kube.Units.largeSpacing 0052 0053 Kube.Label { 0054 text: qsTr("Name") 0055 Layout.alignment: Qt.AlignRight 0056 } 0057 Kube.RequiredTextField { 0058 Layout.fillWidth: true 0059 placeholderText: qsTr("Your name") 0060 text: settings.userName 0061 onTextChanged: { 0062 settings.userName = text 0063 } 0064 } 0065 0066 Kube.Label { 0067 text: qsTr("Email address") 0068 Layout.alignment: Qt.AlignRight 0069 } 0070 Kube.RequiredTextField { 0071 Layout.fillWidth: true 0072 0073 text: settings.emailAddress 0074 onTextChanged: { 0075 settings.emailAddress = text 0076 settings.accountName = text 0077 } 0078 placeholderText: qsTr("Your email address") 0079 } 0080 Kube.Label { 0081 text: qsTr("Username") 0082 Layout.alignment: Qt.AlignRight 0083 } 0084 Kube.RequiredTextField { 0085 Layout.fillWidth: true 0086 0087 text: settings.imapUsername 0088 onTextChanged: { 0089 settings.imapUsername = text 0090 settings.smtpUsername = text 0091 settings.carddavUsername = text 0092 settings.caldavUsername = text 0093 } 0094 placeholderText: qsTr("Your username for server access.") 0095 } 0096 0097 Kube.Label { 0098 text: qsTr("IMAP address") 0099 Layout.alignment: Qt.AlignRight 0100 } 0101 Kube.RequiredTextField { 0102 id: imapServer 0103 0104 Layout.fillWidth: true 0105 0106 placeholderText: "imaps://mainserver.example.net:993" 0107 text: settings.imapServer 0108 onTextChanged: { 0109 settings.imapServer = text 0110 } 0111 validator: settings.imapServerValidator 0112 } 0113 0114 Kube.Label { 0115 text: qsTr("Use Starttls") 0116 Layout.alignment: Qt.AlignRight 0117 } 0118 Kube.CheckBox { 0119 Layout.fillWidth: true 0120 checked: settings.imapStarttls 0121 onToggled: settings.imapStarttls = checked 0122 } 0123 0124 Kube.Label { 0125 text: qsTr("Authentication Method") 0126 Layout.alignment: Qt.AlignRight 0127 } 0128 Kube.ComboBox { 0129 Layout.fillWidth: true 0130 model: ["CLEARTEXT", "LOGIN", "PLAIN"] 0131 0132 function getCurrentIndex(mode) { 0133 var index = find(mode) 0134 if (index < 0) { 0135 //Default to PLAIN 0136 return 2 0137 } 0138 return index 0139 } 0140 0141 currentIndex: getCurrentIndex(settings.imapAuthenticationMode) 0142 onCurrentIndexChanged: settings.imapAuthenticationMode = textAt(currentIndex) 0143 } 0144 0145 Kube.Label { 0146 text: qsTr("SMTP address") 0147 Layout.alignment: Qt.AlignRight 0148 } 0149 Kube.RequiredTextField { 0150 Layout.fillWidth: true 0151 0152 placeholderText: "smtps://mainserver.example.net:587" 0153 text: settings.smtpServer 0154 onTextChanged: { 0155 settings.smtpServer = text 0156 } 0157 validator: settings.smtpServerValidator 0158 } 0159 0160 Kube.Label { 0161 text: qsTr("CardDAV address") 0162 Layout.alignment: Qt.AlignRight 0163 } 0164 Kube.RequiredTextField { 0165 Layout.fillWidth: true 0166 0167 placeholderText: "https://mainserver.example.net" 0168 text: settings.carddavServer 0169 onTextChanged: { 0170 settings.carddavServer = text 0171 } 0172 } 0173 0174 Kube.Label { 0175 text: qsTr("CalDAV address") 0176 Layout.alignment: Qt.AlignRight 0177 } 0178 Kube.RequiredTextField { 0179 Layout.fillWidth: true 0180 0181 placeholderText: "https://mainserver.example.net" 0182 text: settings.caldavServer 0183 onTextChanged: { 0184 settings.caldavServer = text 0185 } 0186 } 0187 } 0188 }