Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qt6-positioning for openSUSE:Factory
checked in at 2024-10-17 18:37:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt6-positioning (Old)
and /work/SRC/openSUSE:Factory/.qt6-positioning.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-positioning"
Thu Oct 17 18:37:47 2024 rev:25 rq:1207621 version:6.8.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/qt6-positioning/qt6-positioning.changes
2024-10-03 18:02:12.102737698 +0200
+++
/work/SRC/openSUSE:Factory/.qt6-positioning.new.19354/qt6-positioning.changes
2024-10-17 18:37:50.622514505 +0200
@@ -1,0 +2,6 @@
+Tue Oct 8 09:29:47 UTC 2024 - Christophe Marin <[email protected]>
+
+- Update to 6.8.0:
+ * https://www.qt.io/blog/qt-6.8-released
+
+-------------------------------------------------------------------
Old:
----
qtpositioning-everywhere-src-6.7.3.tar.xz
New:
----
qtpositioning-everywhere-src-6.8.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qt6-positioning.spec ++++++
--- /var/tmp/diff_new_pack.3GpbiT/_old 2024-10-17 18:37:51.682558707 +0200
+++ /var/tmp/diff_new_pack.3GpbiT/_new 2024-10-17 18:37:51.686558874 +0200
@@ -1,7 +1,7 @@
#
# spec file for package qt6-positioning
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,8 +16,8 @@
#
-%define real_version 6.7.3
-%define short_version 6.7
+%define real_version 6.8.0
+%define short_version 6.8
%define tar_name qtpositioning-everywhere-src
%define tar_suffix %{nil}
#
@@ -27,7 +27,7 @@
%endif
#
Name: qt6-positioning%{?pkg_suffix}
-Version: 6.7.3
+Version: 6.8.0
Release: 0
Summary: Qt 6 Positioning plugins and libraries
License: GPL-3.0-or-later
++++++ qtpositioning-everywhere-src-6.7.3.tar.xz ->
qtpositioning-everywhere-src-6.8.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/qtpositioning-everywhere-src-6.7.3/.cmake.conf
new/qtpositioning-everywhere-src-6.8.0/.cmake.conf
--- old/qtpositioning-everywhere-src-6.7.3/.cmake.conf 2024-09-19
20:59:08.000000000 +0200
+++ new/qtpositioning-everywhere-src-6.8.0/.cmake.conf 2024-10-02
16:25:44.000000000 +0200
@@ -1,4 +1,4 @@
-set(QT_REPO_MODULE_VERSION "6.7.3")
+set(QT_REPO_MODULE_VERSION "6.8.0")
set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1")
set(QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_LEAN_HEADERS=1")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/qtpositioning-everywhere-src-6.7.3/.tag
new/qtpositioning-everywhere-src-6.8.0/.tag
--- old/qtpositioning-everywhere-src-6.7.3/.tag 2024-09-19 20:59:08.000000000
+0200
+++ new/qtpositioning-everywhere-src-6.8.0/.tag 2024-10-02 16:25:44.000000000
+0200
@@ -1 +1 @@
-415babffd1cfcfec64a5e9a15c896d476c9331b6
+0a6e079b80de16c4cd329c031741c8edd6b8f49e
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/config.tests/gypsy/main.cpp
new/qtpositioning-everywhere-src-6.8.0/config.tests/gypsy/main.cpp
--- old/qtpositioning-everywhere-src-6.7.3/config.tests/gypsy/main.cpp
2024-09-19 20:59:08.000000000 +0200
+++ new/qtpositioning-everywhere-src-6.8.0/config.tests/gypsy/main.cpp
2024-10-02 16:25:44.000000000 +0200
@@ -1,5 +1,5 @@
// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH
Qt-GPL-exception-1.0
+// SPDX-License-Identifier: BSD-3-Clause
#include <gypsy/gypsy-satellite.h>
#include <gypsy/gypsy-control.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/config.tests/winrt/main.cpp
new/qtpositioning-everywhere-src-6.8.0/config.tests/winrt/main.cpp
--- old/qtpositioning-everywhere-src-6.7.3/config.tests/winrt/main.cpp
2024-09-19 20:59:08.000000000 +0200
+++ new/qtpositioning-everywhere-src-6.8.0/config.tests/winrt/main.cpp
2024-10-02 16:25:44.000000000 +0200
@@ -1,5 +1,5 @@
// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH
Qt-GPL-exception-1.0
+// SPDX-License-Identifier: BSD-3-Clause
#include <functional>
#include <windows.system.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/qtpositioning-everywhere-src-6.7.3/dependencies.yaml
new/qtpositioning-everywhere-src-6.8.0/dependencies.yaml
--- old/qtpositioning-everywhere-src-6.7.3/dependencies.yaml 2024-09-19
20:59:08.000000000 +0200
+++ new/qtpositioning-everywhere-src-6.8.0/dependencies.yaml 2024-10-02
16:25:44.000000000 +0200
@@ -1,10 +1,10 @@
dependencies:
../qtbase:
- ref: 92b685784960eea6eb353688cf0edeb94d69c6cd
+ ref: b839e9b36db3a4e50dfb34521d8ef8de1fd01969
required: true
../qtdeclarative:
- ref: 34ffe0c15a9564fefcf01a738eb0bde370399959
+ ref: 2884c601242f030307a5acdca984b3aa0d34e064
required: false
../qtserialport:
- ref: 0b7a499e8a58c1e7b80d9beae86c10dbfedf5542
+ ref: fc0a965d5bada8296595fcefacebc235dccf1a75
required: false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/examples/positioning/weatherinfo/doc/src/weatherinfo.qdoc
new/qtpositioning-everywhere-src-6.8.0/examples/positioning/weatherinfo/doc/src/weatherinfo.qdoc
---
old/qtpositioning-everywhere-src-6.7.3/examples/positioning/weatherinfo/doc/src/weatherinfo.qdoc
2024-09-19 20:59:08.000000000 +0200
+++
new/qtpositioning-everywhere-src-6.8.0/examples/positioning/weatherinfo/doc/src/weatherinfo.qdoc
2024-10-02 16:25:44.000000000 +0200
@@ -130,17 +130,4 @@
\snippet weatherinfo/WeatherInfo.qml 3
\snippet weatherinfo/WeatherInfo.qml 4
-
- \section1 Files and Attributions
-
- The example bundles the following images from Third-Party sources:
-
- \table
- \row
- \li \l{weatherinfo-tango-icons}{Tango Icons}
- \li Public Domain
- \row
- \li \l{weatherinfo-tango-weather-pack}{Tango Weather Icon Pack by
Darkobra}
- \li Public Domain
- \endtable
*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/3rdparty/poly2tri/qt_attribution.json
new/qtpositioning-everywhere-src-6.8.0/src/3rdparty/poly2tri/qt_attribution.json
---
old/qtpositioning-everywhere-src-6.7.3/src/3rdparty/poly2tri/qt_attribution.json
2024-09-19 20:59:08.000000000 +0200
+++
new/qtpositioning-everywhere-src-6.8.0/src/3rdparty/poly2tri/qt_attribution.json
2024-10-02 16:25:44.000000000 +0200
@@ -6,7 +6,7 @@
"Description": "Poly2Tri is a sweepline constrained Delaunay Polygon
Triangulation Library.",
"Homepage": "https://github.com/greenm01/poly2tri",
- "Version": "commit 0be213d95f82471b95d96d0248a0490d0a934f9f",
+ "Version": "commit a922022da4c0d3a55b1d6b6d634219caea653053",
"LicenseId": "BSD-3-Clause",
"License": "BSD 3-clause \"New\" or \"Revised\" License",
"LicenseFile": "LICENSE",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/3rdparty/poly2tri/sweep/sweep.cpp
new/qtpositioning-everywhere-src-6.8.0/src/3rdparty/poly2tri/sweep/sweep.cpp
---
old/qtpositioning-everywhere-src-6.7.3/src/3rdparty/poly2tri/sweep/sweep.cpp
2024-09-19 20:59:08.000000000 +0200
+++
new/qtpositioning-everywhere-src-6.8.0/src/3rdparty/poly2tri/sweep/sweep.cpp
2024-10-02 16:25:44.000000000 +0200
@@ -252,6 +252,35 @@
}
// True if HoleAngle exceeds 90 degrees.
+// LargeHole_DontFill checks if the advancing front has a large hole.
+// A "Large hole" is a triangle formed by a sequence of points in the advancing
+// front where three neighbor points form a triangle.
+// And angle between left-top, bottom, and right-top points is more than 90
degrees.
+// The first part of the algorithm reviews only three neighbor points, e.g.
named A, B, C.
+// Additional part of this logic reviews a sequence of 5 points -
+// additionally reviews one point before and one after the sequence of three
(A, B, C),
+// e.g. named X and Y.
+// In this case, angles are XBC and ABY and this if angles are negative or more
+// than 90 degrees LargeHole_DontFill returns true.
+// But there is a configuration when ABC has a negative angle but XBC or ABY
is less
+// than 90 degrees and positive.
+// Then function LargeHole_DontFill return false and initiates filling.
+// This filling creates a triangle ABC and adds it to the advancing front.
+// But in the case when angle ABC is negative this triangle goes inside the
advancing front
+// and can intersect previously created triangles.
+// This triangle leads to making wrong advancing front and problems in
triangulation in the future.
+// Looks like such a triangle should not be created.
+// The simplest way to check and fix it is to check an angle ABC.
+// If it is negative LargeHole_DontFill should return true and
+// not initiate creating the ABC triangle in the advancing front.
+// X______A Y
+// \ /
+// \ /
+// \ B /
+// | /
+// | /
+// |/
+// C
bool Sweep::LargeHole_DontFill(Node* node) {
Node* nextNode = node->next;
@@ -259,6 +288,9 @@
if (!AngleExceeds90Degrees(node->point, nextNode->point, prevNode->point))
return false;
+ if (AngleIsNegative(node->point, nextNode->point, prevNode->point))
+ return true;
+
// Check additional points on front.
Node* next2Node = nextNode->next;
// "..Plus.." because only want angles on same side as point being added.
@@ -273,6 +305,11 @@
return true;
}
+bool Sweep::AngleIsNegative(Point* origin, Point* pa, Point* pb) {
+ const double angle = Angle(*origin, *pa, *pb);
+ return angle < 0;
+}
+
bool Sweep::AngleExceeds90Degrees(Point* origin, Point* pa, Point* pb) {
double angle = Angle(*origin, *pa, *pb);
bool exceeds90Degrees = ((angle > PI_div2) || (angle < -PI_div2));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/3rdparty/poly2tri/sweep/sweep.h
new/qtpositioning-everywhere-src-6.8.0/src/3rdparty/poly2tri/sweep/sweep.h
--- old/qtpositioning-everywhere-src-6.7.3/src/3rdparty/poly2tri/sweep/sweep.h
2024-09-19 20:59:08.000000000 +0200
+++ new/qtpositioning-everywhere-src-6.8.0/src/3rdparty/poly2tri/sweep/sweep.h
2024-10-02 16:25:44.000000000 +0200
@@ -33,7 +33,7 @@
* Zalik, B.(2008)'Sweep-line algorithm for constrained Delaunay
triangulation',
* International Journal of Geographical Information Science
*
- * "FlipScan" Constrained Edge Algorithm invented by Thomas Åhlén,
[email protected]
+ * "FlipScan" Constrained Edge Algorithm invented by Thomas Ã
hlén,
[email protected]
*/
#ifndef SWEEP_H
@@ -172,6 +172,7 @@
// Decision-making about when to Fill hole.
// Contributed by ToolmakerSteve2
bool LargeHole_DontFill(Node* node);
+ bool AngleIsNegative(Point* origin, Point* pa, Point* pb);
bool AngleExceeds90Degrees(Point* origin, Point* pa, Point* pb);
bool AngleExceedsPlus90DegreesOrIsNegative(Point* origin, Point* pa, Point*
pb);
double Angle(Point& origin, Point& pa, Point& pb);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/plugins/position/android/jar/src/org/qtproject/qt/android/positioning/QtPositioning.java
new/qtpositioning-everywhere-src-6.8.0/src/plugins/position/android/jar/src/org/qtproject/qt/android/positioning/QtPositioning.java
---
old/qtpositioning-everywhere-src-6.7.3/src/plugins/position/android/jar/src/org/qtproject/qt/android/positioning/QtPositioning.java
2024-09-19 20:59:08.000000000 +0200
+++
new/qtpositioning-everywhere-src-6.8.0/src/plugins/position/android/jar/src/org/qtproject/qt/android/positioning/QtPositioning.java
2024-10-02 16:25:44.000000000 +0200
@@ -4,6 +4,7 @@
package org.qtproject.qt.android.positioning;
import android.content.Context;
+import android.location.altitude.AltitudeConverter;
import android.location.GpsSatellite;
import android.location.GpsStatus;
import android.location.Location;
@@ -22,7 +23,7 @@
import android.util.Log;
-public class QtPositioning implements LocationListener
+class QtPositioning implements LocationListener
{
private static final String TAG = "qt.positioning.android";
@@ -41,16 +42,16 @@
*/
private int expectedProviders = 0;
- public static final int QT_GPS_PROVIDER = 1;
- public static final int QT_NETWORK_PROVIDER = 2;
+ static final int QT_GPS_PROVIDER = 1;
+ static final int QT_NETWORK_PROVIDER = 2;
/* The following values must match the corresponding error enums in the Qt
API*/
- public static final int QT_ACCESS_ERROR = 0;
- public static final int QT_CLOSED_ERROR = 1;
- public static final int QT_POSITION_UNKNOWN_SOURCE_ERROR = 2;
- public static final int QT_POSITION_NO_ERROR = 3;
- public static final int QT_SATELLITE_NO_ERROR = 2;
- public static final int QT_SATELLITE_UNKNOWN_SOURCE_ERROR = -1;
+ static final int QT_ACCESS_ERROR = 0;
+ static final int QT_CLOSED_ERROR = 1;
+ static final int QT_POSITION_UNKNOWN_SOURCE_ERROR = 2;
+ static final int QT_POSITION_NO_ERROR = 3;
+ static final int QT_SATELLITE_NO_ERROR = 2;
+ static final int QT_SATELLITE_UNKNOWN_SOURCE_ERROR = -1;
/* True, if updates were caused by requestUpdate() */
private boolean isSingleUpdate = false;
@@ -63,14 +64,20 @@
private Location lastNetwork = null;
/* If true this class acts as satellite signal monitor rather than
location monitor */
private boolean isSatelliteUpdate = false;
+ /* Try to convert the altitude to MSL or not */
+ private boolean useAltitudeConverter = false;
private PositioningLooperBase looperThread;
private boolean isLocationProvidersDisabledInvoked = false;
- static public void setContext(Context context)
+ private static Context appContext = null;
+ private static AltitudeConverter altitudeConverter = null;
+
+ static void setContext(Context context)
{
try {
+ appContext = context;
locationManager =
(LocationManager)context.getSystemService(Context.LOCATION_SERVICE);
} catch(Exception e) {
e.printStackTrace();
@@ -102,12 +109,28 @@
return retList;
}
- static public Location lastKnownPosition(boolean fromSatelliteOnly)
+ static private void addMslAltitude(Location location)
+ {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
+ if (altitudeConverter == null)
+ altitudeConverter = new AltitudeConverter();
+ try {
+ altitudeConverter.addMslAltitudeToLocation(appContext,
location);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ static Location lastKnownPosition(boolean fromSatelliteOnly,
+ boolean useAltitudeConverter)
{
Location gps = null;
Location network = null;
try {
gps =
locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
+ if (useAltitudeConverter)
+ addMslAltitude(gps);
} catch (Exception e) {
// This can throw if we only use ACCESS_COARSE_LOCATION. However,
// if we didn't set fromSatelliteOnly to true, that is not an
error.
@@ -118,6 +141,8 @@
if (!fromSatelliteOnly) {
try {
network =
locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
+ if (useAltitudeConverter)
+ addMslAltitude(network);
} catch(Exception e) {
e.printStackTrace();
network = null;
@@ -197,7 +222,8 @@
}
- static public int startUpdates(int androidClassKey, int locationProvider,
int updateInterval)
+ static int startUpdates(int androidClassKey, int locationProvider, int
updateInterval,
+ boolean useAltitudeConverter)
{
synchronized (m_syncObject) {
try {
@@ -207,6 +233,7 @@
positioningListener.nativeClassReference = androidClassKey;
positioningListener.expectedProviders = locationProvider;
positioningListener.isSatelliteUpdate = false;
+ positioningListener.useAltitudeConverter =
useAltitudeConverter;
if (updateInterval == 0)
updateInterval = 50; //don't update more often than once
per 50ms
@@ -258,7 +285,7 @@
}
}
- static public void stopUpdates(int androidClassKey)
+ static void stopUpdates(int androidClassKey)
{
synchronized (m_syncObject) {
try {
@@ -271,7 +298,8 @@
}
}
- static public int requestUpdate(int androidClassKey, int locationProvider,
int timeout)
+ static int requestUpdate(int androidClassKey, int locationProvider, int
timeout,
+ boolean useAltitudeConverter)
{
synchronized (m_syncObject) {
try {
@@ -282,6 +310,7 @@
positioningListener.isSingleUpdate = true;
positioningListener.expectedProviders = locationProvider;
positioningListener.isSatelliteUpdate = false;
+ positioningListener.useAltitudeConverter =
useAltitudeConverter;
if ((locationProvider & QT_GPS_PROVIDER) > 0) {
Log.d(TAG, "Single update using GPS");
@@ -328,7 +357,7 @@
}
}
- static public int startSatelliteUpdates(int androidClassKey, int
updateInterval, boolean isSingleRequest)
+ static int startSatelliteUpdates(int androidClassKey, int updateInterval,
boolean isSingleRequest)
{
synchronized (m_syncObject) {
try {
@@ -374,7 +403,7 @@
}
}
- public QtPositioning()
+ QtPositioning()
{
// Use GpsStatus for API Level <= 23 (version M and below) and
// GnssStatus for other API levels.
@@ -384,7 +413,7 @@
looperThread = new PositioningLooperGnss();
}
- public Looper looper()
+ Looper looper()
{
return looperThread.looper();
}
@@ -429,6 +458,7 @@
looperRunning = false;
}
+ @Override
public void run()
{
Looper.prepare();
@@ -447,24 +477,24 @@
}
}
- public void quitLooper()
+ void quitLooper()
{
if (isSatelliteLooper)
removeSatelliteInfoListener();
looper().quit();
}
- public synchronized boolean isReady()
+ synchronized boolean isReady()
{
return looperRunning;
}
- public void isSatelliteListener(boolean isListener)
+ void isSatelliteListener(boolean isListener)
{
isSatelliteLooper = isListener;
}
- public Looper looper()
+ Looper looper()
{
return posLooper;
}
@@ -501,7 +531,7 @@
ArrayList<GpsSatellite> list = new
ArrayList<GpsSatellite>();
while (it.hasNext()) {
- GpsSatellite sat = (GpsSatellite) it.next();
+ GpsSatellite sat = it.next();
list.add(sat);
}
GpsSatellite[] sats = list.toArray(new
GpsSatellite[list.size()]);
@@ -551,11 +581,11 @@
}
}
- public static native void positionUpdated(Location update, int
androidClassKey, boolean isSingleUpdate);
- public static native void locationProvidersDisabled(int androidClassKey);
- public static native void locationProvidersChanged(int androidClassKey);
- public static native void satelliteGpsUpdated(Object[] update, int
androidClassKey, boolean isSingleUpdate);
- public static native void satelliteGnssUpdated(GnssStatus update, int
androidClassKey, boolean isSingleUpdate);
+ static native void positionUpdated(Location update, int androidClassKey,
boolean isSingleUpdate);
+ static native void locationProvidersDisabled(int androidClassKey);
+ static native void locationProvidersChanged(int androidClassKey);
+ static native void satelliteGpsUpdated(Object[] update, int
androidClassKey, boolean isSingleUpdate);
+ static native void satelliteGnssUpdated(GnssStatus update, int
androidClassKey, boolean isSingleUpdate);
@Override
public void onLocationChanged(Location location) {
@@ -563,6 +593,9 @@
if (location == null)
return;
+ if (useAltitudeConverter)
+ addMslAltitude(location);
+
if (isSatelliteUpdate) //we are a QGeoSatelliteInfoSource -> ignore
return;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/plugins/position/android/src/jnipositioning.cpp
new/qtpositioning-everywhere-src-6.8.0/src/plugins/position/android/src/jnipositioning.cpp
---
old/qtpositioning-everywhere-src-6.7.3/src/plugins/position/android/src/jnipositioning.cpp
2024-09-19 20:59:08.000000000 +0200
+++
new/qtpositioning-everywhere-src-6.8.0/src/plugins/position/android/src/jnipositioning.cpp
2024-10-02 16:25:44.000000000 +0200
@@ -240,6 +240,16 @@
if (!qFuzzyIsNull(value))
coordinate.setAltitude(value);
}
+ // MSL altitude, available in API Level 34+.
+ // It will be available only if we requested it when starting updates.
+ if (QNativeInterface::QAndroidApplication::sdkVersion() >= 34) {
+ attributeExists = jniObject.callMethod<jboolean>("hasMslAltitude");
+ if (attributeExists) {
+ const jdouble value =
jniObject.callMethod<jdouble>("getMslAltitudeMeters");
+ if (!qFuzzyIsNull(value))
+ coordinate.setAltitude(value);
+ }
+ }
info.setCoordinate(coordinate);
@@ -420,7 +430,8 @@
return sats;
}
- QGeoPositionInfo lastKnownPosition(bool
fromSatellitePositioningMethodsOnly)
+ QGeoPositionInfo lastKnownPosition(bool
fromSatellitePositioningMethodsOnly,
+ bool useAltitudeConverter)
{
QJniEnvironment env;
if (!env.jniEnv())
@@ -434,7 +445,8 @@
return {};
QJniObject locationObj = QJniObject::callStaticMethod<jobject>(
- positioningClass(), lastKnownPositionMethodId,
fromSatellitePositioningMethodsOnly);
+ positioningClass(), lastKnownPositionMethodId,
fromSatellitePositioningMethodsOnly,
+ useAltitudeConverter);
jobject location = locationObj.object();
if (location == nullptr)
return QGeoPositionInfo();
@@ -483,7 +495,7 @@
int errorCode = QJniObject::callStaticMethod<jint>(
positioningClass(), startUpdatesMethodId, androidClassKey,
positioningMethodToInt(preferredMethods),
- source->updateInterval());
+ source->updateInterval(), source->useAltitudeConverter());
switch (errorCode) {
case 0:
case 1:
@@ -522,7 +534,7 @@
int errorCode = QJniObject::callStaticMethod<jint>(
positioningClass(), requestUpdateMethodId, androidClassKey,
positioningMethodToInt(preferredMethods),
- timeout);
+ timeout, source->useAltitudeConverter());
switch (errorCode) {
case 0:
case 1:
@@ -728,10 +740,12 @@
GET_AND_CHECK_STATIC_METHOD(providerListMethodId, "providerList",
jintArray);
GET_AND_CHECK_STATIC_METHOD(lastKnownPositionMethodId, "lastKnownPosition",
- QtJniTypes::Location, bool);
- GET_AND_CHECK_STATIC_METHOD(startUpdatesMethodId, "startUpdates", jint,
jint, jint, jint);
+ QtJniTypes::Location, bool, bool);
+ GET_AND_CHECK_STATIC_METHOD(startUpdatesMethodId, "startUpdates", jint,
jint, jint, jint,
+ bool);
GET_AND_CHECK_STATIC_METHOD(stopUpdatesMethodId, "stopUpdates", void,
jint);
- GET_AND_CHECK_STATIC_METHOD(requestUpdateMethodId, "requestUpdate", jint,
jint, jint, jint);
+ GET_AND_CHECK_STATIC_METHOD(requestUpdateMethodId, "requestUpdate", jint,
jint, jint, jint,
+ bool);
GET_AND_CHECK_STATIC_METHOD(startSatelliteUpdatesMethodId,
"startSatelliteUpdates",
jint, jint, jint, bool);
@@ -747,6 +761,9 @@
__android_log_print(ANDROID_LOG_INFO, logTag, "Positioning start");
+ const auto context = QNativeInterface::QAndroidApplication::context();
+ QtJniTypes::QtPositioning::callStaticMethod<void>("setContext", context);
+
if (!registerNatives()) {
__android_log_print(ANDROID_LOG_FATAL, logTag, "registerNatives()
failed");
return -1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/plugins/position/android/src/jnipositioning.h
new/qtpositioning-everywhere-src-6.8.0/src/plugins/position/android/src/jnipositioning.h
---
old/qtpositioning-everywhere-src-6.7.3/src/plugins/position/android/src/jnipositioning.h
2024-09-19 20:59:08.000000000 +0200
+++
new/qtpositioning-everywhere-src-6.8.0/src/plugins/position/android/src/jnipositioning.h
2024-10-02 16:25:44.000000000 +0200
@@ -13,7 +13,8 @@
void unregisterPositionInfoSource(int key);
QGeoPositionInfoSource::PositioningMethods availableProviders();
- QGeoPositionInfo lastKnownPosition(bool
fromSatellitePositioningMethodsOnly);
+ QGeoPositionInfo lastKnownPosition(bool
fromSatellitePositioningMethodsOnly,
+ bool useAltitudeConverter);
QGeoPositionInfoSource::Error startUpdates(int androidClassKey);
void stopUpdates(int androidClassKey);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/plugins/position/android/src/positionfactory_android.cpp
new/qtpositioning-everywhere-src-6.8.0/src/plugins/position/android/src/positionfactory_android.cpp
---
old/qtpositioning-everywhere-src-6.7.3/src/plugins/position/android/src/positionfactory_android.cpp
2024-09-19 20:59:08.000000000 +0200
+++
new/qtpositioning-everywhere-src-6.8.0/src/plugins/position/android/src/positionfactory_android.cpp
2024-10-02 16:25:44.000000000 +0200
@@ -7,8 +7,7 @@
QGeoPositionInfoSource
*QGeoPositionInfoSourceFactoryAndroid::positionInfoSource(QObject *parent,
const QVariantMap ¶meters)
{
- Q_UNUSED(parameters)
- QGeoPositionInfoSourceAndroid *src = new
QGeoPositionInfoSourceAndroid(parent);
+ QGeoPositionInfoSourceAndroid *src = new
QGeoPositionInfoSourceAndroid(parameters, parent);
return src;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/plugins/position/android/src/qgeopositioninfosource_android.cpp
new/qtpositioning-everywhere-src-6.8.0/src/plugins/position/android/src/qgeopositioninfosource_android.cpp
---
old/qtpositioning-everywhere-src-6.7.3/src/plugins/position/android/src/qgeopositioninfosource_android.cpp
2024-09-19 20:59:08.000000000 +0200
+++
new/qtpositioning-everywhere-src-6.8.0/src/plugins/position/android/src/qgeopositioninfosource_android.cpp
2024-10-02 16:25:44.000000000 +0200
@@ -4,16 +4,24 @@
#include "qgeopositioninfosource_android_p.h"
#include "jnipositioning.h"
#include <QGeoPositionInfo>
+#include <QVariantMap>
+
+using namespace Qt::StringLiterals;
static constexpr int kUpdateFromColdStart = 2 * 60 * 1000;
static constexpr int kRegularUpdatesTimerInterval = 30 * 1000;
-QGeoPositionInfoSourceAndroid::QGeoPositionInfoSourceAndroid(QObject *parent) :
+static constexpr auto kUseAltitudeConverter = "useMslAltitude"_L1;
+
+QGeoPositionInfoSourceAndroid::QGeoPositionInfoSourceAndroid(const QVariantMap
¶meters,
+ QObject *parent) :
QGeoPositionInfoSource(parent)
{
androidClassKeyForUpdate =
AndroidPositioning::registerPositionInfoSource(this);
androidClassKeyForSingleRequest =
AndroidPositioning::registerPositionInfoSource(this);
+ parseParameters(parameters);
+
//by default use all methods
setPreferredPositioningMethods(AllPositioningMethods);
@@ -55,7 +63,8 @@
QGeoPositionInfo QGeoPositionInfoSourceAndroid::lastKnownPosition(bool
fromSatellitePositioningMethodsOnly) const
{
- return
AndroidPositioning::lastKnownPosition(fromSatellitePositioningMethodsOnly);
+ return
AndroidPositioning::lastKnownPosition(fromSatellitePositioningMethodsOnly,
+ useAltitudeConverter());
}
QGeoPositionInfoSource::PositioningMethods
QGeoPositionInfoSourceAndroid::supportedPositioningMethods() const
@@ -84,6 +93,11 @@
return m_error;
}
+bool QGeoPositionInfoSourceAndroid::useAltitudeConverter() const
+{
+ return m_useAltitudeConverter;
+}
+
void QGeoPositionInfoSourceAndroid::setError(Error error)
{
m_error = error;
@@ -91,6 +105,11 @@
emit QGeoPositionInfoSource::errorOccurred(m_error);
}
+void QGeoPositionInfoSourceAndroid::parseParameters(const QVariantMap
¶meters)
+{
+ m_useAltitudeConverter = parameters.value(kUseAltitudeConverter,
false).toBool();
+}
+
void QGeoPositionInfoSourceAndroid::startUpdates()
{
if (updatesRunning)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/plugins/position/android/src/qgeopositioninfosource_android_p.h
new/qtpositioning-everywhere-src-6.8.0/src/plugins/position/android/src/qgeopositioninfosource_android_p.h
---
old/qtpositioning-everywhere-src-6.7.3/src/plugins/position/android/src/qgeopositioninfosource_android_p.h
2024-09-19 20:59:08.000000000 +0200
+++
new/qtpositioning-everywhere-src-6.8.0/src/plugins/position/android/src/qgeopositioninfosource_android_p.h
2024-10-02 16:25:44.000000000 +0200
@@ -22,7 +22,7 @@
{
Q_OBJECT
public:
- QGeoPositionInfoSourceAndroid(QObject *parent = 0);
+ QGeoPositionInfoSourceAndroid(const QVariantMap ¶meters, QObject
*parent = 0);
~QGeoPositionInfoSourceAndroid();
// From QGeoPositionInfoSource
@@ -33,6 +33,8 @@
int minimumUpdateInterval() const override;
Error error() const override;
+ bool useAltitudeConverter() const;
+
public Q_SLOTS:
virtual void startUpdates() override;
virtual void stopUpdates() override;
@@ -51,6 +53,7 @@
private:
void reconfigureRunningSystem();
void setError(Error error);
+ void parseParameters(const QVariantMap ¶meters);
bool updatesRunning = false;
int androidClassKeyForUpdate;
@@ -61,6 +64,7 @@
QTimer m_regularUpdatesTimer;
qint64 m_lastUpdateTime = 0;
bool m_regularUpdatesErrorRaised = false;
+ bool m_useAltitudeConverter = false;
};
#endif // QGEOPOSITIONINFOSOURCE_ANDROID_P_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/positioning/CMakeLists.txt
new/qtpositioning-everywhere-src-6.8.0/src/positioning/CMakeLists.txt
--- old/qtpositioning-everywhere-src-6.7.3/src/positioning/CMakeLists.txt
2024-09-19 20:59:08.000000000 +0200
+++ new/qtpositioning-everywhere-src-6.8.0/src/positioning/CMakeLists.txt
2024-10-02 16:25:44.000000000 +0200
@@ -45,15 +45,13 @@
Qt::Core
PRIVATE_MODULE_INTERFACE
Qt::CorePrivate
- GENERATE_CPP_EXPORTS
- GENERATE_PRIVATE_CPP_EXPORTS
DEFINES
QT_NO_CONTEXTLESS_CONNECT
)
if(ANDROID)
set_property(TARGET Positioning APPEND PROPERTY
QT_ANDROID_BUNDLED_JAR_DEPENDENCIES
-
jar/Qt${QtLocation_VERSION_MAJOR}AndroidPositioning.jar:org.qtproject.qt.android.positioning.QtPositioning
# special case
+ jar/Qt${QtLocation_VERSION_MAJOR}AndroidPositioning.jar
)
set_property(TARGET Positioning APPEND PROPERTY QT_ANDROID_LIB_DEPENDENCIES
${INSTALL_PLUGINSDIR}/position/libplugins_position_qtposition_android.so
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/positioning/doc/src/plugins/android.qdoc
new/qtpositioning-everywhere-src-6.8.0/src/positioning/doc/src/plugins/android.qdoc
---
old/qtpositioning-everywhere-src-6.7.3/src/positioning/doc/src/plugins/android.qdoc
1970-01-01 01:00:00.000000000 +0100
+++
new/qtpositioning-everywhere-src-6.8.0/src/positioning/doc/src/plugins/android.qdoc
2024-10-02 16:25:44.000000000 +0200
@@ -0,0 +1,99 @@
+// Copyright (C) 2024 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR
GFDL-1.3-no-invariants-only
+
+/*!
+
+\page position-plugin-android.html
+\title Qt Positioning Android plugin
+\ingroup QtPositioning-plugins
+
+\brief Wraps Android positioning subsystem.
+
+\section1 Overview
+
+The Qt Positioning Android plugin wraps native Android APIs and provides
+access to positioning and satellite information.
+
+The plugin can be loaded by using the provider name \b android.
+
+\section1 Parameters
+
+The following table lists parameters that \e can be passed to the Android
+plugin.
+
+\table
+\header
+ \li Parameter
+ \li Description
+\row
+ \li useMslAltitude
+ \li The parameter is introduced in Qt 6.8. It determines if the plugin will
+ try to provide an altitude above Mean Sea Level (MSL). The default
value
+ is \c false, which means that it provides the altitude in WGS84 format.
+ This parameter is only relevant for Android 14 and later. See
+ \l {Altitude Conversion} section for more details.
+\endtable
+
+\section2 Altitude conversion
+
+Android traditionally provides altitude above the World Geodetic System 1984
+(WGS84) reference ellipsoid. However, starting from Android 14, a new
+\l
{https://developer.android.com/reference/android/location/altitude/AltitudeConverter}
+{AltitudeConverter} class was introduced. This class allows to convert the
+WGS84 altitude into \e {altitude above Mean Sea Level (MSL)} format.
+
+If the \c {useMslAltitude} plugin parameter is set to \c {true}, and the
+application is running on \b {Android 14} or later, the
+\l QGeoCoordinate::altitude component of \l QGeoPositionInfo objects retrieved
+during position updates will contain the MSL altitude.
+
+\note According to the Android
+\l
{https://developer.android.com/reference/android/location/altitude/AltitudeConverter#addMslAltitudeToLocation(android.content.Context,%20android.location.Location)}
+{documentation}, the conversion to the MSL altitude \e may take several
seconds.
+It means that \l {QGeoPositionInfoSource::}{lastKnownPosition()} requests \e
may
+execute longer when this feature is enabled, because the method is synchronous.
+Other position update requests are not affected.
+
+\section1 Examples
+
+The following examples show how to create an \b android \l PositionSource from
+C++ and QML.
+
+\section2 QML
+
+The following snippet creates a \l PositionSource with no parameters. The
+altitude will be reported in WGS84 format.
+
+\qml
+PositionSource {
+ name: "android"
+}
+\endqml
+
+The next snippet explicitly adds the \c {useMslAltitude} \l PluginParameter
+and sets its value to \c true. This \l PositionSource will report the altitude
+in MSL format.
+
+\qml
+PositionSource {
+ name: "android"
+ PluginParameter {
+ name: "useMslAltitude"
+ value: true
+ }
+}
+\endqml
+
+\section2 C++
+
+The following snippet shows how to use C++ to create a
+\l {QGeoPositionInfoSource}{position source} which reports the altitude in MSL
+format.
+
+\code
+QVariantMap params;
+params["useMslAltitude"] = true;
+QGeoPositionInfoSource *positionSource =
QGeoPositionInfoSource::createSource("android", params, this);
+\endcode
+
+*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/positioning/doc/src/qtpositioning-plugins.qdoc
new/qtpositioning-everywhere-src-6.8.0/src/positioning/doc/src/qtpositioning-plugins.qdoc
---
old/qtpositioning-everywhere-src-6.7.3/src/positioning/doc/src/qtpositioning-plugins.qdoc
2024-09-19 20:59:08.000000000 +0200
+++
new/qtpositioning-everywhere-src-6.8.0/src/positioning/doc/src/qtpositioning-plugins.qdoc
2024-10-02 16:25:44.000000000 +0200
@@ -15,7 +15,8 @@
\table
\row
\li \b android
- \li Wraps Android positioning subsystem. Available only on Android.
+ \li Wraps \l {Qt Positioning Android plugin}{Android} positioning
subsystem.
+ Available only on Android.
\row
\li \b corelocation
\li Wraps iOS and macOS positioning subsystems. Available only on
Apple platforms supporting corelocation.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/positioning/qclipperutils_p.h
new/qtpositioning-everywhere-src-6.8.0/src/positioning/qclipperutils_p.h
--- old/qtpositioning-everywhere-src-6.7.3/src/positioning/qclipperutils_p.h
2024-09-19 20:59:08.000000000 +0200
+++ new/qtpositioning-everywhere-src-6.8.0/src/positioning/qclipperutils_p.h
2024-10-02 16:25:44.000000000 +0200
@@ -36,7 +36,7 @@
*/
class QClipperUtilsPrivate;
-class Q_POSITIONING_PRIVATE_EXPORT QClipperUtils
+class Q_POSITIONING_EXPORT QClipperUtils
{
public:
QClipperUtils();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/positioning/qdoublematrix4x4_p.h
new/qtpositioning-everywhere-src-6.8.0/src/positioning/qdoublematrix4x4_p.h
--- old/qtpositioning-everywhere-src-6.7.3/src/positioning/qdoublematrix4x4_p.h
2024-09-19 20:59:08.000000000 +0200
+++ new/qtpositioning-everywhere-src-6.8.0/src/positioning/qdoublematrix4x4_p.h
2024-10-02 16:25:44.000000000 +0200
@@ -29,7 +29,7 @@
* Some methods have been removed.
*/
-class Q_POSITIONING_PRIVATE_EXPORT QDoubleMatrix4x4
+class Q_POSITIONING_EXPORT QDoubleMatrix4x4
{
public:
inline QDoubleMatrix4x4() { setToIdentity(); }
@@ -78,7 +78,7 @@
friend QPointF operator*(const QDoubleMatrix4x4& matrix, const QPointF&
point);
friend QDoubleMatrix4x4 operator*(double factor, const QDoubleMatrix4x4&
matrix);
friend QDoubleMatrix4x4 operator*(const QDoubleMatrix4x4& matrix, double
factor);
- friend Q_POSITIONING_PRIVATE_EXPORT QDoubleMatrix4x4 operator/(const
QDoubleMatrix4x4& matrix, double divisor);
+ friend Q_POSITIONING_EXPORT QDoubleMatrix4x4 operator/(const
QDoubleMatrix4x4& matrix, double divisor);
friend inline bool qFuzzyCompare(const QDoubleMatrix4x4& m1, const
QDoubleMatrix4x4& m2);
@@ -124,7 +124,7 @@
void optimize();
#ifndef QT_NO_DEBUG_STREAM
- friend Q_POSITIONING_PRIVATE_EXPORT QDebug operator<<(QDebug dbg, const
QDoubleMatrix4x4 &m);
+ friend Q_POSITIONING_EXPORT QDebug operator<<(QDebug dbg, const
QDoubleMatrix4x4 &m);
#endif
private:
@@ -179,7 +179,7 @@
return m[aColumn][aRow];
}
-Q_POSITIONING_PRIVATE_EXPORT QDoubleMatrix4x4 operator/(const
QDoubleMatrix4x4& matrix, double divisor);
+Q_POSITIONING_EXPORT QDoubleMatrix4x4 operator/(const QDoubleMatrix4x4&
matrix, double divisor);
inline bool QDoubleMatrix4x4::isAffine() const
{
@@ -896,12 +896,12 @@
}
#ifndef QT_NO_DEBUG_STREAM
-Q_POSITIONING_PRIVATE_EXPORT QDebug operator<<(QDebug dbg, const
QDoubleMatrix4x4 &m);
+Q_POSITIONING_EXPORT QDebug operator<<(QDebug dbg, const QDoubleMatrix4x4 &m);
#endif
#ifndef QT_NO_DATASTREAM
-Q_POSITIONING_PRIVATE_EXPORT QDataStream &operator<<(QDataStream &, const
QDoubleMatrix4x4 &);
-Q_POSITIONING_PRIVATE_EXPORT QDataStream &operator>>(QDataStream &,
QDoubleMatrix4x4 &);
+Q_POSITIONING_EXPORT QDataStream &operator<<(QDataStream &, const
QDoubleMatrix4x4 &);
+Q_POSITIONING_EXPORT QDataStream &operator>>(QDataStream &, QDoubleMatrix4x4
&);
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/positioning/qdoublevector2d_p.h
new/qtpositioning-everywhere-src-6.8.0/src/positioning/qdoublevector2d_p.h
--- old/qtpositioning-everywhere-src-6.7.3/src/positioning/qdoublevector2d_p.h
2024-09-19 20:59:08.000000000 +0200
+++ new/qtpositioning-everywhere-src-6.8.0/src/positioning/qdoublevector2d_p.h
2024-10-02 16:25:44.000000000 +0200
@@ -27,7 +27,7 @@
class QDoubleVector3D;
-class Q_POSITIONING_PRIVATE_EXPORT QDoubleVector2D
+class Q_POSITIONING_EXPORT QDoubleVector2D
{
public:
Q_DECL_CONSTEXPR inline QDoubleVector2D();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/positioning/qdoublevector3d_p.h
new/qtpositioning-everywhere-src-6.8.0/src/positioning/qdoublevector3d_p.h
--- old/qtpositioning-everywhere-src-6.7.3/src/positioning/qdoublevector3d_p.h
2024-09-19 20:59:08.000000000 +0200
+++ new/qtpositioning-everywhere-src-6.8.0/src/positioning/qdoublevector3d_p.h
2024-10-02 16:25:44.000000000 +0200
@@ -25,7 +25,7 @@
QT_BEGIN_NAMESPACE
-class Q_POSITIONING_PRIVATE_EXPORT QDoubleVector3D
+class Q_POSITIONING_EXPORT QDoubleVector3D
{
public:
Q_DECL_CONSTEXPR inline QDoubleVector3D();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/positioning/qgeocoordinateobject_p.h
new/qtpositioning-everywhere-src-6.8.0/src/positioning/qgeocoordinateobject_p.h
---
old/qtpositioning-everywhere-src-6.7.3/src/positioning/qgeocoordinateobject_p.h
2024-09-19 20:59:08.000000000 +0200
+++
new/qtpositioning-everywhere-src-6.8.0/src/positioning/qgeocoordinateobject_p.h
2024-10-02 16:25:44.000000000 +0200
@@ -23,7 +23,7 @@
QT_BEGIN_NAMESPACE
-class Q_POSITIONING_PRIVATE_EXPORT QGeoCoordinateObject : public QObject
+class Q_POSITIONING_EXPORT QGeoCoordinateObject : public QObject
{
Q_OBJECT
Q_PROPERTY(QGeoCoordinate coordinate READ coordinate WRITE setCoordinate
NOTIFY
@@ -58,6 +58,6 @@
QT_END_NAMESPACE
QT_DECL_METATYPE_EXTERN_TAGGED(QGeoCoordinateObject*, QGeoCoordinateObject_ptr,
- Q_POSITIONING_PRIVATE_EXPORT)
+ Q_POSITIONING_EXPORT)
#endif // QGEOCOORDINATEOBJECT_P_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/positioning/qgeopath_p.h
new/qtpositioning-everywhere-src-6.8.0/src/positioning/qgeopath_p.h
--- old/qtpositioning-everywhere-src-6.7.3/src/positioning/qgeopath_p.h
2024-09-19 20:59:08.000000000 +0200
+++ new/qtpositioning-everywhere-src-6.8.0/src/positioning/qgeopath_p.h
2024-10-02 16:25:44.000000000 +0200
@@ -133,7 +133,7 @@
}
// Lazy by default. Eager, within the module, used only in
MapItems/MapObjectsQSG
-class Q_POSITIONING_PRIVATE_EXPORT QGeoPathPrivate : public QGeoShapePrivate
+class Q_POSITIONING_EXPORT QGeoPathPrivate : public QGeoShapePrivate
{
public:
QGeoPathPrivate();
@@ -179,7 +179,7 @@
bool m_bboxDirty = false;
};
-class Q_POSITIONING_PRIVATE_EXPORT QGeoPathPrivateEager : public
QGeoPathPrivate
+class Q_POSITIONING_EXPORT QGeoPathPrivateEager : public QGeoPathPrivate
{
public:
QGeoPathPrivateEager();
@@ -207,7 +207,7 @@
};
// This is a mean of creating a QGeoPathPrivateEager and injecting it into
QGeoPaths via operator=
-class Q_POSITIONING_PRIVATE_EXPORT QGeoPathEager : public QGeoPath
+class Q_POSITIONING_EXPORT QGeoPathEager : public QGeoPath
{
Q_GADGET
public:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/positioning/qgeopolygon_p.h
new/qtpositioning-everywhere-src-6.8.0/src/positioning/qgeopolygon_p.h
--- old/qtpositioning-everywhere-src-6.7.3/src/positioning/qgeopolygon_p.h
2024-09-19 20:59:08.000000000 +0200
+++ new/qtpositioning-everywhere-src-6.8.0/src/positioning/qgeopolygon_p.h
2024-10-02 16:25:44.000000000 +0200
@@ -21,7 +21,7 @@
QT_BEGIN_NAMESPACE
-class Q_POSITIONING_PRIVATE_EXPORT QGeoPolygonPrivate : public QGeoPathPrivate
+class Q_POSITIONING_EXPORT QGeoPolygonPrivate : public QGeoPathPrivate
{
public:
QGeoPolygonPrivate();
@@ -54,7 +54,7 @@
QClipperUtils m_clipperWrapper;
};
-class Q_POSITIONING_PRIVATE_EXPORT QGeoPolygonPrivateEager : public
QGeoPolygonPrivate
+class Q_POSITIONING_EXPORT QGeoPolygonPrivateEager : public QGeoPolygonPrivate
{
public:
QGeoPolygonPrivateEager();
@@ -84,7 +84,7 @@
};
// This is a mean of creating a QGeoPolygonPrivateEager and injecting it into
QGeoPolygons via operator=
-class Q_POSITIONING_PRIVATE_EXPORT QGeoPolygonEager : public QGeoPolygon
+class Q_POSITIONING_EXPORT QGeoPolygonEager : public QGeoPolygon
{
Q_GADGET
public:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/positioning/qlocationutils_p.h
new/qtpositioning-everywhere-src-6.8.0/src/positioning/qlocationutils_p.h
--- old/qtpositioning-everywhere-src-6.7.3/src/positioning/qlocationutils_p.h
2024-09-19 20:59:08.000000000 +0200
+++ new/qtpositioning-everywhere-src-6.8.0/src/positioning/qlocationutils_p.h
2024-10-02 16:25:44.000000000 +0200
@@ -31,7 +31,7 @@
class QGeoPositionInfo;
class QGeoSatelliteInfo;
-class Q_POSITIONING_PRIVATE_EXPORT QLocationUtils
+class Q_POSITIONING_EXPORT QLocationUtils
{
public:
enum CardinalDirection {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/positioning/qpositioningglobal_p.h
new/qtpositioning-everywhere-src-6.8.0/src/positioning/qpositioningglobal_p.h
---
old/qtpositioning-everywhere-src-6.7.3/src/positioning/qpositioningglobal_p.h
2024-09-19 20:59:08.000000000 +0200
+++
new/qtpositioning-everywhere-src-6.8.0/src/positioning/qpositioningglobal_p.h
2024-10-02 16:25:44.000000000 +0200
@@ -15,7 +15,6 @@
//
#include "qpositioningglobal.h"
-#include <QtPositioning/private/qtpositioningexports_p.h>
#endif // QPOSITIONINGGLOBAL_P_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/positioning/qwebmercator_p.h
new/qtpositioning-everywhere-src-6.8.0/src/positioning/qwebmercator_p.h
--- old/qtpositioning-everywhere-src-6.7.3/src/positioning/qwebmercator_p.h
2024-09-19 20:59:08.000000000 +0200
+++ new/qtpositioning-everywhere-src-6.8.0/src/positioning/qwebmercator_p.h
2024-10-02 16:25:44.000000000 +0200
@@ -23,7 +23,7 @@
class QGeoCoordinate;
class QDoubleVector2D;
-class Q_POSITIONING_PRIVATE_EXPORT QWebMercator
+class Q_POSITIONING_EXPORT QWebMercator
{
public:
static QDoubleVector2D coordToMercator(const QGeoCoordinate &coord);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/positioningquick/CMakeLists.txt
new/qtpositioning-everywhere-src-6.8.0/src/positioningquick/CMakeLists.txt
--- old/qtpositioning-everywhere-src-6.7.3/src/positioningquick/CMakeLists.txt
2024-09-19 20:59:08.000000000 +0200
+++ new/qtpositioning-everywhere-src-6.8.0/src/positioningquick/CMakeLists.txt
2024-10-02 16:25:44.000000000 +0200
@@ -40,8 +40,6 @@
PRIVATE_MODULE_INTERFACE
Qt::PositioningPrivate
Qt::QuickPrivate
- GENERATE_CPP_EXPORTS
- GENERATE_PRIVATE_CPP_EXPORTS
)
qt_internal_extend_target(positioningquickplugin
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/positioningquick/locationsingleton_p.h
new/qtpositioning-everywhere-src-6.8.0/src/positioningquick/locationsingleton_p.h
---
old/qtpositioning-everywhere-src-6.7.3/src/positioningquick/locationsingleton_p.h
2024-09-19 20:59:08.000000000 +0200
+++
new/qtpositioning-everywhere-src-6.8.0/src/positioningquick/locationsingleton_p.h
2024-10-02 16:25:44.000000000 +0200
@@ -31,7 +31,7 @@
QT_BEGIN_NAMESPACE
-class Q_POSITIONINGQUICK_PRIVATE_EXPORT LocationSingleton : public QObject
+class Q_POSITIONINGQUICK_EXPORT LocationSingleton : public QObject
{
Q_OBJECT
QML_NAMED_ELEMENT(QtPositioning)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/positioningquick/qdeclarativegeoaddress_p.h
new/qtpositioning-everywhere-src-6.8.0/src/positioningquick/qdeclarativegeoaddress_p.h
---
old/qtpositioning-everywhere-src-6.7.3/src/positioningquick/qdeclarativegeoaddress_p.h
2024-09-19 20:59:08.000000000 +0200
+++
new/qtpositioning-everywhere-src-6.8.0/src/positioningquick/qdeclarativegeoaddress_p.h
2024-10-02 16:25:44.000000000 +0200
@@ -22,7 +22,7 @@
QT_BEGIN_NAMESPACE
-class Q_POSITIONINGQUICK_PRIVATE_EXPORT QDeclarativeGeoAddress : public QObject
+class Q_POSITIONINGQUICK_EXPORT QDeclarativeGeoAddress : public QObject
{
Q_OBJECT
QML_NAMED_ELEMENT(Address)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/positioningquick/qdeclarativegeolocation_p.h
new/qtpositioning-everywhere-src-6.8.0/src/positioningquick/qdeclarativegeolocation_p.h
---
old/qtpositioning-everywhere-src-6.7.3/src/positioningquick/qdeclarativegeolocation_p.h
2024-09-19 20:59:08.000000000 +0200
+++
new/qtpositioning-everywhere-src-6.8.0/src/positioningquick/qdeclarativegeolocation_p.h
2024-10-02 16:25:44.000000000 +0200
@@ -25,7 +25,7 @@
QT_BEGIN_NAMESPACE
-class Q_POSITIONINGQUICK_PRIVATE_EXPORT QDeclarativeGeoLocation : public
QObject
+class Q_POSITIONINGQUICK_EXPORT QDeclarativeGeoLocation : public QObject
{
Q_OBJECT
QML_NAMED_ELEMENT(Location)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/positioningquick/qdeclarativepluginparameter_p.h
new/qtpositioning-everywhere-src-6.8.0/src/positioningquick/qdeclarativepluginparameter_p.h
---
old/qtpositioning-everywhere-src-6.7.3/src/positioningquick/qdeclarativepluginparameter_p.h
2024-09-19 20:59:08.000000000 +0200
+++
new/qtpositioning-everywhere-src-6.8.0/src/positioningquick/qdeclarativepluginparameter_p.h
2024-10-02 16:25:44.000000000 +0200
@@ -24,7 +24,7 @@
QT_BEGIN_NAMESPACE
-class Q_POSITIONINGQUICK_PRIVATE_EXPORT QDeclarativePluginParameter : public
QObject
+class Q_POSITIONINGQUICK_EXPORT QDeclarativePluginParameter : public QObject
{
Q_OBJECT
QML_NAMED_ELEMENT(PluginParameter)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/positioningquick/qdeclarativeposition.cpp
new/qtpositioning-everywhere-src-6.8.0/src/positioningquick/qdeclarativeposition.cpp
---
old/qtpositioning-everywhere-src-6.7.3/src/positioningquick/qdeclarativeposition.cpp
2024-09-19 20:59:08.000000000 +0200
+++
new/qtpositioning-everywhere-src-6.8.0/src/positioningquick/qdeclarativeposition.cpp
2024-10-02 16:25:44.000000000 +0200
@@ -12,7 +12,7 @@
/*!
\qmltype Position
- //! \instantiates QDeclarativePosition
+ //! \nativetype QDeclarativePosition
\inqmlmodule QtPositioning
\since 5.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/positioningquick/qdeclarativeposition_p.h
new/qtpositioning-everywhere-src-6.8.0/src/positioningquick/qdeclarativeposition_p.h
---
old/qtpositioning-everywhere-src-6.7.3/src/positioningquick/qdeclarativeposition_p.h
2024-09-19 20:59:08.000000000 +0200
+++
new/qtpositioning-everywhere-src-6.8.0/src/positioningquick/qdeclarativeposition_p.h
2024-10-02 16:25:44.000000000 +0200
@@ -25,7 +25,7 @@
QT_BEGIN_NAMESPACE
-class Q_POSITIONINGQUICK_PRIVATE_EXPORT QDeclarativePosition : public QObject
+class Q_POSITIONINGQUICK_EXPORT QDeclarativePosition : public QObject
{
Q_OBJECT
QML_NAMED_ELEMENT(Position)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/positioningquick/qdeclarativepositionsource.cpp
new/qtpositioning-everywhere-src-6.8.0/src/positioningquick/qdeclarativepositionsource.cpp
---
old/qtpositioning-everywhere-src-6.7.3/src/positioningquick/qdeclarativepositionsource.cpp
2024-09-19 20:59:08.000000000 +0200
+++
new/qtpositioning-everywhere-src-6.8.0/src/positioningquick/qdeclarativepositionsource.cpp
2024-10-02 16:25:44.000000000 +0200
@@ -16,7 +16,7 @@
/*!
\qmltype PositionSource
- //! \instantiates QDeclarativePositionSource
+ //! \nativetype QDeclarativePositionSource
\inqmlmodule QtPositioning
\since 5.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/positioningquick/qdeclarativepositionsource_p.h
new/qtpositioning-everywhere-src-6.8.0/src/positioningquick/qdeclarativepositionsource_p.h
---
old/qtpositioning-everywhere-src-6.7.3/src/positioningquick/qdeclarativepositionsource_p.h
2024-09-19 20:59:08.000000000 +0200
+++
new/qtpositioning-everywhere-src-6.8.0/src/positioningquick/qdeclarativepositionsource_p.h
2024-10-02 16:25:44.000000000 +0200
@@ -29,7 +29,7 @@
class QFile;
class QTcpSocket;
-class Q_POSITIONINGQUICK_PRIVATE_EXPORT QDeclarativePositionSource : public
QObject, public QQmlParserStatus
+class Q_POSITIONINGQUICK_EXPORT QDeclarativePositionSource : public QObject,
public QQmlParserStatus
{
Q_OBJECT
QML_NAMED_ELEMENT(PositionSource)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/positioningquick/qdeclarativesatellitesource_p.h
new/qtpositioning-everywhere-src-6.8.0/src/positioningquick/qdeclarativesatellitesource_p.h
---
old/qtpositioning-everywhere-src-6.7.3/src/positioningquick/qdeclarativesatellitesource_p.h
2024-09-19 20:59:08.000000000 +0200
+++
new/qtpositioning-everywhere-src-6.8.0/src/positioningquick/qdeclarativesatellitesource_p.h
2024-10-02 16:25:44.000000000 +0200
@@ -27,7 +27,7 @@
QT_BEGIN_NAMESPACE
-class Q_POSITIONINGQUICK_PRIVATE_EXPORT QDeclarativeSatelliteSource : public
QObject, public QQmlParserStatus
+class Q_POSITIONINGQUICK_EXPORT QDeclarativeSatelliteSource : public QObject,
public QQmlParserStatus
{
Q_OBJECT
QML_NAMED_ELEMENT(SatelliteSource)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/positioningquick/qpositioningquickglobal_p.h
new/qtpositioning-everywhere-src-6.8.0/src/positioningquick/qpositioningquickglobal_p.h
---
old/qtpositioning-everywhere-src-6.7.3/src/positioningquick/qpositioningquickglobal_p.h
2024-09-19 20:59:08.000000000 +0200
+++
new/qtpositioning-everywhere-src-6.8.0/src/positioningquick/qpositioningquickglobal_p.h
2024-10-02 16:25:44.000000000 +0200
@@ -15,11 +15,10 @@
//
#include "qpositioningquickglobal.h"
-#include <QtPositioningQuick/private/qtpositioningquickexports_p.h>
QT_BEGIN_NAMESPACE
-void Q_POSITIONINGQUICK_PRIVATE_EXPORT qml_register_types_QtPositioning();
+void Q_POSITIONINGQUICK_EXPORT qml_register_types_QtPositioning();
QT_END_NAMESPACE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/src/positioningquick/qquickgeocoordinateanimation_p.h
new/qtpositioning-everywhere-src-6.8.0/src/positioningquick/qquickgeocoordinateanimation_p.h
---
old/qtpositioning-everywhere-src-6.7.3/src/positioningquick/qquickgeocoordinateanimation_p.h
2024-09-19 20:59:08.000000000 +0200
+++
new/qtpositioning-everywhere-src-6.8.0/src/positioningquick/qquickgeocoordinateanimation_p.h
2024-10-02 16:25:44.000000000 +0200
@@ -23,7 +23,7 @@
class QQuickGeoCoordinateAnimationPrivate;
-class Q_POSITIONINGQUICK_PRIVATE_EXPORT QQuickGeoCoordinateAnimation : public
QQuickPropertyAnimation
+class Q_POSITIONINGQUICK_EXPORT QQuickGeoCoordinateAnimation : public
QQuickPropertyAnimation
{
Q_OBJECT
QML_NAMED_ELEMENT(CoordinateAnimation)
@@ -59,7 +59,7 @@
void directionChanged();
};
-QVariant Q_POSITIONINGQUICK_PRIVATE_EXPORT q_coordinateInterpolator(const
QGeoCoordinate &from, const QGeoCoordinate &to, qreal progress);
+QVariant Q_POSITIONINGQUICK_EXPORT q_coordinateInterpolator(const
QGeoCoordinate &from, const QGeoCoordinate &to, qreal progress);
QT_END_NAMESPACE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/qtpositioning-everywhere-src-6.7.3/tests/auto/qgeocoordinate/tst_qgeocoordinate.cpp
new/qtpositioning-everywhere-src-6.8.0/tests/auto/qgeocoordinate/tst_qgeocoordinate.cpp
---
old/qtpositioning-everywhere-src-6.7.3/tests/auto/qgeocoordinate/tst_qgeocoordinate.cpp
2024-09-19 20:59:08.000000000 +0200
+++
new/qtpositioning-everywhere-src-6.8.0/tests/auto/qgeocoordinate/tst_qgeocoordinate.cpp
2024-10-02 16:25:44.000000000 +0200
@@ -758,7 +758,7 @@
<< QString("-27%1 28' 3.3\", 153%1 1' 40.4\",
28.2341m").arg(DEGREES_SYMB);
QTest::newRow("SE with alt, dms, hemisphere, 28.2341m")
<< southEastWithAlt <<
QGeoCoordinate::DegreesMinutesSecondsWithHemisphere
- << QString("27%1 28' 3.3\" S, 153%1 1' 40.4\" E,
28.2341m").arg(DEGREES_SYMB);;
+ << QString("27%1 28' 3.3\" S, 153%1 1' 40.4\" E,
28.2341m").arg(DEGREES_SYMB);
QTest::newRow("NW, dd, no hemisphere")
<< northWest << QGeoCoordinate::Degrees