From 024bfcc5c86c9b6f14b46e352818c059008b9a72 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Mon, 26 May 2014 12:00:20 +0200 Subject: Polish the quickplayer example. 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 --- examples/winextras/quickplayer/main.cpp | 14 ++++++++++++-- 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 #include #include +#include +#include +#include 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(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 -- cgit v1.2.3