aboutsummaryrefslogtreecommitdiffstats
path: root/examples/quick/demos/photosurface/photosurface.qml
diff options
context:
space:
mode:
Diffstat (limited to 'examples/quick/demos/photosurface/photosurface.qml')
-rw-r--r--examples/quick/demos/photosurface/photosurface.qml21
1 files changed, 19 insertions, 2 deletions
diff --git a/examples/quick/demos/photosurface/photosurface.qml b/examples/quick/demos/photosurface/photosurface.qml
index 22cef62157..d8a424e8f8 100644
--- a/examples/quick/demos/photosurface/photosurface.qml
+++ b/examples/quick/demos/photosurface/photosurface.qml
@@ -56,6 +56,7 @@ Window {
id: fileDialog
title: "Choose a folder with some images"
selectFolder: true
+ folder: picturesLocation
onAccepted: folderModel.folder = fileUrl + "/"
}
@@ -69,7 +70,7 @@ Window {
id: folderModel
objectName: "folderModel"
showDirs: false
- nameFilters: ["*.png", "*.jpg", "*.gif"]
+ nameFilters: imageNameFilters
}
Rectangle {
id: photoFrame
@@ -255,5 +256,21 @@ Window {
Shortcut { sequence: StandardKey.Quit; onActivated: Qt.quit() }
- Component.onCompleted: fileDialog.open()
+ Component.onCompleted: {
+ if (typeof contextInitialUrl !== 'undefined') {
+ // Launched from C++ with context properties set.
+ imageNameFilters = contextImageNameFilters;
+ picturesLocation = contextPicturesLocation;
+ if (contextInitialUrl == "")
+ fileDialog.open();
+ else
+ folderModel.folder = contextInitialUrl + "/";
+ } else {
+ // Launched via QML viewer without context properties set.
+ fileDialog.open();
+ }
+ }
+
+ property var imageNameFilters : ["*.png", "*.jpg", "*.gif"];
+ property string picturesLocation : "";
}