2010-11-01 17:03:46 +01:00
|
|
|
/*
|
2013-10-16 17:18:07 +02:00
|
|
|
This file was generated by the Qt Quick 1 Application wizard of Qt Creator.
|
|
|
|
|
QtQuick1ApplicationViewer is a convenience class containing mobile device
|
|
|
|
|
specific code such as screen orientation handling. Also QML paths are
|
2010-11-01 17:03:46 +01:00
|
|
|
handled here.
|
|
|
|
|
It is recommended not to modify this file, since newer versions of Qt Creator
|
|
|
|
|
may offer an updated version of it.
|
|
|
|
|
*/
|
|
|
|
|
|
2013-10-16 17:18:07 +02:00
|
|
|
#include "qtquick1applicationviewer.h"
|
2010-07-15 11:58:37 +02:00
|
|
|
|
2012-02-15 10:42:41 +01:00
|
|
|
#include <QDir>
|
|
|
|
|
#include <QFileInfo>
|
|
|
|
|
#include <QApplication>
|
|
|
|
|
#include <QDeclarativeComponent>
|
|
|
|
|
#include <QDeclarativeEngine>
|
|
|
|
|
#include <QDeclarativeContext>
|
2010-07-15 11:58:37 +02:00
|
|
|
|
2011-08-25 14:18:45 +02:00
|
|
|
#include <qplatformdefs.h> // MEEGO_EDITION_HARMATTAN
|
|
|
|
|
|
2013-10-16 17:18:07 +02:00
|
|
|
class QtQuick1ApplicationViewerPrivate
|
2010-07-15 11:58:37 +02:00
|
|
|
{
|
|
|
|
|
QString mainQmlFile;
|
2013-10-16 17:18:07 +02:00
|
|
|
friend class QtQuick1ApplicationViewer;
|
2011-11-16 13:09:03 +01:00
|
|
|
static QString adjustPath(const QString &path);
|
2010-07-15 11:58:37 +02:00
|
|
|
};
|
|
|
|
|
|
2013-10-16 17:18:07 +02:00
|
|
|
QString QtQuick1ApplicationViewerPrivate::adjustPath(const QString &path)
|
2010-08-16 20:27:30 +02:00
|
|
|
{
|
2013-11-11 16:32:35 +01:00
|
|
|
#if defined(Q_OS_IOS)
|
|
|
|
|
if (!QDir::isAbsolutePath(path))
|
|
|
|
|
return QString::fromLatin1("%1/%2")
|
|
|
|
|
.arg(QCoreApplication::applicationDirPath(), path);
|
|
|
|
|
#elif defined(Q_OS_MAC)
|
2010-08-16 22:02:20 +02:00
|
|
|
if (!QDir::isAbsolutePath(path))
|
2011-11-07 17:28:56 +01:00
|
|
|
return QString::fromLatin1("%1/../Resources/%2")
|
|
|
|
|
.arg(QCoreApplication::applicationDirPath(), path);
|
2013-04-19 13:54:52 +02:00
|
|
|
#elif defined(Q_OS_BLACKBERRY)
|
2012-10-12 04:25:23 +02:00
|
|
|
if (!QDir::isAbsolutePath(path))
|
|
|
|
|
return QString::fromLatin1("app/native/%1").arg(path);
|
2012-04-18 20:30:57 +03:00
|
|
|
#elif !defined(Q_OS_ANDROID)
|
2012-10-23 12:42:14 +02:00
|
|
|
QString pathInInstallDir =
|
2013-10-16 17:18:07 +02:00
|
|
|
QString::fromLatin1("%1/../%2").arg(
|
|
|
|
|
QCoreApplication::applicationDirPath(), path);
|
2011-08-17 12:27:24 +02:00
|
|
|
if (QFileInfo(pathInInstallDir).exists())
|
2011-02-08 18:08:03 +01:00
|
|
|
return pathInInstallDir;
|
2012-10-23 12:42:14 +02:00
|
|
|
pathInInstallDir =
|
2013-10-16 17:18:07 +02:00
|
|
|
QString::fromLatin1("%1/%2").arg(
|
|
|
|
|
QCoreApplication::applicationDirPath(), path);
|
2012-10-23 12:42:14 +02:00
|
|
|
if (QFileInfo(pathInInstallDir).exists())
|
|
|
|
|
return pathInInstallDir;
|
2010-08-16 20:27:30 +02:00
|
|
|
#endif
|
|
|
|
|
return path;
|
|
|
|
|
}
|
|
|
|
|
|
2013-10-16 17:18:07 +02:00
|
|
|
QtQuick1ApplicationViewer::QtQuick1ApplicationViewer(QWidget *parent)
|
2011-08-17 12:27:24 +02:00
|
|
|
: QDeclarativeView(parent)
|
2013-10-16 17:18:07 +02:00
|
|
|
, d(new QtQuick1ApplicationViewerPrivate())
|
2010-07-15 11:58:37 +02:00
|
|
|
{
|
|
|
|
|
connect(engine(), SIGNAL(quit()), SLOT(close()));
|
|
|
|
|
setResizeMode(QDeclarativeView::SizeRootObjectToView);
|
|
|
|
|
}
|
|
|
|
|
|
2013-10-16 17:18:07 +02:00
|
|
|
QtQuick1ApplicationViewer::~QtQuick1ApplicationViewer()
|
2010-07-15 11:58:37 +02:00
|
|
|
{
|
2011-08-17 12:27:24 +02:00
|
|
|
delete d;
|
|
|
|
|
}
|
|
|
|
|
|
2013-10-16 17:18:07 +02:00
|
|
|
QtQuick1ApplicationViewer *QtQuick1ApplicationViewer::create()
|
2011-08-17 12:27:24 +02:00
|
|
|
{
|
2013-10-16 17:18:07 +02:00
|
|
|
return new QtQuick1ApplicationViewer();
|
2010-07-15 11:58:37 +02:00
|
|
|
}
|
|
|
|
|
|
2013-10-16 17:18:07 +02:00
|
|
|
void QtQuick1ApplicationViewer::setMainQmlFile(const QString &file)
|
2010-08-16 20:27:30 +02:00
|
|
|
{
|
2013-10-16 17:18:07 +02:00
|
|
|
d->mainQmlFile = QtQuick1ApplicationViewerPrivate::adjustPath(file);
|
2012-07-03 16:57:44 +03:00
|
|
|
#ifdef Q_OS_ANDROID
|
|
|
|
|
setSource(QUrl(QLatin1String("assets:/")+d->mainQmlFile));
|
|
|
|
|
#else
|
2011-11-16 13:09:03 +01:00
|
|
|
setSource(QUrl::fromLocalFile(d->mainQmlFile));
|
2012-07-03 16:57:44 +03:00
|
|
|
#endif
|
2010-08-16 20:27:30 +02:00
|
|
|
}
|
|
|
|
|
|
2013-10-16 17:18:07 +02:00
|
|
|
void QtQuick1ApplicationViewer::addImportPath(const QString &path)
|
2010-07-15 11:58:37 +02:00
|
|
|
{
|
2013-10-16 17:18:07 +02:00
|
|
|
engine()->addImportPath(QtQuick1ApplicationViewerPrivate::adjustPath(path));
|
2010-07-15 11:58:37 +02:00
|
|
|
}
|
|
|
|
|
|
2013-10-16 17:18:07 +02:00
|
|
|
void QtQuick1ApplicationViewer::setOrientation(ScreenOrientation orientation)
|
2010-07-15 11:58:37 +02:00
|
|
|
{
|
2012-08-10 18:08:18 +02:00
|
|
|
#if QT_VERSION < 0x050000
|
2010-09-10 13:54:31 +02:00
|
|
|
Qt::WidgetAttribute attribute;
|
|
|
|
|
switch (orientation) {
|
2011-02-02 13:41:22 +01:00
|
|
|
case ScreenOrientationLockPortrait:
|
|
|
|
|
attribute = Qt::WA_LockPortraitOrientation;
|
|
|
|
|
break;
|
|
|
|
|
case ScreenOrientationLockLandscape:
|
|
|
|
|
attribute = Qt::WA_LockLandscapeOrientation;
|
|
|
|
|
break;
|
2010-09-10 13:54:31 +02:00
|
|
|
default:
|
2011-02-02 13:41:22 +01:00
|
|
|
case ScreenOrientationAuto:
|
|
|
|
|
attribute = Qt::WA_AutoOrientation;
|
2010-09-10 13:54:31 +02:00
|
|
|
break;
|
2011-02-02 13:41:22 +01:00
|
|
|
};
|
2010-09-10 13:54:31 +02:00
|
|
|
setAttribute(attribute, true);
|
2012-08-10 18:08:18 +02:00
|
|
|
#else // QT_VERSION < 0x050000
|
|
|
|
|
Q_UNUSED(orientation)
|
|
|
|
|
#endif // QT_VERSION < 0x050000
|
2010-07-15 11:58:37 +02:00
|
|
|
}
|
|
|
|
|
|
2013-10-16 17:18:07 +02:00
|
|
|
void QtQuick1ApplicationViewer::showExpanded()
|
2010-09-20 13:18:35 +02:00
|
|
|
{
|
2013-10-16 12:43:14 +02:00
|
|
|
#if defined(Q_WS_SIMULATOR) || defined(Q_OS_QNX)
|
2011-11-16 13:09:03 +01:00
|
|
|
showFullScreen();
|
2011-08-17 12:27:24 +02:00
|
|
|
#else
|
2011-11-16 13:09:03 +01:00
|
|
|
show();
|
2011-08-17 12:27:24 +02:00
|
|
|
#endif
|
|
|
|
|
}
|