1 // checksum 0xc01f version 0x90005
3 This file was generated by the Qt Quick 2 Application wizard of Qt Creator.
4 QtQuick2ApplicationViewer is a convenience class containing mobile device specific
5 code such as screen orientation handling. Also QML paths and debugging are
7 It is recommended not to modify this file, since newer versions of Qt Creator
8 may offer an updated version of it.
11 #include "qtquick2applicationviewer.h"
13 #include <QtCore/QCoreApplication>
14 #include <QtCore/QDir>
15 #include <QtQml/QQmlEngine>
17 class QtQuick2ApplicationViewerPrivate
20 friend class QtQuick2ApplicationViewer;
21 static QString adjustPath(const QString &path);
24 QString QtQuick2ApplicationViewerPrivate::adjustPath(const QString &path)
27 if (!QDir::isAbsolutePath(path))
28 return QString::fromLatin1("%1/%2")
29 .arg(QCoreApplication::applicationDirPath(), path);
30 #elif defined(Q_OS_MAC)
31 if (!QDir::isAbsolutePath(path))
32 return QString::fromLatin1("%1/../Resources/%2")
33 .arg(QCoreApplication::applicationDirPath(), path);
34 #elif defined(Q_OS_BLACKBERRY)
35 if (!QDir::isAbsolutePath(path))
36 return QString::fromLatin1("app/native/%1").arg(path);
37 #elif !defined(Q_OS_ANDROID)
38 QString pathInInstallDir =
39 QString::fromLatin1("%1/../%2").arg(QCoreApplication::applicationDirPath(), path);
40 if (QFileInfo(pathInInstallDir).exists())
41 return pathInInstallDir;
43 QString::fromLatin1("%1/%2").arg(QCoreApplication::applicationDirPath(), path);
44 if (QFileInfo(pathInInstallDir).exists())
45 return pathInInstallDir;
46 #elif defined(Q_OS_ANDROID_NO_SDK)
47 return QLatin1String("/data/user/qt/") + path;
52 QtQuick2ApplicationViewer::QtQuick2ApplicationViewer(QWindow *parent)
54 , d(new QtQuick2ApplicationViewerPrivate())
56 connect(engine(), SIGNAL(quit()), SLOT(close()));
57 setResizeMode(QQuickView::SizeRootObjectToView);
60 QtQuick2ApplicationViewer::~QtQuick2ApplicationViewer()
65 void QtQuick2ApplicationViewer::setMainQmlFile(const QString &file)
67 d->mainQmlFile = QtQuick2ApplicationViewerPrivate::adjustPath(file);
68 #if defined(Q_OS_ANDROID) && !defined(Q_OS_ANDROID_NO_SDK)
69 setSource(QUrl(QLatin1String("assets:/")+d->mainQmlFile));
71 setSource(QUrl::fromLocalFile(d->mainQmlFile));
75 void QtQuick2ApplicationViewer::addImportPath(const QString &path)
77 engine()->addImportPath(QtQuick2ApplicationViewerPrivate::adjustPath(path));
80 void QtQuick2ApplicationViewer::showExpanded()
82 #if defined(Q_WS_SIMULATOR) || defined(Q_OS_QNX)