Q_DECL_EXPORT #endif int main(int argc, char **argv) { QApplication *application; QDeclarativeView *view; #ifdef HAS_BOOSTER application = MDeclarativeCache::qApplication(argc, argv); view = MDeclarativeCache::qDeclarativeView(); #else qWarning() << Q_FUNC_INFO << "Warning! Running without booster. This may be a bit slower."; QApplication stackApp(argc, argv); QDeclarativeView stackView; application = &stackApp; view = &stackView; #endif bool isFullscreen = false; QStringList arguments = application->arguments(); for (int i = 0; i < arguments.count(); ++i) { QString parameter = arguments.at(i); if (parameter == "-fullscreen") { isFullscreen = true; } else if (parameter == "-help") { qDebug() << "Contacts application"; qDebug() << "-fullscreen - show QML fullscreen"; exit(0); } } QObject::connect(view->engine(), SIGNAL(quit()), application, SLOT(quit())); if (QFile::exists("main.qml")) view->setSource(QUrl::fromLocalFile("main.qml")); else view->setSource(QUrl("qrc:/qml/main.qml")); view->setAttribute(Qt::WA_OpaquePaintEvent); view->setAttribute(Qt::WA_NoSystemBackground); view->viewport()->setAttribute(Qt::WA_OpaquePaintEvent); view->viewport()->setAttribute(Qt::WA_NoSystemBackground); // TODO: we could do with a plugin to access QDesktopServices paths view->rootContext()->setContextProperty("systemAvatarDirectory", QDesktopServices::storageLocation(QDesktopServices::PicturesLocation)); view->rootContext()->setContextProperty("DocumentsLocation", QDesktopServices::storageLocation(QDesktopServices::DocumentsLocation)); if (isFullscreen) view->showFullScreen(); else view->show(); return application->exec(); }
Q_DECL_EXPORT #endif int main(int argc, char **argv) { QApplication *application; QDeclarativeView *view; #ifdef HAS_BOOSTER application = MDeclarativeCache::qApplication(argc, argv); view = MDeclarativeCache::qDeclarativeView(); #else qWarning() << Q_FUNC_INFO << "Warning! Running without booster. This may be a bit slower."; QApplication stackApp(argc, argv); QDeclarativeView stackView; application = &stackApp; view = &stackView; #endif QString path; QString urlstring; bool isFullscreen = false; QStringList arguments = application->arguments(); for (int i = 0; i < arguments.count(); ++i) { QString parameter = arguments.at(i); if (parameter == "-path") { if (i + 1 >= arguments.count()) qFatal("-path requires an argument"); path = arguments.at(i + 1); i++; } else if (parameter == "-url") { if (i + 1 >= arguments.count()) qFatal("-path requires an argument"); urlstring = arguments.at(i + 1); i++; } else if (parameter == "-fullscreen") { isFullscreen = true; } else if (parameter == "-help") { qDebug() << "Fast QML-only application launcher"; qDebug() << "-fullscreen - show QML fullscreen"; qDebug() << "-path - path to cd to before launching -url"; qDebug() << "-url - file to launch (default: main.qml inside -path)"; exit(0); } } if (!path.isEmpty()) QDir::setCurrent(path); QUrl url; if (urlstring.isEmpty()) url = QUrl::fromLocalFile("main.qml"); else url = QUrl::fromUserInput(urlstring); QObject::connect(view->engine(), SIGNAL(quit()), application, SLOT(quit())); view->setSource(url); view->setAttribute(Qt::WA_OpaquePaintEvent); view->setAttribute(Qt::WA_NoSystemBackground); view->viewport()->setAttribute(Qt::WA_OpaquePaintEvent); view->viewport()->setAttribute(Qt::WA_NoSystemBackground); if (isFullscreen) view->showFullScreen(); else view->show(); return application->exec(); }
Q_DECL_EXPORT #endif int main(int argc, char *argv[]) { #if defined(Q_WS_X11) #if QT_VERSION >= 0x040800 QApplication::setAttribute(Qt::AA_X11InitThreads, true); #else XInitThreads(); QApplication::setAttribute(static_cast<Qt::ApplicationAttribute>(10), true); #endif #endif QApplication *application; QDeclarativeView *view; #ifdef HARMATTAN_BOOSTER application = MDeclarativeCache::qApplication(argc, argv); view = MDeclarativeCache::qDeclarativeView(); #else qWarning() << Q_FUNC_INFO << "Warning! Running without booster. This may be a bit slower."; QApplication stackApp(argc, argv); QmlApplicationViewer stackView; application = &stackApp; view = &stackView; stackView.setOrientation(QmlApplicationViewer::ScreenOrientationAuto); #endif application->setQuitOnLastWindowClosed(true); // FIXME uncommenting this will make UI not loaded // QMozContext::GetInstance(); QString path; QString urlstring; QString qmlstring; #ifdef __arm__ bool isFullscreen = true; #else bool isFullscreen = false; #endif #if !defined(Q_WS_MAEMO_5) bool glwidget = true; #else bool glwidget = false; #endif QStringList arguments = application->arguments(); for (int i = 0; i < arguments.count(); ++i) { QString parameter = arguments.at(i); if (parameter == "-path") { if (i + 1 >= arguments.count()) qFatal("-path requires an argument"); path = arguments.at(i + 1); i++; } else if (parameter == "-url") { if (i + 1 >= arguments.count()) qFatal("-url requires an argument"); urlstring = arguments.at(i + 1); i++; } else if (parameter == "-qml") { if (i + 1 >= arguments.count()) qFatal("-qml requires an argument"); qmlstring = arguments.at(i + 1); i++; } else if (parameter == "-fullscreen") { isFullscreen = true; } else if (parameter == "-no-glwidget") { glwidget = false; } else if (parameter == "-glwidget") { glwidget = true; } else if (parameter == "-help") { qDebug() << "EMail application"; qDebug() << "-fullscreen - show QML fullscreen"; qDebug() << "-path - path to cd to before launching -url"; qDebug() << "-qml - file to launch (default: main.qml inside -path)"; qDebug() << "-url - url to load"; qDebug() << "-no-glwidget - Don't use QGLWidget viewport"; exit(0); } } if (!path.isEmpty()) QDir::setCurrent(path); qmlRegisterType<QMozContext>("QtMozilla", 1, 0, "QMozContext"); qmlRegisterType<QGraphicsMozView>("QtMozilla", 1, 0, "QGraphicsMozView"); qmlRegisterType<QDeclarativeMozView>("QtMozilla", 1, 0, "QDeclarativeMozView"); QUrl qml; if (qmlstring.isEmpty()) #if defined(__arm__) && !defined(Q_WS_MAEMO_5) qml = QUrl("qrc:/qml/main_meego.qml"); #else qml = QUrl("qrc:/qml/main.qml"); #endif else