15941 Commits

Author SHA1 Message Date
Nyall Dawson
d5749f8713 Deprecated QgsGeometry::createPolylineFromQPolygonF and
QgsGeometry::createPolygonFromQPolygonF

These were internal details which should never have been exposed
to public API
2019-10-07 07:03:34 +10:00
Nyall Dawson
8f40c8d1c5 Add QgsLineString::fromQPolygonF 2019-10-07 07:03:34 +10:00
Borys Jurgiel
8de7f3aae3
Merge pull request #32100 from borysiasty/fix_dash_in_zip_filenames
[Plugin installer] Fix handling zip file names with a dash as a version suffix separator
2019-10-05 16:26:21 +02:00
Nyall Dawson
eb59842f31 C++ API for generating random points inside geometry
Adds an optimised c++ method for generating random points inside
a polygon geometry, using a tessellation based approach to
avoid the inefficiencies of the brute force filtered-random-points-within-extent
approach.
2019-10-05 12:13:14 +10:00
Borys Jurgiel
5c1cc4a40d [Plugin installer] properly handle zip file names with a dash as a version suffix separator 2019-10-04 22:17:51 +02:00
Nyall Dawson
d0ed374662 Add QgsProject flag to avoid loading print layouts when reading a project file
Speeds up project read time when these aren't needed, and also potentially
avoids issues caused by non-thread-safety in layouts (since some items rely
on classes which can only be used in the main thread e.g. QWebPage)
2019-10-04 05:10:45 +10:00
Denis Rouzaud
97435d38ee
Merge pull request #32095 from 3nids/from_init_python_url_v2
allow to use remote content for init code file path in attribute form
2019-10-03 17:48:12 +02:00
Alessandro Pasotti
0c5f67787c
Merge pull request #32088 from NaturalGIS/change_confusing_dbmanager_option_name
change confusing parameter name in DB Manager
2019-10-03 12:23:30 +02:00
Nyall Dawson
387272d441 QgsProject documentation improvements 2019-10-03 20:12:28 +10:00
Nyall Dawson
e7e41e1cb9 Add stable api for setting/retrieving project custom scales
Previously this was all done through raw project key manipulation,
but there's a use case for exposing this nicely for use by plugins.
2019-10-03 14:15:19 +10:00
lbartoletti
bb523ebfb3 one wmore deprecated method 2019-10-03 13:33:46 +10:00
lbartoletti
76654511f7 fix build 2019-10-03 13:33:46 +10:00
lbartoletti
aa99f89caf deprecate methods in qgsvectorlayereditutils. Better deprecated dox. 2019-10-03 13:33:46 +10:00
lbartoletti
b75518fa15 update dox 2019-10-03 13:33:46 +10:00
lbartoletti
31e416c4a9 rename QgsPointSequence QgsMapToolCapture::points() const; to QgsPointSequence QgsMapToolCapture::pointsZM() const; 2019-10-03 13:33:46 +10:00
lbartoletti
c1421455b8 fix dox and tests 2019-10-03 13:33:46 +10:00
lbartoletti
738e052b87 fix qgsgeometry 2019-10-03 13:33:46 +10:00
lbartoletti
2e529e1bd9 deprecate addTopologicalPoints methods with QgsPointXY
deprecate other methods
2019-10-03 13:33:46 +10:00
Etienne Trimaille
3159d6f199 update docstrings in qgsdatetimeedit.h 2019-10-03 13:17:04 +10:00
Etienne Trimaille
d61fab7783 implement date() and time() in QgsDateTimeEdit to handle NULL values 2019-10-03 13:17:04 +10:00
Denis Rouzaud
dceb8223f8 switch back to non scoped enum
there is an issue in SIP when mixing non-scoped and scoped enums in the same class
see https://www.riverbankcomputing.com/hg/sip/rev/ccc4eda868de

and if switching all to scoped enum, there is a conversion issue in slot
for MessageLevel (whhen connection QgsMessageLog::messageReceived)
2019-10-02 15:53:15 +02:00
Denis Rouzaud
86550e9837 create a method in QgsGui to determine if running Python macros is allowed 2019-10-02 15:53:15 +02:00
Denis Rouzaud
96e8abde39 use an enum for enable macros possibilities 2019-10-02 15:53:14 +02:00
Nyall Dawson
e47d55f6e3 Grammar 2019-10-02 21:37:52 +10:00
Nyall Dawson
741c051321 Spelling 2019-10-02 21:37:52 +10:00
Nyall Dawson
9b07075fae Add a switch to QgsTessellator to avoid z handling and fallback to a
purely 2d tesselation

Optimises tessellation when only a 2d tessellation is required by
skipping unnecessary/unwanted calculations
2019-10-02 21:37:52 +10:00
Nyall Dawson
a9228f576d Spelling and build warning 2019-10-02 21:37:52 +10:00
Nyall Dawson
8ee1c20bb2 [tesselator] Allow internal scaling of coordinates by input coordinate
bounds to avoid numerical instability with close coordinates (e.g. calculating
tesselation of geometries in geographic CRS)
2019-10-02 21:37:52 +10:00
Giovanni Manghi
cd71ea1f3c change confusing parameter name in DB Manager 2019-10-02 09:12:52 +01:00
Giovanni Manghi
c7e4130140 make the A_SRS parameter optional 2019-10-02 08:11:15 +10:00
Nyall Dawson
3a6cc5c2ca Add method to return weighted point inside triangle 2019-10-01 04:05:13 +10:00
Nyall Dawson
975eedc146 Add method to calculate the area of a triangle 2019-10-01 04:05:13 +10:00
Nyall Dawson
196e15a0ff [processing] Avoid confusing use of expression parameter type in
Random Points in Polygon algorithm

Instead, use a standard numeric parameter which accepts data-defined
expression values

Fixes #27640
2019-09-30 16:58:15 +10:00
Nyall Dawson
a49edf1f25 [processing] Make minimum distance between points in "Random Points in polygon"
algorithm optional

And don't do any unnecessary index work when it's not set. Shaves roughly 1/3rd
off the time of algorithm execution.
2019-09-30 16:58:15 +10:00
Andrea Giudiceandrea
7903889f54 Modeler: Set default action to Export as Script Algorithm
otherwise the button tooltip is not shown
2019-09-30 09:48:30 +10:00
Nyall Dawson
86c83537f9 [layouts] Update map settings variables in UI when map extent/rotation changes
Fixes #24136
2019-09-28 08:40:41 +10:00
Nyall Dawson
2b31e03ad0 [layouts] Ensure variable panels are updated when layout or atlas
properties change

Fixes #26402
2019-09-28 08:40:41 +10:00
Alessandro Pasotti
860d0201ef
Merge pull request #32026 from elpaso/rastercalculator-multiple-bugs-and-new-operators
[needs-docs] Fix multiple raster calc issues (+ new operators)
2019-09-27 19:18:20 +02:00
Alessandro Pasotti
e59c1134d7 Code layout 2019-09-27 11:48:06 +02:00
Denis Rouzaud
abb08c2988
[locator] allow to trigger locator search from the API (#32017) 2019-09-27 09:58:47 +02:00
Denis Rouzaud
c88e82af1a
rename QgsLayerTreeRegistryBridge.InsertionPoint.parent to group (#32031)
because I find it confusing to do insertionPoint.parent.insertLayer
insertionPoint.group.insertLayer
2019-09-27 09:58:27 +02:00
Nyall Dawson
45e847ef69 [layouts][needs-docs] Move page background setting to a per-page option
The UI for this setting was sitting under the page properties panel,
which led users to believe it was a per-page setting (rather than
applying to ALL pages in the layout).

Instead, move this property to sit within individual layout item pages
so that the behavior matches what the UI suggests.

Fixes #25695
2019-09-27 15:17:36 +10:00
Nyall Dawson
f5c21a0fbd Optimize QgsContrastEnhancementFunction
Allow some methods to be inlined, and precalculate maximum/minimum values
possible instead of recalculating them for every pixel
2019-09-27 08:21:26 +10:00
Alessandro Pasotti
d730c97f46 Fix multiple raster calc issues
Fixes #32023 Raster calculator change sign does not work when OpenCL is on
Fixes #32025 QGIS Raster Calculator outputs nodata only rasters

Bonus: three new operators with full test coverage
- ABS
- MIN
- MAX
2019-09-26 18:26:25 +02:00
Nyall Dawson
f32d6fdcf2 [processing] Highlight row_number variable in batch expression editor 2019-09-26 20:46:38 +10:00
Nyall Dawson
b9310ca47b Spelling 2019-09-26 12:41:04 +10:00
Nyall Dawson
1f033fe83d Fix some more conditional formatting panel high dpi issues 2019-09-26 12:41:04 +10:00
Nyall Dawson
a8d145a80a Use a proper panel widget for conditional formatting configuration widget
Fixes a number of UI issues, including poor hi-dpi compatibility.
2019-09-26 12:41:04 +10:00
Nyall Dawson
b9b690caac Remember splitter width for conditional formatting panel in attribute table 2019-09-26 12:41:04 +10:00
Nyall Dawson
651c507180 [processing] Extend api for retrieving a layer in a compatible format
A few releases ago a bug fix was implemented which forced conversions
of multi-layer sources. This was a valid bug fix, but the consequence
was that any algorithm using this api with a source file containing
multiple layers (e.g. gpkg) performed a complete copy of the target
layer to a new file, severely impacting performance.

This commit adds new API to retrieve a compatible layer path in the
case when an algorithm CAN correctly handle specific target layer names.
In this case, the forced copy of the source layer is avoided when
using multi-layer inputs like geopackage.
2019-09-26 09:27:46 +10:00