diff options
-rw-r--r-- | src/imports/imports.pro | 2 | ||||
-rw-r--r-- | src/imports/location/location.cpp | 1 | ||||
-rw-r--r-- | src/imports/locationlabs/locationlabs.cpp | 89 | ||||
-rw-r--r-- | src/imports/locationlabs/locationlabs.pro | 15 | ||||
-rw-r--r-- | src/imports/locationlabs/plugin.json | 2 | ||||
-rw-r--r-- | src/imports/locationlabs/qmldir | 4 | ||||
-rw-r--r-- | src/location/configure.json | 8 | ||||
-rw-r--r-- | src/location/declarativemaps/qgeomapobject_p.h | 2 | ||||
-rw-r--r-- | src/locationlabs/locationlabs.pro | 11 | ||||
-rw-r--r-- | src/plugins/geoservices/itemsoverlay/qgeomapitemsoverlay.cpp | 2 | ||||
-rw-r--r-- | src/src.pro | 11 | ||||
-rw-r--r-- | sync.profile | 1 |
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 ); |