1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
import QtQuick 2.0
import Ubuntu.Components 1.1
import Ubuntu.Components.ListItems 1.0 as ListItems
import Ubuntu.Content 0.1
import U1db 1.0 as U1db
import "components"
/*!
\brief MainView with a Label and Button elements.
*/
MainView {
id: app
// objectName for functional testing purposes (autopilot-qt5)
objectName: "mainView"
// Note! applicationName needs to match the "name" field of the click manifest
applicationName: "com.ubuntu.developer.mhall119.memebook"
/*
This property enables the application to change orientation
when the device is rotated. The default is false.
*/
automaticOrientation: true
useDeprecatedToolbar: false
width: units.gu(100)
height: units.gu(75)
U1db.Database {
id: db
path: "memesDB"
}
PageStack {
id: mainStack
Component.onCompleted: push(mainPage)
}
Page {
id: mainPage
title: i18n.tr("Memebook")
head {
sections {
model: ["All", "Recent"]
}
}
head.actions: [
Action {
iconName: "add"
onTriggered: {
mainStack.push(Qt.resolvedUrl("pages/ImportPage.qml"))
//activeTransfer = picSource.request(appStore)
}
}
]
UbuntuListView {
anchors.fill: parent
model: U1db.Query {
id: query
index: U1db.Index {
database: db
expression: ["meme.docId", "meme.file", "meme.text"]
}
query: ["*", "*", "*"]
}
delegate: ListItems.Standard {
text: contents.text
iconSource: contents.file
onClicked: {
mainStack.push(Qt.resolvedUrl("pages/ImageViewPage.qml"), {"meme": contents.text, "img": contents.file})
}
}
}
}
function addImportedImage(contentItem) {
console.log("CONTENT IMPORTED:", contentItem.url.toString().replace("file://", ""));
var filepath = contentItem.url.toString().replace("file://", "");
var fileparts = filepath.split("/");
var filename = fileparts.pop();
console.log("Filename: "+filename);
db.putDoc(
JSON.stringify({
meme: {
file: filepath,
text: filename,
}
})
);
mainStack.push(Qt.resolvedUrl("pages/ImageViewPage.qml"), {"meme": filename, "img": filepath})
}
// Content Exporter
property list<ContentItem> selectedItems
Connections {
target: ContentHub
onExportRequested: {
// show content picker
console.log("Content import started")
app.selectedItems[0] = Qt.resolvedUrl("memebook.png")
transfer.items = app.selectedItems;
transfer.state = ContentTransfer.Charged;
}
onImportRequested: {
// show content picker
if (transfer.state === ContentTransfer.Charged) {
addImportedImage(transfer.items[0])
}
}
}
}
|