Remove HomeScreenNG
[staging/HomeScreen.git] / SampleMediaApp / qtquick2applicationviewer / qtquick2applicationviewer.cpp
1 // checksum 0xc01f version 0x90005
2 /*
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
6   handled here.
7   It is recommended not to modify this file, since newer versions of Qt Creator
8   may offer an updated version of it.
9 */
10
11 #include "qtquick2applicationviewer.h"
12
13 #include <QtCore/QCoreApplication>
14 #include <QtCore/QDir>
15 #include <QtQml/QQmlEngine>
16
17 class QtQuick2ApplicationViewerPrivate
18 {
19     QString mainQmlFile;
20     friend class QtQuick2ApplicationViewer;
21     static QString adjustPath(const QString &path);
22 };
23
24 QString QtQuick2ApplicationViewerPrivate::adjustPath(const QString &path)
25 {
26 #if defined(Q_OS_IOS)
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;
42     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;
48 #endif
49     return path;
50 }
51
52 QtQuick2ApplicationViewer::QtQuick2ApplicationViewer(QWindow *parent)
53     : QQuickView(parent)
54     , d(new QtQuick2ApplicationViewerPrivate())
55 {
56     connect(engine(), SIGNAL(quit()), SLOT(close()));
57     setResizeMode(QQuickView::SizeRootObjectToView);
58 }
59
60 QtQuick2ApplicationViewer::~QtQuick2ApplicationViewer()
61 {
62     delete d;
63 }
64
65 void QtQuick2ApplicationViewer::setMainQmlFile(const QString &file)
66 {
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));
70 #else
71     setSource(QUrl::fromLocalFile(d->mainQmlFile));
72 #endif
73 }
74
75 void QtQuick2ApplicationViewer::addImportPath(const QString &path)
76 {
77     engine()->addImportPath(QtQuick2ApplicationViewerPrivate::adjustPath(path));
78 }
79
80 void QtQuick2ApplicationViewer::showExpanded()
81 {
82 #if defined(Q_WS_SIMULATOR) || defined(Q_OS_QNX)
83     showFullScreen();
84 #else
85     show();
86 #endif
87 }