From 1f62cf29d038e1dfd9bd56505ecaae10ca14b60b Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Mon, 18 Dec 2017 20:32:57 +0100 Subject: Accounts without kpackage --- accounts/imap/CMakeLists.txt | 7 +- .../imap/package/contents/ui/AccountSettings.qml | 129 +++++++++++++++++++++ .../package/contents/ui/ImapAccountSettings.qml | 129 --------------------- 3 files changed, 130 insertions(+), 135 deletions(-) create mode 100644 accounts/imap/package/contents/ui/AccountSettings.qml delete mode 100644 accounts/imap/package/contents/ui/ImapAccountSettings.qml (limited to 'accounts/imap') diff --git a/accounts/imap/CMakeLists.txt b/accounts/imap/CMakeLists.txt index 5bd25a93..97399490 100644 --- a/accounts/imap/CMakeLists.txt +++ b/accounts/imap/CMakeLists.txt @@ -4,9 +4,6 @@ find_package(Qt5 REQUIRED NO_MODULE COMPONENTS Core Quick Qml) find_package(Sink CONFIG REQUIRED) find_package(KAsync CONFIG REQUIRED) -find_package(KF5 REQUIRED COMPONENTS Package Mime) - -include_directories(SYSTEM ${KDE_INSTALL_FULL_INCLUDEDIR}/KF5/) set(SRCS imapsettings.cpp @@ -22,7 +19,5 @@ target_link_libraries(imapaccountplugin Qt5::Qml ) -kpackage_install_package(package org.kube.accounts.imap "genericqml") - install(TARGETS imapaccountplugin DESTINATION ${QML_INSTALL_DIR}/org/kube/accounts/imap) -install(FILES qmldir DESTINATION ${QML_INSTALL_DIR}/org/kube/accounts/imap) +install_qml_account(imap) diff --git a/accounts/imap/package/contents/ui/AccountSettings.qml b/accounts/imap/package/contents/ui/AccountSettings.qml new file mode 100644 index 00000000..d81f9c54 --- /dev/null +++ b/accounts/imap/package/contents/ui/AccountSettings.qml @@ -0,0 +1,129 @@ +/* + Copyright (C) 2016 Michael Bohlender, + Copyright (C) 2017 Christian Mollekopf, + + 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.4 +import QtQuick.Controls 1.4 as Controls +import QtQuick.Layouts 1.1 +import org.kube.framework 1.0 as Kube +import org.kube.accounts.imap 1.0 as ImapAccount + +Item { + + property string accountId + property string heading: qsTr("Connect your IMAP account") + property string subheadline: qsTr("To let Kube access your account, fill in email address, username, password and give the account a title that will be displayed inside Kube. For information about which SMTP, IMAP address, which authentification and port to be used, please contact your email provider.") + property bool valid: true + implicitHeight: grid.implicitHeight + + ImapAccount.ImapSettings { + id: imapSettings + accountIdentifier: accountId + accountType: "imap" + } + + function save(){ + imapSettings.save() + } + + function remove(){ + imapSettings.remove() + } + GridLayout { + id: grid + anchors.fill: parent + columns: 2 + columnSpacing: Kube.Units.largeSpacing + rowSpacing: Kube.Units.largeSpacing + + Kube.Label { + text: qsTr("Title of Account") + Layout.alignment: Qt.AlignRight + } + Kube.RequiredTextField { + Layout.fillWidth: true + placeholderText: qsTr("E.g. \"Work\", \"Home\" that will be displayed in Kube as name") + text: imapSettings.accountName + onTextChanged: { + imapSettings.accountName = text + } + } + + Kube.Label { + text: qsTr("Name") + Layout.alignment: Qt.AlignRight + } + Kube.RequiredTextField { + Layout.fillWidth: true + placeholderText: qsTr("Your name") + text: imapSettings.userName + onTextChanged: { + imapSettings.userName = text + } + } + + Kube.Label { + text: qsTr("Email address") + Layout.alignment: Qt.AlignRight + } + Kube.RequiredTextField { + Layout.fillWidth: true + + text: imapSettings.emailAddress + onTextChanged: { + imapSettings.emailAddress = text + imapSettings.imapUsername = text + imapSettings.smtpUsername = text + } + placeholderText: qsTr("Your email address") + } + + Kube.Label { + text: qsTr("IMAP server address") + Layout.alignment: Qt.AlignRight + } + Kube.RequiredTextField { + id: imapServer + + Layout.fillWidth: true + + placeholderText: "imaps://mainserver.example.net:993" + text: imapSettings.imapServer + onTextChanged: { + imapSettings.imapServer = text + } + validator: imapSettings.imapServerValidator + } + + Kube.Label { + text: qsTr("Smtp address") + Layout.alignment: Qt.AlignRight + } + Kube.RequiredTextField { + id: smtpServer + Layout.fillWidth: true + + placeholderText: "smtps://mainserver.example.net:993" + text: imapSettings.smtpServer + onTextChanged: { + imapSettings.smtpServer = text + } + validator: imapSettings.smtpServerValidator + } + } +} diff --git a/accounts/imap/package/contents/ui/ImapAccountSettings.qml b/accounts/imap/package/contents/ui/ImapAccountSettings.qml deleted file mode 100644 index d81f9c54..00000000 --- a/accounts/imap/package/contents/ui/ImapAccountSettings.qml +++ /dev/null @@ -1,129 +0,0 @@ -/* - Copyright (C) 2016 Michael Bohlender, - Copyright (C) 2017 Christian Mollekopf, - - 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.4 -import QtQuick.Controls 1.4 as Controls -import QtQuick.Layouts 1.1 -import org.kube.framework 1.0 as Kube -import org.kube.accounts.imap 1.0 as ImapAccount - -Item { - - property string accountId - property string heading: qsTr("Connect your IMAP account") - property string subheadline: qsTr("To let Kube access your account, fill in email address, username, password and give the account a title that will be displayed inside Kube. For information about which SMTP, IMAP address, which authentification and port to be used, please contact your email provider.") - property bool valid: true - implicitHeight: grid.implicitHeight - - ImapAccount.ImapSettings { - id: imapSettings - accountIdentifier: accountId - accountType: "imap" - } - - function save(){ - imapSettings.save() - } - - function remove(){ - imapSettings.remove() - } - GridLayout { - id: grid - anchors.fill: parent - columns: 2 - columnSpacing: Kube.Units.largeSpacing - rowSpacing: Kube.Units.largeSpacing - - Kube.Label { - text: qsTr("Title of Account") - Layout.alignment: Qt.AlignRight - } - Kube.RequiredTextField { - Layout.fillWidth: true - placeholderText: qsTr("E.g. \"Work\", \"Home\" that will be displayed in Kube as name") - text: imapSettings.accountName - onTextChanged: { - imapSettings.accountName = text - } - } - - Kube.Label { - text: qsTr("Name") - Layout.alignment: Qt.AlignRight - } - Kube.RequiredTextField { - Layout.fillWidth: true - placeholderText: qsTr("Your name") - text: imapSettings.userName - onTextChanged: { - imapSettings.userName = text - } - } - - Kube.Label { - text: qsTr("Email address") - Layout.alignment: Qt.AlignRight - } - Kube.RequiredTextField { - Layout.fillWidth: true - - text: imapSettings.emailAddress - onTextChanged: { - imapSettings.emailAddress = text - imapSettings.imapUsername = text - imapSettings.smtpUsername = text - } - placeholderText: qsTr("Your email address") - } - - Kube.Label { - text: qsTr("IMAP server address") - Layout.alignment: Qt.AlignRight - } - Kube.RequiredTextField { - id: imapServer - - Layout.fillWidth: true - - placeholderText: "imaps://mainserver.example.net:993" - text: imapSettings.imapServer - onTextChanged: { - imapSettings.imapServer = text - } - validator: imapSettings.imapServerValidator - } - - Kube.Label { - text: qsTr("Smtp address") - Layout.alignment: Qt.AlignRight - } - Kube.RequiredTextField { - id: smtpServer - Layout.fillWidth: true - - placeholderText: "smtps://mainserver.example.net:993" - text: imapSettings.smtpServer - onTextChanged: { - imapSettings.smtpServer = text - } - validator: imapSettings.smtpServerValidator - } - } -} -- cgit v1.2.3