Skip to content

Commit a45908f

Browse files
committed
Remove dependency on QtScript
1 parent ba4346b commit a45908f

File tree

12 files changed

+25
-170
lines changed

12 files changed

+25
-170
lines changed

.docker/Dockerfile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@ RUN apt-get update \
6969
qt5keychain-dev \
7070
qtbase5-dev \
7171
qtpositioning5-dev \
72-
qtscript5-dev \
7372
qttools5-dev \
7473
qttools5-dev-tools \
7574
spawn-fcgi \

CMakeLists.txt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -285,10 +285,6 @@ IF(WITH_CORE)
285285
FIND_PACKAGE(Qt5Concurrent REQUIRED)
286286
FIND_PACKAGE(Qt5PrintSupport REQUIRED)
287287
FIND_PACKAGE(Qt5Positioning)
288-
FIND_PACKAGE(Qt5Script)
289-
IF(Qt5Script_FOUND)
290-
ADD_DEFINITIONS(-DWITH_QTSCRIPT)
291-
ENDIF()
292288
IF (WITH_QTWEBKIT)
293289
FIND_PACKAGE(Qt5WebKit REQUIRED)
294290
FIND_PACKAGE(Qt5WebKitWidgets REQUIRED)

INSTALL

Lines changed: 7 additions & 7 deletions
Large diffs are not rendered by default.

debian/control

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Build-Depends:
2020
libspatialite-dev,
2121
libsqlite3-dev,
2222
libspatialindex-dev,
23-
qtbase5-dev, qttools5-dev-tools, qttools5-dev, qtscript5-dev, qtpositioning5-dev,
23+
qtbase5-dev, qttools5-dev-tools, qttools5-dev, qtpositioning5-dev,
2424
libqt5svg5-dev, libqt5xmlpatterns5-dev, libqt5webkit5-dev, libqt5opengl5-dev, libqt5sql5-sqlite, libqt5scintilla2-dev,
2525
libqwt-qt5-dev, libqca-qt5-2-dev, libqca-qt5-2-plugins,
2626
python3-dev, python3-all-dev, python3-sip, python3-sip-dev,
@@ -203,7 +203,6 @@ Depends:
203203
libqt5webkit5-dev,
204204
libqca-qt5-2-dev,
205205
libqwt-qt5-dev,
206-
qtscript5-dev,
207206
qtpositioning5-dev,
208207
pyqt5-dev-tools,
209208
python3-pyqt5,

debian/control.in

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Build-Depends:
2121
libsqlite3-dev,
2222
libspatialindex-dev,
2323
libzip-dev,
24-
qtbase5-dev, qttools5-dev-tools, qttools5-dev, qtscript5-dev, qtpositioning5-dev, qt5keychain-dev,
24+
qtbase5-dev, qttools5-dev-tools, qttools5-dev, qtpositioning5-dev, qt5keychain-dev,
2525
libqt5svg5-dev, libqt5xmlpatterns5-dev, libqt5webkit5-dev, libqt5opengl5-dev, libqt5sql5-sqlite, libqt5scintilla2-dev,
2626
libqwt-qt5-dev, libqca-qt5-2-dev, libqca-qt5-2-plugins,
2727
python3-dev, python3-all-dev, python3-sip, python3-sip-dev,
@@ -232,7 +232,6 @@ Depends:
232232
libqt5webkit5-dev,
233233
libqca-qt5-2-dev,
234234
libqwt-qt5-dev,
235-
qtscript5-dev,
236235
qtpositioning5-dev,
237236
pyqt5-dev-tools,
238237
python3-pyqt5,

doc/INSTALL.html

Lines changed: 7 additions & 7 deletions
Large diffs are not rendered by default.

doc/linux.t2t

Lines changed: 7 additions & 7 deletions
Large diffs are not rendered by default.

mac/cmake/1qt.cmake.in

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ SET (QT_FWVER @QT_VERSION_MAJOR@)
1616
# build list of Qt frameworks to bundle
1717

1818
# core list, includes dependencies and used by extra plugins
19-
SET (QTLISTQG QtCore QtGui phonon QtXml QtNetwork QtScript QtSvg QtSql QtWebKit QtXmlPatterns QtDBus QtMultimedia QtOpenGL QtTest)
20-
SET (PYQTLIST Qt QtCore QtGui phonon QtXml QtNetwork QtScript QtSvg QtSql QtWebKit QtXmlPatterns QtDBus QtMultimedia QtOpenGL QtTest)
19+
SET (QTLISTQG QtCore QtGui phonon QtXml QtNetwork QtSvg QtSql QtWebKit QtXmlPatterns QtDBus QtMultimedia QtOpenGL QtTest)
20+
SET (PYQTLIST Qt QtCore QtGui phonon QtXml QtNetwork QtSvg QtSql QtWebKit QtXmlPatterns QtDBus QtMultimedia QtOpenGL QtTest)
2121

2222
# add Qsci.so, if available
2323
IF (@QSCI_FOUND@)

rpm/qgis.spec.template

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,6 @@ BuildRequires: qscintilla-qt5-devel
8484

8585
# Qt5 stuff
8686
BuildRequires: qt5-qtlocation-devel
87-
BuildRequires: qt5-qtscript-devel
8887
BuildRequires: qt5-qtsvg-devel
8988
BuildRequires: qt5-qttools-static
9089
BuildRequires: qt5-qtwebkit-devel

src/providers/wms/CMakeLists.txt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@ INCLUDE_DIRECTORIES(
5050
INCLUDE_DIRECTORIES(SYSTEM
5151
${GDAL_INCLUDE_DIR}
5252
${GEOS_INCLUDE_DIR}
53-
${QT_QTSCRIPT_INCLUDE_DIR}
5453
${QCA_INCLUDE_DIR}
5554
${QTKEYCHAIN_INCLUDE_DIR}
5655
)
@@ -60,14 +59,12 @@ ADD_LIBRARY(wmsprovider MODULE ${WMS_SRCS} ${WMS_MOC_SRCS})
6059

6160
TARGET_LINK_LIBRARIES(wmsprovider
6261
qgis_core
63-
${QT_QTSCRIPT_LIBRARY}
6462
${GDAL_LIBRARY} # for OGR_G_CreateGeometryFromJson()
6563
)
6664

6765

6866
TARGET_LINK_LIBRARIES(wmsprovider_a
6967
qgis_core
70-
${QT_QTSCRIPT_LIBRARY}
7168
)
7269

7370

src/providers/wms/qgswmsprovider.cpp

Lines changed: 0 additions & 130 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,6 @@
6464
#include <QEventLoop>
6565
#include <QTextCodec>
6666
#include <QThread>
67-
#ifdef WITH_QTSCRIPT
68-
#include <QScriptEngine>
69-
#include <QScriptValue>
70-
#include <QScriptValueIterator>
71-
#endif
7267
#include <QNetworkDiskCache>
7368
#include <QTimer>
7469

@@ -2978,130 +2973,6 @@ QgsRasterIdentifyResult QgsWmsProvider::identify( const QgsPointXY &point, QgsRa
29782973
QgsFeatureStoreList featureStoreList;
29792974
QgsCoordinateTransform coordinateTransform;
29802975

2981-
#ifdef WITH_QTSCRIPT
2982-
json.prepend( '(' ).append( ')' );
2983-
2984-
QScriptEngine engine;
2985-
engine.evaluate( QStringLiteral( "function json_stringify(obj) { return JSON.stringify(obj); }" ) );
2986-
QScriptValue json_stringify = engine.globalObject().property( QStringLiteral( "json_stringify" ) );
2987-
Q_ASSERT( json_stringify.isFunction() );
2988-
2989-
QScriptValue result = engine.evaluate( json );
2990-
2991-
try
2992-
{
2993-
QgsDebugMsg( QString( "result:%1" ).arg( result.toString() ) );
2994-
2995-
if ( !result.isObject() )
2996-
throw QStringLiteral( "object expected" );
2997-
2998-
if ( result.property( QStringLiteral( "type" ) ).toString() != QLatin1String( "FeatureCollection" ) )
2999-
throw QStringLiteral( "type FeatureCollection expected: %1" ).arg( result.property( QStringLiteral( "type" ) ).toString() );
3000-
3001-
if ( result.property( QStringLiteral( "crs" ) ).isValid() )
3002-
{
3003-
QString crsType = result.property( QStringLiteral( "crs" ) ).property( QStringLiteral( "type" ) ).toString();
3004-
QString crsText;
3005-
if ( crsType == QLatin1String( "name" ) )
3006-
crsText = result.property( QStringLiteral( "crs" ) ).property( QStringLiteral( "properties" ) ).property( QStringLiteral( "name" ) ).toString();
3007-
else if ( crsType == QLatin1String( "EPSG" ) )
3008-
crsText = QStringLiteral( "%1:%2" ).arg( crsType, result.property( QStringLiteral( "crs" ) ).property( QStringLiteral( "properties" ) ).property( QStringLiteral( "code" ) ).toString() );
3009-
else
3010-
{
3011-
QgsDebugMsg( QString( "crs not supported:%1" ).arg( result.property( "crs" ).toString() ) );
3012-
}
3013-
3014-
QgsCoordinateReferenceSystem featuresCrs = QgsCoordinateReferenceSystem::fromOgcWmsCrs( crsText );
3015-
3016-
if ( !featuresCrs.isValid() )
3017-
throw QStringLiteral( "CRS %1 invalid" ).arg( crsText );
3018-
3019-
if ( featuresCrs.isValid() && featuresCrs != crs() )
3020-
{
3021-
coordinateTransform = QgsCoordinateTransform( featuresCrs, crs() );
3022-
}
3023-
}
3024-
3025-
QScriptValue fc = result.property( QStringLiteral( "features" ) );
3026-
if ( !fc.isArray() )
3027-
throw QStringLiteral( "FeatureCollection array expected" );
3028-
3029-
QScriptValue f;
3030-
for ( int i = 0; f = fc.property( i ), f.isValid(); i++ )
3031-
{
3032-
QgsDebugMsg( QString( "feature %1" ).arg( i ) );
3033-
3034-
QScriptValue props = f.property( QStringLiteral( "properties" ) );
3035-
if ( !props.isObject() )
3036-
{
3037-
QgsDebugMsg( "no properties found" );
3038-
continue;
3039-
}
3040-
3041-
QgsFields fields;
3042-
QScriptValueIterator it( props );
3043-
while ( it.hasNext() )
3044-
{
3045-
it.next();
3046-
fields.append( QgsField( it.name(), QVariant::String ) );
3047-
}
3048-
3049-
QgsFeature feature( fields );
3050-
3051-
if ( f.property( QStringLiteral( "geometry" ) ).isValid() )
3052-
{
3053-
QScriptValue geom = json_stringify.call( QScriptValue(), QScriptValueList() << f.property( QStringLiteral( "geometry" ) ) );
3054-
if ( geom.isString() )
3055-
{
3056-
gdal::ogr_geometry_unique_ptr ogrGeom( OGR_G_CreateGeometryFromJson( geom.toString().toUtf8() ) );
3057-
if ( ogrGeom )
3058-
{
3059-
int wkbSize = OGR_G_WkbSize( ogrGeom.get() );
3060-
unsigned char *wkb = new unsigned char[ wkbSize ];
3061-
OGR_G_ExportToWkb( ogrGeom.get(), ( OGRwkbByteOrder ) QgsApplication::endian(), wkb );
3062-
3063-
QgsGeometry g;
3064-
g.fromWkb( wkb, wkbSize );
3065-
feature.setGeometry( g );
3066-
3067-
if ( coordinateTransform.isValid() && feature.hasGeometry() )
3068-
{
3069-
QgsGeometry transformed = feature.geometry();
3070-
transformed.transform( coordinateTransform );
3071-
feature.setGeometry( transformed );
3072-
}
3073-
}
3074-
}
3075-
}
3076-
3077-
int j = 0;
3078-
it.toFront();
3079-
while ( it.hasNext() )
3080-
{
3081-
it.next();
3082-
feature.setAttribute( j++, it.value().toString() );
3083-
}
3084-
3085-
QgsFeatureStore featureStore( fields, crs() );
3086-
3087-
QMap<QString, QVariant> params;
3088-
params.insert( QStringLiteral( "sublayer" ), layerList[count] );
3089-
params.insert( QStringLiteral( "featureType" ), QStringLiteral( "%1_%2" ).arg( count ).arg( i ) );
3090-
params.insert( QStringLiteral( "getFeatureInfoUrl" ), requestUrl.toString() );
3091-
featureStore.setParams( params );
3092-
3093-
feature.setValid( true );
3094-
featureStore.addFeature( feature );
3095-
3096-
featureStoreList.append( featureStore );
3097-
}
3098-
}
3099-
catch ( const QString &err )
3100-
{
3101-
QgsDebugMsg( QString( "JSON error: %1\nResult: %2" ).arg( err, QString::fromUtf8( mIdentifyResultBodies.value( jsonPart ) ) ) );
3102-
results.insert( results.size(), err ); // string returned for format type "feature" means error
3103-
}
3104-
#else
31052976
try
31062977
{
31072978
QJsonDocument doc = QJsonDocument::fromJson( json.toUtf8() );
@@ -3219,7 +3090,6 @@ QgsRasterIdentifyResult QgsWmsProvider::identify( const QgsPointXY &point, QgsRa
32193090
QgsDebugMsg( QString( "JSON error: %1\nResult: %2" ).arg( err, QString::fromUtf8( mIdentifyResultBodies.value( jsonPart ) ) ) );
32203091
results.insert( results.size(), err ); // string returned for format type "feature" means error
32213092
}
3222-
#endif
32233093

32243094
results.insert( results.size(), qVariantFromValue( featureStoreList ) );
32253095
}

tests/src/providers/CMakeLists.txt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -104,17 +104,13 @@ IF(UNIX AND NOT ANDROID AND CMAKE_BUILD_TYPE MATCHES Debug)
104104
${CMAKE_CURRENT_SOURCE_DIR}/../../../src/core/raster
105105
${CMAKE_CURRENT_SOURCE_DIR}/../../../src/providers/wcs
106106
)
107-
INCLUDE_DIRECTORIES(SYSTEM
108-
${QT_QTSCRIPT_INCLUDE_DIR}
109-
)
110107

111108
TARGET_LINK_LIBRARIES(qgis_wcstest
112109
${QT_QTCORE_LIBRARY}
113110
${QT_QTNETWORK_LIBRARY}
114111
${QT_QTSVG_LIBRARY}
115112
${QT_QTXML_LIBRARY}
116113
${OPTIONAL_QTWEBKIT}
117-
${QT_QTSCRIPT_LIBRARY}
118114
qgis_core
119115
)
120116

0 commit comments

Comments
 (0)