Make QML file a commandline option
authorKevin Krammer <kevin.krammer@kdab.com>
Mon, 15 Oct 2012 16:58:50 +0000 (18:58 +0200)
committerKevin Krammer <kevin.krammer@kdab.com>
Mon, 15 Oct 2012 16:58:50 +0000 (18:58 +0200)
main.cpp

index 25c0cbe..311d4ea 100644 (file)
--- a/main.cpp
+++ b/main.cpp
@@ -1,19 +1,29 @@
 #include "declarativewidgetdocument.h"
 
+#include <QtCore/QDir>
+#include <QtCore/QFileInfo>
 #include <QtCore/QTimer>
 #include <QtGui/QApplication>
 #include <QtGui/QWidget>
-
+#include <QDebug>
 int main(int argc, char **argv)
 {
   QApplication app(argc, argv);
 
+  const QStringList arguments = app.arguments();
+  if (arguments.count() < 2) {
+      qFatal("Missing QML file argument. Usage: qmlwidgets <qmlfile>");
+      return -1;
+  }
+
   QTimer timer;
   timer.setInterval(1000);
   timer.start();
 
-  DeclarativeWidgetDocument document(QUrl("test.qml"));
-  //DeclarativeWidgetDocument document(QUrl("animation.qml"));
+  const QFileInfo qmlFile(QDir::current(), arguments[1]);
+  const QUrl documentUrl = QUrl::fromLocalFile(qmlFile.absoluteFilePath());
+
+  DeclarativeWidgetDocument document(documentUrl);
   document.setContextProperty("_timer", &timer);
 
   QWidget *widget = document.create<QWidget>();