aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@digia.com>2014-05-26 12:00:20 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-05-26 15:28:13 +0200
commit024bfcc5c86c9b6f14b46e352818c059008b9a72 (patch)
treecdad48512db1c2ff805993676cc4324fc602832a
parent2d09a94371ac6c0853285547f2c75453dd07b7a7 (diff)
Polish the quickplayer example.v5.3.1stable
Use QStandardPaths::MusicLocation for the file diag; improve arguments handling. Task-number: QTBUG-36730 Task-number: QTBUG-37203 Change-Id: I7a133283c0d4acd521957a05066f9bb7f9d98b70 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
-rw-r--r--examples/winextras/quickplayer/main.cpp14
-rw-r--r--examples/winextras/quickplayer/qml/main.qml4
2 files changed, 15 insertions, 3 deletions
diff --git a/examples/winextras/quickplayer/main.cpp b/examples/winextras/quickplayer/main.cpp
index 39656a7..9f79b1d 100644
--- a/examples/winextras/quickplayer/main.cpp
+++ b/examples/winextras/quickplayer/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of the examples of the Qt Toolkit.
@@ -41,6 +41,9 @@
#include <QQmlApplicationEngine>
#include <QGuiApplication>
#include <QWindow>
+#include <QQmlContext>
+#include <QStandardPaths>
+#include <QDir>
int main(int argc, char *argv[])
{
@@ -50,7 +53,14 @@ int main(int argc, char *argv[])
app.setOrganizationDomain("qt-project.org");
app.setApplicationDisplayName("QtWinExtras Quick Player");
- QQmlApplicationEngine engine(QUrl("qrc:/main.qml"));
+ QQmlApplicationEngine engine;
+ const QStringList musicPaths = QStandardPaths::standardLocations(QStandardPaths::MusicLocation);
+ const QUrl musicUrl = QUrl::fromLocalFile(musicPaths.isEmpty() ? QDir::homePath() : musicPaths.first());
+ engine.rootContext()->setContextProperty(QStringLiteral("musicUrl"), musicUrl);
+ const QStringList arguments = QCoreApplication::arguments();
+ const QUrl commandLineUrl = arguments.size() > 1 ? QUrl::fromLocalFile(arguments.at(1)) : QUrl();
+ engine.rootContext()->setContextProperty(QStringLiteral("url"), commandLineUrl);
+ engine.load(QUrl("qrc:/main.qml"));
QObject* root = engine.rootObjects().value(0);
if (QWindow *window = qobject_cast<QWindow *>(root))
window->show();
diff --git a/examples/winextras/quickplayer/qml/main.qml b/examples/winextras/quickplayer/qml/main.qml
index b58b49a..b27f505 100644
--- a/examples/winextras/quickplayer/qml/main.qml
+++ b/examples/winextras/quickplayer/qml/main.qml
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of the examples of the Qt Toolkit.
@@ -118,6 +118,7 @@ Window {
MediaPlayer {
id: mediaPlayer
autoPlay: true
+ source : url
readonly property string title: !!metaData.author && !!metaData.title
? qsTr("%1 - %2").arg(metaData.author).arg(metaData.title)
: metaData.author || metaData.title || source
@@ -153,6 +154,7 @@ Window {
FileDialog {
id: fileDialog
+ folder : musicUrl
title: qsTr("Open file")
nameFilters: [qsTr("MP3 files (*.mp3)"), qsTr("All files (*.*)")]
onAccepted: mediaPlayer.source = fileDialog.fileUrl