18
import Ubuntu.Components 0.1
18
import Ubuntu.Components 1.1
20
20
import "Components"
21
21
import "OrganicView"
23
23
import "../js/Gallery.js" as Gallery
24
import "../js/GalleryUtility.js" as GalleryUtility
26
27
The main view for picking content
30
31
objectName: "pickerMainView"
32
/// Model of all media
33
property MediaCollectionModel mediaLibrary: MediaCollectionModel {
36
/// Holds the selection
37
property SelectionState selection: SelectionState {
39
singleSelect: PICKER_HUB.singleContentPickMode
33
useDeprecatedToolbar: false
35
function setHeaderVisibility(visible)
37
header.visible = visible;
40
function toggleHeaderVisibility()
42
setHeaderVisibility(!header.visible);
45
function pushPage(page) {
59
id: mediaLibraryLoader
60
sourceComponent: allLoaded ? mediaLibraryComponent : ""
63
id: mediaLibraryComponent
64
MediaCollectionModel {
66
mediaTypeFilter: APP.mediaTypeFilter
73
sourceComponent: allLoaded ? selectionComponent : ""
76
id: selectionComponent
79
singleSelect: PICKER_HUB.singleContentPickMode
80
model: mediaLibraryLoader.item
43
85
anchors.fill: parent
44
applicationName: "gallery-app"
86
applicationName: "com.ubuntu.gallery"
45
87
automaticOrientation: application.automaticOrientation
89
Component.onCompleted: {
49
95
anchors.fill: parent
51
97
StateSaver.properties: "selectedTabIndex"
54
101
title: i18n.tr("Events")
55
102
objectName: "eventsTab"
58
objectName: "eventSelectView"
61
selection: pickerMainView.selection
62
model: EventCollectionModel {
65
delegate: OrganicMediaList {
66
width: eventSelectView.width
68
selection: eventSelectView.selection
104
id: eventSelectViewLoader
105
objectName: 'eventSelectViewLoader'
107
sourceComponent: allLoaded ? eventSelectViewComponent : loadingScreenComponent
110
id: eventSelectViewComponent
114
objectName: "eventSelectView"
116
head.actions: pickActions
118
selection: allLoaded ? selectionLoader.item : ""
119
model: EventCollectionModel {
120
mediaTypeFilter: APP.mediaTypeFilter
123
delegate: OrganicMediaList {
125
width: eventSelectView.width
127
selection: eventSelectView.selection
128
mediaTypeFilter: APP.mediaTypeFilter
130
var rect = GalleryUtility.translateRect(thumbnailRect, organicList,
132
eventSelectView.mediaSourcePressed(mediaSource, rect);
136
onMediaSourcePressed: {
137
photoViewerLoader.load();
138
var rect = GalleryUtility.translateRect(thumbnailRect,
141
photoViewerLoader.item.title = i18n.tr("Select");
142
photoViewerLoader.item.selection = selection;
143
photoViewerLoader.item.animateOpen(mediaSource, rect);
74
152
title: i18n.tr("Photos")
75
153
objectName: "photosTab"
83
source: "../img/background-paper.png"
90
selection: pickerMainView.selection
96
property ToolbarItems pickTools: ToolbarItems {
98
anchors.verticalCenter: parent.verticalCenter
155
id: photosOverviewLoader
156
objectName: 'photosOverviewLoader'
158
sourceComponent: allLoaded ? photosOverviewComponent : loadingScreenComponent
161
id: photosOverviewComponent
165
objectName: "photosPage"
167
head.actions: pickActions
169
signal mediaSourcePressed(var mediaSource, var thumbnailRect)
172
target: photoViewerLoader.item
173
onSelected: photosGrid.positionViewAtIndex(index, GridView.Contain);
178
source: "../img/background-paper.png"
185
model: allLoaded ? mediaLibraryLoader.item : ""
186
selection: allLoaded ? selectionLoader.item : ""
189
onMediaSourcePressed: {
190
photoViewerLoader.load();
191
var rect = GalleryUtility.translateRect(thumbnailRect,
194
photoViewerLoader.item.title = i18n.tr("Select");
195
photoViewerLoader.item.selection = photosGrid.selection;
196
photoViewerLoader.item.animateOpen(mediaSource, rect);
205
id: loadingScreenComponent
213
id: photoViewerLoader
219
setSource(Qt.resolvedUrl("MediaViewer/PopupPhotoViewer.qml"), {model: mediaLibraryLoader.item});
223
target: photoViewerLoader.item
225
if (!APP.desktopMode)
226
setFullScreen(false);
228
photoViewerLoader.item.fadeClosed();
233
property list<Action> pickActions: [
235
text: i18n.tr("Cancel")
236
objectName: "cancelButton"
238
onTriggered: APP.contentPickingCanceled()
99
241
text: i18n.tr("Pick")
100
242
objectName: "pickButton"
101
color: Gallery.HIGHLIGHT_BUTTON_COLOR
103
enabled: pickerMainView.selection.selectedCount > 0
243
enabled: allLoaded ? selectionLoader.item.selectedCount > 0 : false
108
APP.returnPickedContent(mediaLibrary.selectedMedias);
113
anchors.verticalCenter: parent.verticalCenter
114
text: i18n.tr("Cancel")
115
objectName: "cancelButton"
118
APP.contentPickingCanceled()
249
APP.returnPickedContent(mediaLibraryLoader.item.selectedMedias);