From a0c48081516f8fd6adae16c57a4f851bb139e36d Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Mon, 20 Feb 2017 16:52:00 +0100 Subject: Normalize the component package structure --- components/accounts/AccountWizard.qml | 128 ------------- components/accounts/CreateGmail.qml | 208 --------------------- components/accounts/CreateImap.qml | 165 ---------------- components/accounts/CreateKolabNow.qml | 208 --------------------- components/accounts/CreateMaildir.qml | 201 -------------------- components/accounts/EditImap.qml | 1 - components/accounts/EditKolabNow.qml | 1 - components/accounts/EditMaildir.qml | 1 - components/accounts/contents/ui/AccountWizard.qml | 128 +++++++++++++ components/accounts/contents/ui/CreateGmail.qml | 208 +++++++++++++++++++++ components/accounts/contents/ui/CreateImap.qml | 165 ++++++++++++++++ components/accounts/contents/ui/CreateKolabNow.qml | 208 +++++++++++++++++++++ components/accounts/contents/ui/CreateMaildir.qml | 201 ++++++++++++++++++++ components/accounts/contents/ui/EditImap.qml | 1 + components/accounts/contents/ui/EditKolabNow.qml | 1 + components/accounts/contents/ui/EditMaildir.qml | 1 + components/accounts/contents/ui/main.qml | 30 +++ components/accounts/main.qml | 30 --- components/accounts/metadata.desktop | 8 + components/accounts/qmldir | 4 +- 20 files changed, 953 insertions(+), 945 deletions(-) delete mode 100644 components/accounts/AccountWizard.qml delete mode 100644 components/accounts/CreateGmail.qml delete mode 100644 components/accounts/CreateImap.qml delete mode 100644 components/accounts/CreateKolabNow.qml delete mode 100644 components/accounts/CreateMaildir.qml delete mode 100644 components/accounts/EditImap.qml delete mode 100644 components/accounts/EditKolabNow.qml delete mode 100644 components/accounts/EditMaildir.qml create mode 100644 components/accounts/contents/ui/AccountWizard.qml create mode 100644 components/accounts/contents/ui/CreateGmail.qml create mode 100644 components/accounts/contents/ui/CreateImap.qml create mode 100644 components/accounts/contents/ui/CreateKolabNow.qml create mode 100644 components/accounts/contents/ui/CreateMaildir.qml create mode 100644 components/accounts/contents/ui/EditImap.qml create mode 100644 components/accounts/contents/ui/EditKolabNow.qml create mode 100644 components/accounts/contents/ui/EditMaildir.qml create mode 100644 components/accounts/contents/ui/main.qml delete mode 100644 components/accounts/main.qml create mode 100644 components/accounts/metadata.desktop (limited to 'components/accounts') diff --git a/components/accounts/AccountWizard.qml b/components/accounts/AccountWizard.qml deleted file mode 100644 index 8cc90acb..00000000 --- a/components/accounts/AccountWizard.qml +++ /dev/null @@ -1,128 +0,0 @@ -/* - * Copyright (C) 2016 Michael Bohlender, - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -import QtQuick 2.7 -import QtQuick.Layouts 1.1 -import QtQuick.Controls 2.0 as Controls2 -import org.kde.kirigami 1.0 as Kirigami - -Controls2.Popup { - id: popup - - modal: true - focus: true - closePolicy: Controls2.Popup.CloseOnEscape | Controls2.Popup.CloseOnPressOutsideParent - - clip: true - - Controls2.StackView { - id: stack - - anchors.fill: parent - - initialItem: mainView - } - - Component { - id: mainView - - Item { - - ColumnLayout { - - anchors.centerIn: parent - - width: parent.width * 0.4 - - spacing: Kirigami.Units.largeSpacing - - Controls2.Button { - - Layout.fillWidth: true - - text: "kolabnow account" - - onClicked: { - stack.push(kolabnow) - } - } - - Controls2.Button { - - Layout.fillWidth: true - - text: "gmail account" - - onClicked: { - stack.push(gmail) - } - } - - Controls2.Button { - - Layout.fillWidth: true - - text: "imap account" - - onClicked: { - stack.push(imap) - } - } - - Controls2.Button { - - Layout.fillWidth: true - - text: "maildir archive" - - onClicked: { - stack.push(maildir) - } - } - } - } - } - - Component { - id: kolabnow - - CreateKolabNow { - } - } - - Component { - id: gmail - - CreateGmail { - } - } - - Component { - id: imap - - CreateImap { - } - } - - Component { - id: maildir - - CreateMaildir { - } - } -} diff --git a/components/accounts/CreateGmail.qml b/components/accounts/CreateGmail.qml deleted file mode 100644 index 5d7f8194..00000000 --- a/components/accounts/CreateGmail.qml +++ /dev/null @@ -1,208 +0,0 @@ -/* - * Copyright (C) 2016 Michael Bohlender, - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -import QtQuick 2.7 -import QtQuick.Layouts 1.1 -import QtQuick.Controls 1.4 as Controls -import QtQuick.Controls 2.0 as Controls2 -import org.kde.kirigami 1.0 as Kirigami - -import org.kube.framework.accounts 1.0 as KubeAccounts - -Item { - - KubeAccounts.GmailController { - id: account - } - - Controls.ToolButton { - iconName: "go-previous" - - tooltip: "go back" - - onClicked: { - stack.pop() - } - } - - //Item to avoid anchors conflict with stack - Item { - - anchors { - fill: parent - margins: Kirigami.Units.largeSpacing * 2 - } - - Kirigami.Heading { - id: heading - text: "Connect your Gmail account" - - color: Kirigami.Theme.highlightColor - } - - Kirigami.Label { - id: subHeadline - - anchors { - left: heading.left - top: heading.bottom - } - - width: parent.width - - text: "To let Kube access your account, fill in email address, username, password and give the account a title that will be displayed inside Kube." - - color: Kirigami.Theme.disabledTextColor - - wrapMode: Text.Wrap - } - - GridLayout { - anchors { - top:subHeadline.bottom - bottom: parent.bottom - left: parent.left - right: parent.right - topMargin: Kirigami.Units.largeSpacing * 2 - } - - columns: 2 - columnSpacing: Kirigami.Units.largeSpacing - rowSpacing: Kirigami.Units.largeSpacing - - Controls.Label { - text: "Title of Account" - Layout.alignment: Qt.AlignRight - } - Controls.TextField { - Layout.fillWidth: true - - placeholderText: "E.g. \"Work\", \"Home\" that will be displayed in Kube as name" - - text: account.name - - onTextChanged: { - account.name = text - } - } - - Controls.Label { - text: "Email address" - Layout.alignment: Qt.AlignRight - } - - Controls.TextField { - Layout.fillWidth: true - - text: account.emailAddress - - onTextChanged: { - account.emailAddress = text - } - - placeholderText: "Your email address" - } - - Controls.Label { - text: "Name" - Layout.alignment: Qt.AlignRight - } - Controls.TextField { - Layout.fillWidth: true - - placeholderText: "Your name" - - text: account.identityName - - onTextChanged: { - account.identityName = text - } - } - - Kirigami.Label { - text: "Password" - Layout.alignment: Qt.AlignRight - } - - RowLayout { - Layout.fillWidth: true - - Controls.TextField { - id: pwField - Layout.fillWidth: true - - placeholderText: "Password of your email account" - - text: account.password - - onTextChanged: { - account.password = text - } - - echoMode: TextInput.Password - } - - Controls.CheckBox { - text: "Show Password" - onClicked: { - if(pwField.echoMode == TextInput.Password) { - pwField.echoMode = TextInput.Normal; - } else { - pwField.echoMode = TextInput.Password; - } - } - } - } - - Item { - Layout.fillHeight: true - } - - Kirigami.Label { - text: "" - } - - Kirigami.Label { - text: "" - } - - Item { - Layout.fillWidth: true - - Controls.Button { - text: "Discard" - - onClicked: { - popup.close() - } - } - - Controls.Button { - anchors.right: parent.right - - text: "Save" - - onClicked: { - account.createAction.execute() - popup.close() - } - } - } - } - } -} diff --git a/components/accounts/CreateImap.qml b/components/accounts/CreateImap.qml deleted file mode 100644 index 7f355409..00000000 --- a/components/accounts/CreateImap.qml +++ /dev/null @@ -1,165 +0,0 @@ -/* - * Copyright (C) 2016 Michael Bohlender, - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -import QtQuick 2.7 -import QtQuick.Layouts 1.1 -import QtQuick.Controls 1.4 as Controls -import QtQuick.Controls 2.0 as Controls2 -import org.kde.kirigami 1.0 as Kirigami - -Item { - - Controls.ToolButton { - iconName: "go-previous" - - tooltip: "go back" - - onClicked: { - stack.pop() - } - } - - //Item to avoid anchors conflict with stack - Item { - - anchors { - fill: parent - margins: Kirigami.Units.largeSpacing * 2 - } - - Kirigami.Heading { - id: heading - text: "Connect your IMAP account" - - color: Kirigami.Theme.highlightColor - } - - Kirigami.Label { - id: subHeadline - - anchors { - left: heading.left - top: heading.bottom - } - - width: parent.width - - text: "To let Kube access your account, fill in email address, username, password and give the account a title that will be displayed inside Kube." - - color: Kirigami.Theme.disabledTextColor - - wrapMode: Text.Wrap - } - - GridLayout { - anchors { - top:subHeadline.bottom - bottom: parent.bottom - left: parent.left - right: parent.right - topMargin: Kirigami.Units.largeSpacing * 2 - } - - columns: 2 - columnSpacing: Kirigami.Units.largeSpacing - rowSpacing: Kirigami.Units.largeSpacing - - Controls.Label { - text: "Title of Account" - Layout.alignment: Qt.AlignRight - } - Controls.TextField { - Layout.fillWidth: true - - placeholderText: "E.g. \"Work\", \"Home\" that will be displayed in Kube as name" - } - - Controls.Label { - text: "Email address" - Layout.alignment: Qt.AlignRight - } - - Controls.TextField { - Layout.fillWidth: true - - placeholderText: "Your email address" - } - - Kirigami.Label { - text: "Password" - Layout.alignment: Qt.AlignRight - } - - RowLayout { - Layout.fillWidth: true - - Controls.TextField { - id: pwField - Layout.fillWidth: true - - placeholderText: "Password of your email account" - echoMode: TextInput.Password - } - - Controls.CheckBox { - text: "Show Password" - onClicked: { - if(pwField.echoMode == TextInput.Password) { - pwField.echoMode = TextInput.Normal; - } else { - pwField.echoMode = TextInput.Password; - } - } - } - } - - Item { - Layout.fillHeight: true - } - - Kirigami.Label { - text: "" - } - - Kirigami.Label { - text: "" - } - - Item { - Layout.fillWidth: true - - Controls.Button { - text: "Discard" - - onClicked: { - popup.close() - } - } - - Controls.Button { - anchors.right: parent.right - - text: "Next" - - onClicked: { - } - } - } - } - } -} diff --git a/components/accounts/CreateKolabNow.qml b/components/accounts/CreateKolabNow.qml deleted file mode 100644 index e6022cbb..00000000 --- a/components/accounts/CreateKolabNow.qml +++ /dev/null @@ -1,208 +0,0 @@ -/* - * Copyright (C) 2016 Michael Bohlender, - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -import QtQuick 2.7 -import QtQuick.Layouts 1.1 -import QtQuick.Controls 1.4 as Controls -import QtQuick.Controls 2.0 as Controls2 -import org.kde.kirigami 1.0 as Kirigami - -import org.kube.framework.accounts 1.0 as KubeAccounts - -Item { - - KubeAccounts.KolabNowController { - id: account - } - - Controls.ToolButton { - iconName: "go-previous" - - tooltip: "go back" - - onClicked: { - stack.pop() - } - } - - //Item to avoid anchors conflict with stack - Item { - - anchors { - fill: parent - margins: Kirigami.Units.largeSpacing * 2 - } - - Kirigami.Heading { - id: heading - text: "Connect your Kolab Now account" - - color: Kirigami.Theme.highlightColor - } - - Kirigami.Label { - id: subHeadline - - anchors { - left: heading.left - top: heading.bottom - } - - width: parent.width - - text: "To let Kube access your account, fill in email address, username, password and give the account a title that will be displayed inside Kube." - - color: Kirigami.Theme.disabledTextColor - - wrapMode: Text.Wrap - } - - GridLayout { - anchors { - top:subHeadline.bottom - bottom: parent.bottom - left: parent.left - right: parent.right - topMargin: Kirigami.Units.largeSpacing * 2 - } - - columns: 2 - columnSpacing: Kirigami.Units.largeSpacing - rowSpacing: Kirigami.Units.largeSpacing - - Controls.Label { - text: "Title of Account" - Layout.alignment: Qt.AlignRight - } - Controls.TextField { - Layout.fillWidth: true - - placeholderText: "E.g. \"Work\", \"Home\" that will be displayed in Kube as name" - - text: account.name - - onTextChanged: { - account.name = text - } - } - - Controls.Label { - text: "Name" - Layout.alignment: Qt.AlignRight - } - Controls.TextField { - Layout.fillWidth: true - - placeholderText: "Your name" - - text: account.identityName - - onTextChanged: { - account.identityName = text - } - } - - Controls.Label { - text: "Email address" - Layout.alignment: Qt.AlignRight - } - - Controls.TextField { - Layout.fillWidth: true - - text: account.emailAddress - - onTextChanged: { - account.emailAddress = text - } - - placeholderText: "Your email address" - } - - Kirigami.Label { - text: "Password" - Layout.alignment: Qt.AlignRight - } - - RowLayout { - Layout.fillWidth: true - - Controls.TextField { - id: pwField - Layout.fillWidth: true - - placeholderText: "Password of your email account" - - text: account.password - - onTextChanged: { - account.password = text - } - - echoMode: TextInput.Password - } - - Controls.CheckBox { - text: "Show Password" - onClicked: { - if(pwField.echoMode == TextInput.Password) { - pwField.echoMode = TextInput.Normal; - } else { - pwField.echoMode = TextInput.Password; - } - } - } - } - - Item { - Layout.fillHeight: true - } - - Kirigami.Label { - text: "" - } - - Kirigami.Label { - text: "" - } - - Item { - Layout.fillWidth: true - - Controls.Button { - text: "Discard" - - onClicked: { - popup.close() - } - } - - Controls.Button { - anchors.right: parent.right - - text: "Save" - - onClicked: { - account.createAction.execute() - popup.close() - } - } - } - } - } -} diff --git a/components/accounts/CreateMaildir.qml b/components/accounts/CreateMaildir.qml deleted file mode 100644 index 99bde452..00000000 --- a/components/accounts/CreateMaildir.qml +++ /dev/null @@ -1,201 +0,0 @@ -/* - * Copyright (C) 2016 Michael Bohlender, - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -import QtQuick 2.7 -import QtQuick.Layouts 1.1 -import QtQuick.Controls 1.4 as Controls -import QtQuick.Controls 2.0 as Controls2 -import org.kde.kirigami 1.0 as Kirigami -import QtQuick.Dialogs 1.0 as Dialogs - -import org.kube.framework.accounts 1.0 as KubeAccounts - -Item { - id: root - - //Controller - KubeAccounts.MaildirController { - id: account - } - - //Navigation - Controls.ToolButton { - iconName: "go-previous" - - tooltip: "go back" - - onClicked: { - stack.pop() - } - } - - //Item to avoid anchors conflict with stack - Item { - - anchors { - fill: parent - margins: Kirigami.Units.largeSpacing * 2 - } - - - //BEGIN heading - Kirigami.Heading { - id: heading - text: "Add your Maildir archive" - - color: Kirigami.Theme.highlightColor - } - - Controls2.Label { - id: subHeadline - - anchors { - left: heading.left - top: heading.bottom - } - - width: parent.width - - text: "To let Kube access your maildir archive, add the path to your archive and give the account a title that will be displayed inside Kube" - - color: Kirigami.Theme.disabledTextColor - wrapMode: Text.Wrap - } - //END heading - - GridLayout { - anchors { - top:subHeadline.bottom - bottom: parent.bottom - left: parent.left - right: parent.right - topMargin: Kirigami.Units.largeSpacing * 2 - } - - columns: 2 - columnSpacing: Kirigami.Units.largeSpacing - rowSpacing: Kirigami.Units.largeSpacing - - Controls2.Label { - text: "Title of account" - Layout.alignment: Qt.AlignRight - } - Controls.TextField { - id: title - Layout.fillWidth: true - - text: account.name - - onTextChanged: { - account.name = text - } - } - - Controls2.Label { - text: "Path" - Layout.alignment: Qt.AlignRight - } - RowLayout { - Layout.fillWidth: true - - Controls.TextField { - id: path - Layout.fillWidth: true - - enabled: false - - text: account.path - } - - Controls.Button { - iconName: "folder" - - onClicked: { - fileDialogComponent.createObject(parent) - } - - Component { - id: fileDialogComponent - Dialogs.FileDialog { - id: fileDialog - - visible: true - title: "Choose the maildir folder" - - selectFolder: true - - onAccepted: { - account.path = fileDialog.fileUrl - } - } - } - } - } - - /* - Controls2.Label { - text: "" - } - Controls.CheckBox { - id: readOnly - text: "Read only" - } - */ - - Controls2.Label { - text: "" - Layout.fillHeight: true - } - Controls2.Label { - text: "" - } - - Controls2.Label { - text: "" - } - Item { - Layout.fillWidth: true - - Controls2.Button { - text: "Discard" - - onClicked: { - //account.clear() - popup.close() - } - } - - Controls2.Button { - id: saveButton - - anchors.right: parent.right - - text: "Save" - - enabled: account.createAction.enabled - - onClicked: { - account.createAction.execute() - popup.close() - } - } - } - } - } -} - diff --git a/components/accounts/EditImap.qml b/components/accounts/EditImap.qml deleted file mode 100644 index 8b137891..00000000 --- a/components/accounts/EditImap.qml +++ /dev/null @@ -1 +0,0 @@ - diff --git a/components/accounts/EditKolabNow.qml b/components/accounts/EditKolabNow.qml deleted file mode 100644 index 8b137891..00000000 --- a/components/accounts/EditKolabNow.qml +++ /dev/null @@ -1 +0,0 @@ - diff --git a/components/accounts/EditMaildir.qml b/components/accounts/EditMaildir.qml deleted file mode 100644 index 8b137891..00000000 --- a/components/accounts/EditMaildir.qml +++ /dev/null @@ -1 +0,0 @@ - diff --git a/components/accounts/contents/ui/AccountWizard.qml b/components/accounts/contents/ui/AccountWizard.qml new file mode 100644 index 00000000..8cc90acb --- /dev/null +++ b/components/accounts/contents/ui/AccountWizard.qml @@ -0,0 +1,128 @@ +/* + * Copyright (C) 2016 Michael Bohlender, + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +import QtQuick 2.7 +import QtQuick.Layouts 1.1 +import QtQuick.Controls 2.0 as Controls2 +import org.kde.kirigami 1.0 as Kirigami + +Controls2.Popup { + id: popup + + modal: true + focus: true + closePolicy: Controls2.Popup.CloseOnEscape | Controls2.Popup.CloseOnPressOutsideParent + + clip: true + + Controls2.StackView { + id: stack + + anchors.fill: parent + + initialItem: mainView + } + + Component { + id: mainView + + Item { + + ColumnLayout { + + anchors.centerIn: parent + + width: parent.width * 0.4 + + spacing: Kirigami.Units.largeSpacing + + Controls2.Button { + + Layout.fillWidth: true + + text: "kolabnow account" + + onClicked: { + stack.push(kolabnow) + } + } + + Controls2.Button { + + Layout.fillWidth: true + + text: "gmail account" + + onClicked: { + stack.push(gmail) + } + } + + Controls2.Button { + + Layout.fillWidth: true + + text: "imap account" + + onClicked: { + stack.push(imap) + } + } + + Controls2.Button { + + Layout.fillWidth: true + + text: "maildir archive" + + onClicked: { + stack.push(maildir) + } + } + } + } + } + + Component { + id: kolabnow + + CreateKolabNow { + } + } + + Component { + id: gmail + + CreateGmail { + } + } + + Component { + id: imap + + CreateImap { + } + } + + Component { + id: maildir + + CreateMaildir { + } + } +} diff --git a/components/accounts/contents/ui/CreateGmail.qml b/components/accounts/contents/ui/CreateGmail.qml new file mode 100644 index 00000000..5d7f8194 --- /dev/null +++ b/components/accounts/contents/ui/CreateGmail.qml @@ -0,0 +1,208 @@ +/* + * Copyright (C) 2016 Michael Bohlender, + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +import QtQuick 2.7 +import QtQuick.Layouts 1.1 +import QtQuick.Controls 1.4 as Controls +import QtQuick.Controls 2.0 as Controls2 +import org.kde.kirigami 1.0 as Kirigami + +import org.kube.framework.accounts 1.0 as KubeAccounts + +Item { + + KubeAccounts.GmailController { + id: account + } + + Controls.ToolButton { + iconName: "go-previous" + + tooltip: "go back" + + onClicked: { + stack.pop() + } + } + + //Item to avoid anchors conflict with stack + Item { + + anchors { + fill: parent + margins: Kirigami.Units.largeSpacing * 2 + } + + Kirigami.Heading { + id: heading + text: "Connect your Gmail account" + + color: Kirigami.Theme.highlightColor + } + + Kirigami.Label { + id: subHeadline + + anchors { + left: heading.left + top: heading.bottom + } + + width: parent.width + + text: "To let Kube access your account, fill in email address, username, password and give the account a title that will be displayed inside Kube." + + color: Kirigami.Theme.disabledTextColor + + wrapMode: Text.Wrap + } + + GridLayout { + anchors { + top:subHeadline.bottom + bottom: parent.bottom + left: parent.left + right: parent.right + topMargin: Kirigami.Units.largeSpacing * 2 + } + + columns: 2 + columnSpacing: Kirigami.Units.largeSpacing + rowSpacing: Kirigami.Units.largeSpacing + + Controls.Label { + text: "Title of Account" + Layout.alignment: Qt.AlignRight + } + Controls.TextField { + Layout.fillWidth: true + + placeholderText: "E.g. \"Work\", \"Home\" that will be displayed in Kube as name" + + text: account.name + + onTextChanged: { + account.name = text + } + } + + Controls.Label { + text: "Email address" + Layout.alignment: Qt.AlignRight + } + + Controls.TextField { + Layout.fillWidth: true + + text: account.emailAddress + + onTextChanged: { + account.emailAddress = text + } + + placeholderText: "Your email address" + } + + Controls.Label { + text: "Name" + Layout.alignment: Qt.AlignRight + } + Controls.TextField { + Layout.fillWidth: true + + placeholderText: "Your name" + + text: account.identityName + + onTextChanged: { + account.identityName = text + } + } + + Kirigami.Label { + text: "Password" + Layout.alignment: Qt.AlignRight + } + + RowLayout { + Layout.fillWidth: true + + Controls.TextField { + id: pwField + Layout.fillWidth: true + + placeholderText: "Password of your email account" + + text: account.password + + onTextChanged: { + account.password = text + } + + echoMode: TextInput.Password + } + + Controls.CheckBox { + text: "Show Password" + onClicked: { + if(pwField.echoMode == TextInput.Password) { + pwField.echoMode = TextInput.Normal; + } else { + pwField.echoMode = TextInput.Password; + } + } + } + } + + Item { + Layout.fillHeight: true + } + + Kirigami.Label { + text: "" + } + + Kirigami.Label { + text: "" + } + + Item { + Layout.fillWidth: true + + Controls.Button { + text: "Discard" + + onClicked: { + popup.close() + } + } + + Controls.Button { + anchors.right: parent.right + + text: "Save" + + onClicked: { + account.createAction.execute() + popup.close() + } + } + } + } + } +} diff --git a/components/accounts/contents/ui/CreateImap.qml b/components/accounts/contents/ui/CreateImap.qml new file mode 100644 index 00000000..7f355409 --- /dev/null +++ b/components/accounts/contents/ui/CreateImap.qml @@ -0,0 +1,165 @@ +/* + * Copyright (C) 2016 Michael Bohlender, + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +import QtQuick 2.7 +import QtQuick.Layouts 1.1 +import QtQuick.Controls 1.4 as Controls +import QtQuick.Controls 2.0 as Controls2 +import org.kde.kirigami 1.0 as Kirigami + +Item { + + Controls.ToolButton { + iconName: "go-previous" + + tooltip: "go back" + + onClicked: { + stack.pop() + } + } + + //Item to avoid anchors conflict with stack + Item { + + anchors { + fill: parent + margins: Kirigami.Units.largeSpacing * 2 + } + + Kirigami.Heading { + id: heading + text: "Connect your IMAP account" + + color: Kirigami.Theme.highlightColor + } + + Kirigami.Label { + id: subHeadline + + anchors { + left: heading.left + top: heading.bottom + } + + width: parent.width + + text: "To let Kube access your account, fill in email address, username, password and give the account a title that will be displayed inside Kube." + + color: Kirigami.Theme.disabledTextColor + + wrapMode: Text.Wrap + } + + GridLayout { + anchors { + top:subHeadline.bottom + bottom: parent.bottom + left: parent.left + right: parent.right + topMargin: Kirigami.Units.largeSpacing * 2 + } + + columns: 2 + columnSpacing: Kirigami.Units.largeSpacing + rowSpacing: Kirigami.Units.largeSpacing + + Controls.Label { + text: "Title of Account" + Layout.alignment: Qt.AlignRight + } + Controls.TextField { + Layout.fillWidth: true + + placeholderText: "E.g. \"Work\", \"Home\" that will be displayed in Kube as name" + } + + Controls.Label { + text: "Email address" + Layout.alignment: Qt.AlignRight + } + + Controls.TextField { + Layout.fillWidth: true + + placeholderText: "Your email address" + } + + Kirigami.Label { + text: "Password" + Layout.alignment: Qt.AlignRight + } + + RowLayout { + Layout.fillWidth: true + + Controls.TextField { + id: pwField + Layout.fillWidth: true + + placeholderText: "Password of your email account" + echoMode: TextInput.Password + } + + Controls.CheckBox { + text: "Show Password" + onClicked: { + if(pwField.echoMode == TextInput.Password) { + pwField.echoMode = TextInput.Normal; + } else { + pwField.echoMode = TextInput.Password; + } + } + } + } + + Item { + Layout.fillHeight: true + } + + Kirigami.Label { + text: "" + } + + Kirigami.Label { + text: "" + } + + Item { + Layout.fillWidth: true + + Controls.Button { + text: "Discard" + + onClicked: { + popup.close() + } + } + + Controls.Button { + anchors.right: parent.right + + text: "Next" + + onClicked: { + } + } + } + } + } +} diff --git a/components/accounts/contents/ui/CreateKolabNow.qml b/components/accounts/contents/ui/CreateKolabNow.qml new file mode 100644 index 00000000..e6022cbb --- /dev/null +++ b/components/accounts/contents/ui/CreateKolabNow.qml @@ -0,0 +1,208 @@ +/* + * Copyright (C) 2016 Michael Bohlender, + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +import QtQuick 2.7 +import QtQuick.Layouts 1.1 +import QtQuick.Controls 1.4 as Controls +import QtQuick.Controls 2.0 as Controls2 +import org.kde.kirigami 1.0 as Kirigami + +import org.kube.framework.accounts 1.0 as KubeAccounts + +Item { + + KubeAccounts.KolabNowController { + id: account + } + + Controls.ToolButton { + iconName: "go-previous" + + tooltip: "go back" + + onClicked: { + stack.pop() + } + } + + //Item to avoid anchors conflict with stack + Item { + + anchors { + fill: parent + margins: Kirigami.Units.largeSpacing * 2 + } + + Kirigami.Heading { + id: heading + text: "Connect your Kolab Now account" + + color: Kirigami.Theme.highlightColor + } + + Kirigami.Label { + id: subHeadline + + anchors { + left: heading.left + top: heading.bottom + } + + width: parent.width + + text: "To let Kube access your account, fill in email address, username, password and give the account a title that will be displayed inside Kube." + + color: Kirigami.Theme.disabledTextColor + + wrapMode: Text.Wrap + } + + GridLayout { + anchors { + top:subHeadline.bottom + bottom: parent.bottom + left: parent.left + right: parent.right + topMargin: Kirigami.Units.largeSpacing * 2 + } + + columns: 2 + columnSpacing: Kirigami.Units.largeSpacing + rowSpacing: Kirigami.Units.largeSpacing + + Controls.Label { + text: "Title of Account" + Layout.alignment: Qt.AlignRight + } + Controls.TextField { + Layout.fillWidth: true + + placeholderText: "E.g. \"Work\", \"Home\" that will be displayed in Kube as name" + + text: account.name + + onTextChanged: { + account.name = text + } + } + + Controls.Label { + text: "Name" + Layout.alignment: Qt.AlignRight + } + Controls.TextField { + Layout.fillWidth: true + + placeholderText: "Your name" + + text: account.identityName + + onTextChanged: { + account.identityName = text + } + } + + Controls.Label { + text: "Email address" + Layout.alignment: Qt.AlignRight + } + + Controls.TextField { + Layout.fillWidth: true + + text: account.emailAddress + + onTextChanged: { + account.emailAddress = text + } + + placeholderText: "Your email address" + } + + Kirigami.Label { + text: "Password" + Layout.alignment: Qt.AlignRight + } + + RowLayout { + Layout.fillWidth: true + + Controls.TextField { + id: pwField + Layout.fillWidth: true + + placeholderText: "Password of your email account" + + text: account.password + + onTextChanged: { + account.password = text + } + + echoMode: TextInput.Password + } + + Controls.CheckBox { + text: "Show Password" + onClicked: { + if(pwField.echoMode == TextInput.Password) { + pwField.echoMode = TextInput.Normal; + } else { + pwField.echoMode = TextInput.Password; + } + } + } + } + + Item { + Layout.fillHeight: true + } + + Kirigami.Label { + text: "" + } + + Kirigami.Label { + text: "" + } + + Item { + Layout.fillWidth: true + + Controls.Button { + text: "Discard" + + onClicked: { + popup.close() + } + } + + Controls.Button { + anchors.right: parent.right + + text: "Save" + + onClicked: { + account.createAction.execute() + popup.close() + } + } + } + } + } +} diff --git a/components/accounts/contents/ui/CreateMaildir.qml b/components/accounts/contents/ui/CreateMaildir.qml new file mode 100644 index 00000000..99bde452 --- /dev/null +++ b/components/accounts/contents/ui/CreateMaildir.qml @@ -0,0 +1,201 @@ +/* + * Copyright (C) 2016 Michael Bohlender, + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +import QtQuick 2.7 +import QtQuick.Layouts 1.1 +import QtQuick.Controls 1.4 as Controls +import QtQuick.Controls 2.0 as Controls2 +import org.kde.kirigami 1.0 as Kirigami +import QtQuick.Dialogs 1.0 as Dialogs + +import org.kube.framework.accounts 1.0 as KubeAccounts + +Item { + id: root + + //Controller + KubeAccounts.MaildirController { + id: account + } + + //Navigation + Controls.ToolButton { + iconName: "go-previous" + + tooltip: "go back" + + onClicked: { + stack.pop() + } + } + + //Item to avoid anchors conflict with stack + Item { + + anchors { + fill: parent + margins: Kirigami.Units.largeSpacing * 2 + } + + + //BEGIN heading + Kirigami.Heading { + id: heading + text: "Add your Maildir archive" + + color: Kirigami.Theme.highlightColor + } + + Controls2.Label { + id: subHeadline + + anchors { + left: heading.left + top: heading.bottom + } + + width: parent.width + + text: "To let Kube access your maildir archive, add the path to your archive and give the account a title that will be displayed inside Kube" + + color: Kirigami.Theme.disabledTextColor + wrapMode: Text.Wrap + } + //END heading + + GridLayout { + anchors { + top:subHeadline.bottom + bottom: parent.bottom + left: parent.left + right: parent.right + topMargin: Kirigami.Units.largeSpacing * 2 + } + + columns: 2 + columnSpacing: Kirigami.Units.largeSpacing + rowSpacing: Kirigami.Units.largeSpacing + + Controls2.Label { + text: "Title of account" + Layout.alignment: Qt.AlignRight + } + Controls.TextField { + id: title + Layout.fillWidth: true + + text: account.name + + onTextChanged: { + account.name = text + } + } + + Controls2.Label { + text: "Path" + Layout.alignment: Qt.AlignRight + } + RowLayout { + Layout.fillWidth: true + + Controls.TextField { + id: path + Layout.fillWidth: true + + enabled: false + + text: account.path + } + + Controls.Button { + iconName: "folder" + + onClicked: { + fileDialogComponent.createObject(parent) + } + + Component { + id: fileDialogComponent + Dialogs.FileDialog { + id: fileDialog + + visible: true + title: "Choose the maildir folder" + + selectFolder: true + + onAccepted: { + account.path = fileDialog.fileUrl + } + } + } + } + } + + /* + Controls2.Label { + text: "" + } + Controls.CheckBox { + id: readOnly + text: "Read only" + } + */ + + Controls2.Label { + text: "" + Layout.fillHeight: true + } + Controls2.Label { + text: "" + } + + Controls2.Label { + text: "" + } + Item { + Layout.fillWidth: true + + Controls2.Button { + text: "Discard" + + onClicked: { + //account.clear() + popup.close() + } + } + + Controls2.Button { + id: saveButton + + anchors.right: parent.right + + text: "Save" + + enabled: account.createAction.enabled + + onClicked: { + account.createAction.execute() + popup.close() + } + } + } + } + } +} + diff --git a/components/accounts/contents/ui/EditImap.qml b/components/accounts/contents/ui/EditImap.qml new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/components/accounts/contents/ui/EditImap.qml @@ -0,0 +1 @@ + diff --git a/components/accounts/contents/ui/EditKolabNow.qml b/components/accounts/contents/ui/EditKolabNow.qml new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/components/accounts/contents/ui/EditKolabNow.qml @@ -0,0 +1 @@ + diff --git a/components/accounts/contents/ui/EditMaildir.qml b/components/accounts/contents/ui/EditMaildir.qml new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/components/accounts/contents/ui/EditMaildir.qml @@ -0,0 +1 @@ + diff --git a/components/accounts/contents/ui/main.qml b/components/accounts/contents/ui/main.qml new file mode 100644 index 00000000..e15bca8f --- /dev/null +++ b/components/accounts/contents/ui/main.qml @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2016 Michael Bohlender, + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +import QtQuick 2.7 +import QtQuick.Controls 2.0 as Controls2 + +Controls2.ApplicationWindow { + id: app + height: 900 + width: 1500 + + AccountWizard { + visible: true + } +} diff --git a/components/accounts/main.qml b/components/accounts/main.qml deleted file mode 100644 index e15bca8f..00000000 --- a/components/accounts/main.qml +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (C) 2016 Michael Bohlender, - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -import QtQuick 2.7 -import QtQuick.Controls 2.0 as Controls2 - -Controls2.ApplicationWindow { - id: app - height: 900 - width: 1500 - - AccountWizard { - visible: true - } -} diff --git a/components/accounts/metadata.desktop b/components/accounts/metadata.desktop new file mode 100644 index 00000000..d93813d0 --- /dev/null +++ b/components/accounts/metadata.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=Kube Accounts +X-KDE-PluginInfo-Name=org.kube.components.accounts +Exec=kpackagelauncherqml -a org.kube.components.accounts +X-Plasma-MainScript=ui/main.qml +X-KDE-ServiceTypes=KPackage/GenericQML +Icon=kmail2 +Type=Service diff --git a/components/accounts/qmldir b/components/accounts/qmldir index e563fec3..24759d6a 100644 --- a/components/accounts/qmldir +++ b/components/accounts/qmldir @@ -1,4 +1,4 @@ -module org.kube.accounts +module org.kube.components.accounts +Accounts 1.0 Accounts.qml AccountWizard 1.0 AccountWizard.qml - -- cgit v1.2.3