summaryrefslogtreecommitdiffstats
path: root/desktop-widgets
diff options
context:
space:
mode:
Diffstat (limited to 'desktop-widgets')
-rw-r--r--desktop-widgets/mapwidget.cpp27
-rw-r--r--desktop-widgets/mapwidget.h23
2 files changed, 50 insertions, 0 deletions
diff --git a/desktop-widgets/mapwidget.cpp b/desktop-widgets/mapwidget.cpp
new file mode 100644
index 000000000..2ebc92e0a
--- /dev/null
+++ b/desktop-widgets/mapwidget.cpp
@@ -0,0 +1,27 @@
+#include <QQmlContext>
+#include <QDebug>
+#include <QQuickItem>
+
+#include "mapwidget.h"
+
+MapWidget *MapWidget::m_instance = NULL;
+
+MapWidget::MapWidget(QWidget *parent) : QQuickWidget(parent)
+{
+ setSource(QUrl(QStringLiteral("qrc:/mapwidget-qml")));
+ setResizeMode(QQuickWidget::SizeRootObjectToView);
+
+ m_rootItem = qobject_cast<QQuickItem *>(rootObject());
+}
+
+MapWidget::~MapWidget()
+{
+ m_instance = NULL;
+}
+
+MapWidget *MapWidget::instance()
+{
+ if (m_instance == NULL)
+ m_instance = new MapWidget();
+ return m_instance;
+}
diff --git a/desktop-widgets/mapwidget.h b/desktop-widgets/mapwidget.h
new file mode 100644
index 000000000..c1d55ae91
--- /dev/null
+++ b/desktop-widgets/mapwidget.h
@@ -0,0 +1,23 @@
+#ifndef MAPWIDGET_H
+#define MAPWIDGET_H
+
+#include <QQuickWidget>
+
+class QResizeEvent;
+class QQuickItem;
+
+class MapWidget : public QQuickWidget {
+
+public:
+ MapWidget(QWidget *parent = NULL);
+ ~MapWidget();
+
+ static MapWidget *instance();
+
+private:
+ static MapWidget *m_instance;
+ QQuickItem *m_rootItem;
+
+};
+
+#endif // MAPWIDGET_H