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 +#include +#include + +#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(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 + +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