From dd09ca9ef4bb9780b953d6dd2999dbefe50bd1ff Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Sun, 3 Jan 2016 20:31:10 +0100 Subject: Instead of using controllers, directly use the models ...and connect components via properties --- .../kube-mail/package/contents/ui/FolderListView.qml | 9 +++++---- .../kube-mail/package/contents/ui/MailListView.qml | 13 ++++++++++--- .../kube-mail/package/contents/ui/SingleMailView.qml | 9 +++++++-- applications/kube-mail/package/contents/ui/main.qml | 17 ++--------------- 4 files changed, 24 insertions(+), 24 deletions(-) (limited to 'applications') diff --git a/applications/kube-mail/package/contents/ui/FolderListView.qml b/applications/kube-mail/package/contents/ui/FolderListView.qml index f0ce7da2..1639fe70 100644 --- a/applications/kube-mail/package/contents/ui/FolderListView.qml +++ b/applications/kube-mail/package/contents/ui/FolderListView.qml @@ -22,10 +22,11 @@ import QtQuick.Layouts 1.1 import org.kde.plasma.core 2.0 as PlasmaCore import org.kde.plasma.components 2.0 as PlasmaComponents -import org.kde.akonadi2.mail 1.0 as Mail +import org.kde.kube.mail 1.0 as Mail Item { id: root + property variant currentFolder Item { id: searchBox @@ -58,7 +59,7 @@ Item { clip: true - model: folderList.model //FolderModel {} + model: Mail.FolderListModel {} delegate: PlasmaComponents.ListItem { @@ -69,8 +70,8 @@ Item { checked: listView.currentIndex == index onClicked: { - mailList.loadMailFolder(model.id) listView.currentIndex = model.index + root.currentFolder = model.domainObject } PlasmaCore.IconItem { @@ -99,4 +100,4 @@ Item { } } } -} \ No newline at end of file +} diff --git a/applications/kube-mail/package/contents/ui/MailListView.qml b/applications/kube-mail/package/contents/ui/MailListView.qml index f6ded917..5fb4678c 100644 --- a/applications/kube-mail/package/contents/ui/MailListView.qml +++ b/applications/kube-mail/package/contents/ui/MailListView.qml @@ -21,12 +21,19 @@ import QtQuick.Layouts 1.1 import org.kde.plasma.components 2.0 as PlasmaComponents +import org.kde.kube.mail 1.0 as Mail + ScrollView { id: root + property variant parentFolder + property variant currentMail + ListView { id: listView - model: mailList.model //MailListModel {} + model: Mail.MailListModel { + parentFolder: root.parentFolder + } delegate: PlasmaComponents.ListItem { @@ -41,7 +48,7 @@ ScrollView { onClicked: { listView.currentIndex = model.index - singleMail.loadMail(model.id) + root.currentMail = model.domainObject } } @@ -128,4 +135,4 @@ ScrollView { } } } -} \ No newline at end of file +} diff --git a/applications/kube-mail/package/contents/ui/SingleMailView.qml b/applications/kube-mail/package/contents/ui/SingleMailView.qml index e307ccfd..caec88dd 100644 --- a/applications/kube-mail/package/contents/ui/SingleMailView.qml +++ b/applications/kube-mail/package/contents/ui/SingleMailView.qml @@ -19,8 +19,11 @@ import QtQuick 2.4 import QtQuick.Controls 1.3 import QtQuick.Layouts 1.1 +import org.kde.kube.mail 1.0 as Mail + Item { id: root + property variant mail; Rectangle { id: background @@ -33,7 +36,9 @@ Item { Repeater { anchors.fill: parent - model: singleMail.model + model: Mail.MailListModel { + mail: root.mail + } delegate: Item { height: root.height @@ -61,4 +66,4 @@ Item { } } } -} \ No newline at end of file +} diff --git a/applications/kube-mail/package/contents/ui/main.qml b/applications/kube-mail/package/contents/ui/main.qml index 88d2edde..200328f3 100644 --- a/applications/kube-mail/package/contents/ui/main.qml +++ b/applications/kube-mail/package/contents/ui/main.qml @@ -20,8 +20,6 @@ import QtQuick.Controls 1.3 import QtQuick.Layouts 1.1 import org.kde.plasma.components 2.0 as PlasmaComponents -import org.kde.akonadi2.mail 1.0 as Mail - ApplicationWindow { id: app @@ -32,19 +30,6 @@ ApplicationWindow { visible: true - //Controller: - Mail.FolderList { - id: folderList - } - - Mail.MailList { - id: mailList - } - - Mail.SingleMail{ - id: singleMail - } - //UI toolBar: ToolBar { @@ -111,6 +96,7 @@ ApplicationWindow { MailListView { id: mailListView + parentFolder: folderListView.currentFolder width: unit.size * 80 Layout.maximumWidth: unit.size * 250 @@ -119,6 +105,7 @@ ApplicationWindow { SingleMailView { id: mailView + mail: mailListView.currentMail Layout.fillWidth: true } -- cgit v1.2.3