summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/imports/imports.pro2
-rw-r--r--src/imports/location/location.cpp1
-rw-r--r--src/imports/locationlabs/locationlabs.cpp89
-rw-r--r--src/imports/locationlabs/locationlabs.pro15
-rw-r--r--src/imports/locationlabs/plugin.json2
-rw-r--r--src/imports/locationlabs/qmldir4
-rw-r--r--src/location/configure.json8
-rw-r--r--src/location/declarativemaps/qgeomapobject_p.h2
-rw-r--r--src/locationlabs/locationlabs.pro11
-rw-r--r--src/plugins/geoservices/itemsoverlay/qgeomapitemsoverlay.cpp2
-rw-r--r--src/src.pro11
-rw-r--r--sync.profile1
12 files changed, 144 insertions, 4 deletions
diff --git a/src/imports/imports.pro b/src/imports/imports.pro
index 460fe156..2fd8dbd0 100644
--- a/src/imports/imports.pro
+++ b/src/imports/imports.pro
@@ -2,4 +2,4 @@ TEMPLATE = subdirs
qtHaveModule(positioning): SUBDIRS += positioning
qtHaveModule(location): SUBDIRS += location
-
+qtHaveModule(locationlabs): SUBDIRS += locationlabs
diff --git a/src/imports/location/location.cpp b/src/imports/location/location.cpp
index dbcb3662..d489d655 100644
--- a/src/imports/location/location.cpp
+++ b/src/imports/location/location.cpp
@@ -53,6 +53,7 @@
#include <QtLocation/private/qdeclarativegeomapparameter_p.h>
#include <QtLocation/private/qdeclarativegeomapcopyrightsnotice_p.h>
#include <QtLocation/private/qdeclarativegeomapitemgroup_p.h>
+#include <QtLocation/private/qgeomapobject_p.h>
//Place includes
#include <QtLocation/private/qdeclarativecategory_p.h>
diff --git a/src/imports/locationlabs/locationlabs.cpp b/src/imports/locationlabs/locationlabs.cpp
new file mode 100644
index 00000000..a7719139
--- /dev/null
+++ b/src/imports/locationlabs/locationlabs.cpp
@@ -0,0 +1,89 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the QtLocation module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL3$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPLv3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or later as published by the Free
+** Software Foundation and appearing in the file LICENSE.GPL included in
+** the packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 2.0 requirements will be
+** met: http://www.gnu.org/licenses/gpl-2.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//#include <QtLocationLabs/private/qmapiconobject_p.h>
+//#include <QtLocationLabs/private/qmapobjectview_p.h>
+//#include <QtLocationLabs/private/qmaprouteobject_p.h>
+//#include <QtLocationLabs/private/qdeclarativenavigator_p.h>
+
+#include <QtQml/qqmlextensionplugin.h>
+#include <QtQml/qqml.h>
+#include <QtCore/QDebug>
+
+static void initResources()
+{
+#ifdef QT_STATIC
+ Q_INIT_RESOURCE(qmake_QtLocationLabs);
+#endif
+}
+
+QT_BEGIN_NAMESPACE
+
+
+class QtLocationLabsDeclarativeModule: public QQmlExtensionPlugin
+{
+ Q_OBJECT
+
+ Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid
+ FILE "plugin.json")
+
+public:
+ QtLocationLabsDeclarativeModule(QObject *parent = 0) : QQmlExtensionPlugin(parent) { initResources(); }
+ virtual void registerTypes(const char *uri)
+ {
+ if (QLatin1String(uri) == QLatin1String("Qt.labs.location")) {
+
+ // @uri QtLocationLabs
+// int major = 5;
+// int minor = 11;
+
+ // Register the 5.11 types
+// qmlRegisterType<QDeclarativeNavigator>(uri, major, minor, "Navigator");
+// qmlRegisterType<QMapIconObject>(uri, major, minor, "MapIconObject");
+// qmlRegisterType<QMapObjectView>(uri, major, minor, "MapObjectView");
+// qmlRegisterType<QMapRouteObject>(uri, major, minor, "MapRouteObject");
+
+ // Register the latest Qt version as QML type version
+ qmlRegisterModule(uri, QT_VERSION_MAJOR, QT_VERSION_MINOR);
+ } else {
+ qDebug() << "Unsupported URI given to load location QML plugin: " << QLatin1String(uri);
+ }
+ }
+};
+
+#include "locationlabs.moc"
+
+QT_END_NAMESPACE
diff --git a/src/imports/locationlabs/locationlabs.pro b/src/imports/locationlabs/locationlabs.pro
new file mode 100644
index 00000000..65941355
--- /dev/null
+++ b/src/imports/locationlabs/locationlabs.pro
@@ -0,0 +1,15 @@
+QT += quick-private network positioning-private location-private locationlabs-private qml-private core-private gui-private
+
+TARGET = locationlabsplugin
+TARGETPATH = Qt/labs/location
+IMPORT_VERSION = 5.11
+
+SOURCES += \
+ locationlabs.cpp
+
+#CONFIG += no_cxx_module
+load(qml_plugin)
+
+OTHER_FILES += \
+ plugin.json \
+ qmldir
diff --git a/src/imports/locationlabs/plugin.json b/src/imports/locationlabs/plugin.json
new file mode 100644
index 00000000..2c63c085
--- /dev/null
+++ b/src/imports/locationlabs/plugin.json
@@ -0,0 +1,2 @@
+{
+}
diff --git a/src/imports/locationlabs/qmldir b/src/imports/locationlabs/qmldir
new file mode 100644
index 00000000..ddaf6ebc
--- /dev/null
+++ b/src/imports/locationlabs/qmldir
@@ -0,0 +1,4 @@
+module Qt.labs.location
+plugin locationlabsplugin
+classname QtLocationLabsDeclarativeModule
+typeinfo plugins.qmltypes
diff --git a/src/location/configure.json b/src/location/configure.json
index bfa3d6f2..8f74a4be 100644
--- a/src/location/configure.json
+++ b/src/location/configure.json
@@ -5,6 +5,13 @@
],
"features": {
+ "labs_plugin": {
+ "label": "Qt.labs.location experimental QML plugin",
+ "purpose": "Provides experimental QtLocation QML types",
+ "section": "Location",
+ "autoDetect": false,
+ "output": [ "privateFeature" ]
+ },
"geoservices_osm": {
"label": "OpenStreetMap",
"purpose": "Provides access to OpenStreetMap geoservices",
@@ -53,6 +60,7 @@
{
"section": "Qt Location",
"entries": [
+ "labs_plugin",
{
"section": "Geoservice plugins",
"entries": [
diff --git a/src/location/declarativemaps/qgeomapobject_p.h b/src/location/declarativemaps/qgeomapobject_p.h
index 9f479dd7..91e5667f 100644
--- a/src/location/declarativemaps/qgeomapobject_p.h
+++ b/src/location/declarativemaps/qgeomapobject_p.h
@@ -73,7 +73,7 @@ public:
enum Type {
InvalidType = 0,
- LayerType = 1,
+ ViewType = 1,
RouteType = 2,
RectangleType = 3,
CircleType = 4,
diff --git a/src/locationlabs/locationlabs.pro b/src/locationlabs/locationlabs.pro
new file mode 100644
index 00000000..add700ca
--- /dev/null
+++ b/src/locationlabs/locationlabs.pro
@@ -0,0 +1,11 @@
+TARGET = QtLocationLabs
+
+QT += core-private gui-private quick-private location-private positioning-private positioningquick-private
+
+CONFIG += simd optimize_full
+
+SOURCES += $$files(*.cpp)
+HEADERS += $$files(*.h)
+
+load(qt_module)
+
diff --git a/src/plugins/geoservices/itemsoverlay/qgeomapitemsoverlay.cpp b/src/plugins/geoservices/itemsoverlay/qgeomapitemsoverlay.cpp
index fecae107..8d5edc6d 100644
--- a/src/plugins/geoservices/itemsoverlay/qgeomapitemsoverlay.cpp
+++ b/src/plugins/geoservices/itemsoverlay/qgeomapitemsoverlay.cpp
@@ -43,7 +43,7 @@ QT_BEGIN_NAMESPACE
class QGeoMapItemsOverlayPrivate : public QGeoMapPrivate
{
- Q_DECLARE_PUBLIC(QGeoMap)
+ Q_DECLARE_PUBLIC(QGeoMapItemsOverlay)
public:
QGeoMapItemsOverlayPrivate(QGeoMappingManagerEngineItemsOverlay *engine);
diff --git a/src/src.pro b/src/src.pro
index 74c5ac4c..9cef3da0 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -1,5 +1,9 @@
TEMPLATE = subdirs
+QT_FOR_CONFIG += location-private
+include($$OUT_PWD/location/qtlocation-config.pri)
+include($$OUT_PWD/positioning/qtpositioning-config.pri)
+
clip2tri.subdir = 3rdparty/clip2tri
poly2tri.subdir = 3rdparty/poly2tri
clipper.subdir = 3rdparty/clipper
@@ -17,10 +21,15 @@ qtHaveModule(quick) {
plugins.depends += location
+ exists(locationlabs):qtConfig(labs_plugin) {
+ SUBDIRS += locationlabs
+ locationlabs.depends += location
+ }
+
SUBDIRS += imports
imports.depends += positioningquick positioning location
+ exists(locationlabs):qtConfig(labs_plugin): imports.depends += locationlabs
}
-
plugins.depends += positioning
SUBDIRS += plugins
diff --git a/sync.profile b/sync.profile
index dcdc7296..57d89c2b 100644
--- a/sync.profile
+++ b/sync.profile
@@ -2,6 +2,7 @@
"QtLocation" => "$basedir/src/location",
"QtPositioning" => "$basedir/src/positioning",
"QtPositioningQuick" => "$basedir/src/positioningquick",
+ "QtLocationLabs" => "$basedir/src/locationlabs",
);
%moduleheaders = ( # restrict the module headers to those found in relative path
);