summaryrefslogtreecommitdiffstats
path: root/components/mailviewer/contents/ui/MailDataModel.qml
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2017-02-20 17:04:23 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2017-02-20 17:04:23 +0100
commit43aa73617d790b695aa14443d162ad001b9d315b (patch)
tree48d05bb7fdfcbbd0ea51d1960c7437be1304fb45 /components/mailviewer/contents/ui/MailDataModel.qml
parenta0c48081516f8fd6adae16c57a4f851bb139e36d (diff)
downloadkube-43aa73617d790b695aa14443d162ad001b9d315b.tar.gz
kube-43aa73617d790b695aa14443d162ad001b9d315b.zip
Turn the mailviewer into a component as well
Diffstat (limited to 'components/mailviewer/contents/ui/MailDataModel.qml')
-rw-r--r--components/mailviewer/contents/ui/MailDataModel.qml66
1 files changed, 66 insertions, 0 deletions
diff --git a/components/mailviewer/contents/ui/MailDataModel.qml b/components/mailviewer/contents/ui/MailDataModel.qml
new file mode 100644
index 00000000..e0e65c49
--- /dev/null
+++ b/components/mailviewer/contents/ui/MailDataModel.qml
@@ -0,0 +1,66 @@
1/*
2 Copyright (C) 2016 Michael Bohlender, <michael.bohlender@kdemail.net>
3
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License along
15 with this program; if not, write to the Free Software Foundation, Inc.,
16 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17*/
18
19import QtQuick 2.4
20import QtQml.Models 2.2
21
22DelegateModel {
23 id: mailDataModel
24 property bool debug: true
25 delegate: Item {
26 id: partColumn
27 width: parent.width
28 height: childrenRect.height
29 Loader {
30 id: partLoader
31 anchors {
32 top: parent.top
33 left: parent.left
34 }
35 height: item? item.contentHeight : 0
36 width: parent.width
37 }
38 Component.onCompleted: {
39 switch (model.type) {
40 case "PlainTextContent":
41 case "Content":
42 partLoader.source = "TextContent.qml"
43 partLoader.item.debug = mailDataModel.debug
44 return;
45 case "HtmlContent":
46 partLoader.source = "HtmlContent.qml"
47 return;
48 case "Signature":
49 partLoader.source = "SignaturePart.qml"
50 partLoader.item.rootIndex = mailDataModel.modelIndex(index)
51 partLoader.item.debug = mailDataModel.debug
52 return;
53 case "Encryption":
54 partLoader.source = "EncryptionPart.qml"
55 partLoader.item.rootIndex = mailDataModel.modelIndex(index)
56 partLoader.item.debug = mailDataModel.debug
57 return;
58 }
59 if (model.hasModelChildren) {
60 partLoader.source = "MailPart.qml"
61 partLoader.item.rootIndex = mailDataModel.modelIndex(index)
62 partLoader.item.debug = mailDataModel.debug
63 }
64 }
65 }
66}