* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#if defined(QT4)
#include <QApplication>
#include <QDeclarativeView>
#include <QDeclarativeContext>
#include <QDeclarativeEngine>
#include <QtDeclarative>
#include <QGLWidget>
-#include <QuillFile>
+#elif defined(QT5)
+#include <QGuiApplication>
+#include <QQuickView>
+#endif
#include "settings.h"
#include "filenaming.h"
+#ifdef HARMATTAN
#include "quillitem.h"
+#endif
+#include "soundvolumecontrol.h"
#include "displaystate.h"
#include "fsmonitor.h"
#include "cameraresources.h"
#include "compass.h"
#include "orientation.h"
+#if defined(QT4) // TODO:
#include "geocode.h"
+#endif
#include "mountprotector.h"
#include "trackerstore.h"
#include "focusrectangle.h"
#include "deviceinfo.h"
#include "devicekeys.h"
#include "platformsettings.h"
+#include "dbusservice.h"
+#include <MDeclarativeCache>
#ifdef QMLJSDEBUGGER
#include "qt_private/qdeclarativedebughelper_p.h"
#endif /* QMLJSDEBUGGER */
-static void initQuill(PlatformSettings *settings) {
- QList<QPair<QString, QSize> > previewLevels = settings->previewLevels();
- Quill::setPreviewLevelCount(previewLevels.size());
+#if defined(QT4)
+#include <QAbstractFileEngineHandler>
+#include "qmlfileengine.h"
- for (int x = 0; x < previewLevels.size(); x++) {
- Quill::setThumbnailFlavorName(x, previewLevels[x].first);
- Quill::setPreviewSize(x, previewLevels[x].second);
- Quill::setMinimumPreviewSize(x, previewLevels[x].second);
- }
-
- Quill::setThumbnailExtension(settings->thumbnailExtension());
- Quill::setBackgroundRenderingColor(settings->backgroundRenderingColor());
- Quill::setDBusThumbnailingEnabled(settings->isDBusThumbnailingEnabled());
- Quill::setThumbnailCreationEnabled(settings->isThumbnailCreationEnabled());
+class QmlFileEngineHandler : public QAbstractFileEngineHandler {
+ QAbstractFileEngine *create(const QString& fileName) const {
+ QString fn = fileName.toLower();
+ if (fn.startsWith(':') && fn.endsWith(".qml")) {
+ return new QmlFileEngine(fileName);
+ }
- QString tempPath = settings->temporaryFilePath();
- QDir().mkpath(tempPath);
- Quill::setTemporaryFilePath(tempPath);
-}
+ return 0;
+ }
+};
+#endif
Q_DECL_EXPORT int main(int argc, char *argv[]) {
+#if defined(QT4)
QApplication::setAttribute(Qt::AA_X11InitThreads, true);
- QApplication app(argc, argv);
+ QApplication *app = new QApplication(argc, argv);
+
+ QmlFileEngineHandler handler;
+ Q_UNUSED(handler);
+
+ QDeclarativeView *view = MDeclarativeCache::qDeclarativeView();
+#elif defined(QT5)
+ QGuiApplication *app = MDeclarativeCache::qApplication(argc, argv);
+ QQuickView *view = MDeclarativeCache::qQuickView();
+#endif
#ifdef QMLJSDEBUGGER
QDeclarativeDebugHelper::enableDebugging();
#endif /* QMLJSDEBUGGER */
- QDeclarativeView view;
- view.setAttribute(Qt::WA_NoSystemBackground);
- view.setViewport(new QGLWidget);
- view.setResizeMode(QDeclarativeView::SizeRootObjectToView);
- view.setViewportUpdateMode(QGraphicsView::FullViewportUpdate);
- view.viewport()->setAttribute(Qt::WA_NoSystemBackground);
-
- PlatformSettings platformSettings;
+#if defined(QT4)
+ view->setAttribute(Qt::WA_NoSystemBackground);
+ view->setViewport(new QGLWidget);
+ view->setResizeMode(QDeclarativeView::SizeRootObjectToView);
+ view->setViewportUpdateMode(QGraphicsView::FullViewportUpdate);
+ view->viewport()->setAttribute(Qt::WA_NoSystemBackground);
+#endif
- // Let's initialize Quill:
- initQuill(&platformSettings);
+#if defined(QT5)
+ view->setResizeMode(QQuickView::SizeRootObjectToView);
+ // TODO:
+#endif
qmlRegisterType<Settings>("CameraPlus", 1, 0, "Settings");
qmlRegisterType<FileNaming>("CameraPlus", 1, 0, "FileNaming");
+#ifdef HARMATTAN
qmlRegisterType<QuillItem>("CameraPlus", 1, 0, "QuillItem");
+#endif
+ qmlRegisterType<SoundVolumeControl>("CameraPlus", 1, 0, "SoundVolumeControl");
qmlRegisterType<DisplayState>("CameraPlus", 1, 0, "DisplayState");
qmlRegisterType<FSMonitor>("CameraPlus", 1, 0, "FSMonitor");
qmlRegisterType<CameraResources>("CameraPlus", 1, 0, "CameraResources");
qmlRegisterType<Compass>("CameraPlus", 1, 0, "Compass");
qmlRegisterType<Orientation>("CameraPlus", 1, 0, "Orientation");
+#if defined(QT4) // TODO:
qmlRegisterType<Geocode>("CameraPlus", 1, 0, "ReverseGeocode");
+#endif
qmlRegisterType<MountProtector>("CameraPlus", 1, 0, "MountProtector");
qmlRegisterType<TrackerStore>("CameraPlus", 1, 0, "TrackerStore");
qmlRegisterType<FocusRectangle>("CameraPlus", 1, 0, "FocusRectangle");
qmlRegisterType<PostCaptureModel>("CameraPlus", 1, 0, "PostCaptureModel");
qmlRegisterType<BatteryInfo>("CameraPlus", 1, 0, "BatteryInfo");
qmlRegisterType<GridLines>("CameraPlus", 1, 0, "GridLines");
+#if defined(QT4) // TODO:
qmlRegisterType<DeviceInfo>("CameraPlus", 1, 0, "DeviceInfo");
+#endif
qmlRegisterType<DeviceKeys>("CameraPlus", 1, 0, "DeviceKeys");
+ qmlRegisterType<PlatformSettings>("CameraPlus", 1, 0, "PlatformSettings");
+
+ view->setSource(QUrl("qrc:/qml/main.qml"));
+
+ view->showFullScreen();
- view.setSource(QUrl("qrc:/qml/main.qml"));
+ int ret = app->exec();
- view.showFullScreen();
+ delete view;
+ delete app;
- int ret = app.exec();
return ret;
}