diff options
author | Friedemann Kleint <Friedemann.Kleint@digia.com> | 2014-05-26 12:00:20 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-05-26 15:28:13 +0200 |
commit | 024bfcc5c86c9b6f14b46e352818c059008b9a72 (patch) | |
tree | cdad48512db1c2ff805993676cc4324fc602832a | |
parent | 2d09a94371ac6c0853285547f2c75453dd07b7a7 (diff) |
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.cpp | 14 | ||||
-rw-r--r-- | examples/winextras/quickplayer/qml/main.qml | 4 |
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 |