summaryrefslogtreecommitdiff
path: root/examples/multimedia
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@digia.com>2013-07-31 11:15:25 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-08-19 10:07:19 +0200
commitc86d14a380118bc530547c69ba982d2c5e04a992 (patch)
tree9b7c5ba984851c1c8ba1dbb5be24445762d4d495 /examples/multimedia
parent188b59609b1c01792b63e02e8c230616b93f5c51 (diff)
downloadqtmultimedia-c86d14a380118bc530547c69ba982d2c5e04a992.tar.gz
Fix file browser in qmlvideofx example.
Similar to de9092389f2e43370c2cfcd6759d08cc11da9a68 for qmlvideo. Use QUrl::fromLocalFile() to get Windows drive handling right. Emulate its behavior in QML code. Fix up() to terminate correctly. Task-number: QTBUG-32139 Change-Id: I36bafaa608ff054190dc76694f6254a74f3b513e Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Diffstat (limited to 'examples/multimedia')
-rw-r--r--examples/multimedia/video/qmlvideofx/main.cpp14
-rw-r--r--examples/multimedia/video/qmlvideofx/qml/qmlvideofx/FileBrowser.qml9
2 files changed, 10 insertions, 13 deletions
diff --git a/examples/multimedia/video/qmlvideofx/main.cpp b/examples/multimedia/video/qmlvideofx/main.cpp
index b0698e236..7465deab8 100644
--- a/examples/multimedia/video/qmlvideofx/main.cpp
+++ b/examples/multimedia/video/qmlvideofx/main.cpp
@@ -116,21 +116,13 @@ int main(int argc, char *argv[])
FileReader fileReader;
viewer.rootContext()->setContextProperty("fileReader", &fileReader);
- QUrl appPath(QString("file://%1").arg(app.applicationDirPath()));
- QUrl imagePath;
+ const QUrl appPath(QUrl::fromLocalFile(app.applicationDirPath()));
const QStringList picturesLocation = QStandardPaths::standardLocations(QStandardPaths::PicturesLocation);
- if (picturesLocation.isEmpty())
- imagePath = appPath.resolved(QUrl("images"));
- else
- imagePath = QString("file://%1").arg(picturesLocation.first());
+ const QUrl imagePath = picturesLocation.isEmpty() ? appPath : QUrl::fromLocalFile(picturesLocation.first());
viewer.rootContext()->setContextProperty("imagePath", imagePath);
- QUrl videoPath;
const QStringList moviesLocation = QStandardPaths::standardLocations(QStandardPaths::MoviesLocation);
- if (moviesLocation.isEmpty())
- videoPath = appPath.resolved(QUrl("./"));
- else
- videoPath = QString("file://%1").arg(moviesLocation.first());
+ const QUrl videoPath = moviesLocation.isEmpty() ? appPath : QUrl::fromLocalFile(moviesLocation.first());
viewer.rootContext()->setContextProperty("videoPath", videoPath);
viewer.setTitle("qmlvideofx");
diff --git a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/FileBrowser.qml b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/FileBrowser.qml
index 3d4343c25..7c8610361 100644
--- a/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/FileBrowser.qml
+++ b/examples/multimedia/video/qmlvideofx/qml/qmlvideofx/FileBrowser.qml
@@ -102,7 +102,10 @@ Rectangle {
Rectangle {
id: wrapper
function launch() {
- var path = "file://" + filePath
+ var path = "file://";
+ if (filePath.length > 2 && filePath[1] === ':') // Windows drive logic, see QUrl::fromLocalFile()
+ path += '/';
+ path += filePath;
if (folders.isFolder(index))
down(path);
else
@@ -307,7 +310,7 @@ Rectangle {
MouseArea { id: upRegion; anchors.centerIn: parent
width: 56
height: 56
- onClicked: if (folders.parentFolder != "") up()
+ onClicked: up()
}
states: [
State {
@@ -353,6 +356,8 @@ Rectangle {
function up() {
var path = folders.parentFolder;
+ if (path.toString().length === 0 || path.toString() === 'file:')
+ return;
if (folders == folders1) {
view = view2
folders = folders2;