19 import QtQuick.Window 2.1
21 import Lomiri.Components.Popups 1.3
22 import Lomiri.Content 1.1
23 import
Dekko.Mail.API 1.0
24 import
Dekko.Mail.Stores.Views 1.0
25 import
Dekko.Mail.Stores.Composer 1.0
26 import
Dekko.Lomiri.Dialogs 1.0
42 waitFor: [ViewStore.listenerId, ComposerStore.listenerId]
43 property string pickerUrl:
""
48 Log.logStatus(
"[ContentHub::importRequested]",
"import requested, running import...")
49 ContentActions.importFromContentHub(transfer)
52 Log.logStatus(
"[ContentHub::shareRequested]",
"share requested. importing share")
53 ContentActions.importFromContentHub(transfer)
56 Log.logStatus(
"ContentHub::exportRequested",
"NotImplementedYet")
61 runWhen: ContentKeys.pickFile
66 ContentActions.openFilePicker(message.root)
68 once(ContentKeys.filesSelected,
function(message) {
69 console.log(
"FILES: ", message.files)
70 var files = message.files
71 for (var i in message.files) {
72 console.log(
"File: ", message.files[i])
73 var file = message.files[i]
74 ComposerActions.addFileAttachment(file.toString().replace(
"file://",
""))
78 once(ContentKeys.pickerClosed, exit.bind(
this, 0))
93 type: ContentKeys.openFilePicker
96 var chPicker = PopupUtils.open(chp, message.root, {isExport: false})
97 chPicker.filesImported.connect(
function(files){
98 var imports =
new Array()
99 for (var i in files) {
100 Log.logInfo(
"ContentManager::filesPicked",
"File selected: %1".arg(files[i].url))
101 imports.push(files[i].url)
103 ContentActions.filesSelected(imports)
106 var c = Qt.createComponent(
"")
107 var filePicker = c.createObject(message.root)
108 filePicker.accepted.connect(
function(){
109 var files =
new Array()
110 for (var i in filePicker.fileUrls) {
111 Log.logInfo(
"ContentManager::filesPicked",
"File selected: %1".arg(filePicker.fileUrls[i]))
112 files.push(filePicker.fileUrls[i])
114 ContentActions.filesSelected(files)
118 filePicker.rejected.connect(
function() {
119 Log.logInfo(
"ContentManager::filePickerRejected",
"No attachments selected")
120 ContentActions.pickerClosed()
127 type: ContentKeys.importFromContentHub
129 if (message.transfer.length === 0) {
130 Log.logWarning(
"ContentManager::importFromContentHub",
"Not items to transfer :-/")
133 Log.logInfo(
"ContentManager::importFromContentHub",
"Number of transferred items: " + message.transfer.items.length)
135 ViewActions.delayCallWithArgs(ViewKeys.openComposer, {})
136 for (var item in message.transfer.items) {
137 var url = message.transfer.items[item].url
138 Log.logInfo(
"ContentManager::importFromContentHub",
"Item url: " + url)
139 var text = message.transfer.items[item].text
140 Log.logInfo(
"ContentManager::importFromContentHub",
"Item text: " + text)
141 switch (message.transfer.contentType) {
142 case ContentType.Links:
143 Log.logInfo(
"ContentManager::importFromContentHub",
"ContentType is Link: " + url.toString())
144 ViewActions.delayCallWithArgs(ComposerKeys.appendTextToSubject, {text: text})
145 ViewActions.delayCallWithArgs(ComposerKeys.appendTextToBody, {text: url.toString()})
147 case ContentType.Text:
148 Log.logInfo(
"ContentManager::importFromContentHub",
"ContentType is Text: " + text)
149 ViewActions.delayCallWithArgs(ComposerKeys.appendTextToBody, {text: text})
152 var other = url.toString().replace(
"file://",
"")
153 Log.logInfo(
"ContentManager::importFromContentHub",
"ContentType is Other, most likely a file: " + other)
154 ComposerActions.addFileAttachment(other)
162 type: ContentKeys.exportFile
164 PopupUtils.open(chp, message.root, {fileUrl: message.file})