diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-05-01 22:42:49 +0200 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-05-02 10:03:57 +0200 |
commit | dd582091bc72ddf61a66d2bc3a3e0ce47f2296b5 (patch) | |
tree | 87c75371e5076b70c9cc09157f4cb88ca45a4ad2 /components/mailviewer/contents/ui/MailDataModel.qml | |
parent | 4e416d546a68513f05ef10d41d05e0a9c6d5ecf6 (diff) | |
download | kube-dd582091bc72ddf61a66d2bc3a3e0ce47f2296b5.tar.gz kube-dd582091bc72ddf61a66d2bc3a3e0ce47f2296b5.zip |
Mailviewer
Diffstat (limited to 'components/mailviewer/contents/ui/MailDataModel.qml')
-rw-r--r-- | components/mailviewer/contents/ui/MailDataModel.qml | 86 |
1 files changed, 62 insertions, 24 deletions
diff --git a/components/mailviewer/contents/ui/MailDataModel.qml b/components/mailviewer/contents/ui/MailDataModel.qml index e0e65c49..8a42630a 100644 --- a/components/mailviewer/contents/ui/MailDataModel.qml +++ b/components/mailviewer/contents/ui/MailDataModel.qml | |||
@@ -22,6 +22,27 @@ import QtQml.Models 2.2 | |||
22 | DelegateModel { | 22 | DelegateModel { |
23 | id: mailDataModel | 23 | id: mailDataModel |
24 | property bool debug: true | 24 | property bool debug: true |
25 | function getPartType(type, hasModelChildren, forcePlain) { | ||
26 | switch (type) { | ||
27 | case "PlainTextContent": | ||
28 | case "Content": | ||
29 | return "plain"; | ||
30 | case "HtmlContent": | ||
31 | if (forcePlain) { | ||
32 | return "plain"; | ||
33 | } | ||
34 | return "html"; | ||
35 | case "Signature": | ||
36 | return "signature"; | ||
37 | case "Encryption": | ||
38 | return "encryption"; | ||
39 | } | ||
40 | if (hasModelChildren) { | ||
41 | return "envelope"; | ||
42 | } | ||
43 | return ""; | ||
44 | } | ||
45 | |||
25 | delegate: Item { | 46 | delegate: Item { |
26 | id: partColumn | 47 | id: partColumn |
27 | width: parent.width | 48 | width: parent.width |
@@ -36,30 +57,47 @@ DelegateModel { | |||
36 | width: parent.width | 57 | width: parent.width |
37 | } | 58 | } |
38 | Component.onCompleted: { | 59 | Component.onCompleted: { |
39 | switch (model.type) { | 60 | var isHtml = false |
40 | case "PlainTextContent": | 61 | var forcePlain = false |
41 | case "Content": | 62 | var partType = getPartType(model.type, model.hasModelChildren, forcePlain); |
42 | partLoader.source = "TextContent.qml" | 63 | |
43 | partLoader.item.debug = mailDataModel.debug | 64 | switch (partType) { |
44 | return; | 65 | case "plain": |
45 | case "HtmlContent": | 66 | partLoader.setSource("TextContent.qml", |
46 | partLoader.source = "HtmlContent.qml" | 67 | {"isHtml": isHtml, |
47 | return; | 68 | "content": model.content, |
48 | case "Signature": | 69 | "embedded": model.embeded, |
49 | partLoader.source = "SignaturePart.qml" | 70 | "type": model.type, |
50 | partLoader.item.rootIndex = mailDataModel.modelIndex(index) | 71 | "debug": debug}) |
51 | partLoader.item.debug = mailDataModel.debug | 72 | break |
52 | return; | 73 | case "html": |
53 | case "Encryption": | 74 | partLoader.setSource("HtmlContent.qml", |
54 | partLoader.source = "EncryptionPart.qml" | 75 | {"content": model.content, |
55 | partLoader.item.rootIndex = mailDataModel.modelIndex(index) | 76 | "debug": debug}) |
56 | partLoader.item.debug = mailDataModel.debug | 77 | break; |
57 | return; | 78 | case "signature": |
58 | } | 79 | partLoader.setSource("SignaturePart.qml", |
59 | if (model.hasModelChildren) { | 80 | {"rootIndex": mailDataModel.modelIndex(index), |
60 | partLoader.source = "MailPart.qml" | 81 | "securityLevel": model.securityLevel, |
61 | partLoader.item.rootIndex = mailDataModel.modelIndex(index) | 82 | "type": model.type, |
62 | partLoader.item.debug = mailDataModel.debug | 83 | "debug": debug}) |
84 | break; | ||
85 | case "encryption": | ||
86 | partLoader.setSource("EncryptionPart.qml", | ||
87 | {"rootIndex": mailDataModel.modelIndex(index), | ||
88 | "securityLevel": model.securityLevel, | ||
89 | "type": model.type, | ||
90 | "model": mailDataModel.model, | ||
91 | "errorType": model.errorType, | ||
92 | "errorString": model.errorString, | ||
93 | "debug": debug}) | ||
94 | break; | ||
95 | case "envelope": | ||
96 | partLoader.setSource("MailPart.qml", | ||
97 | {"rootIndex": mailDataModel.modelIndex(index), | ||
98 | "model": mailDataModel.model, | ||
99 | "debug": debug}) | ||
100 | break; | ||
63 | } | 101 | } |
64 | } | 102 | } |
65 | } | 103 | } |