2459 Commits

Author SHA1 Message Date
Nyall Dawson
fe5615ea44 Hold the GIL for more geometry related methods 2020-09-18 11:50:27 +10:00
Nyall Dawson
44fb4f5f85 Dox 2020-09-18 04:34:57 +10:00
Nyall Dawson
d4a2dddac5 Tag some inexpensive, frequently called methods with the HoldGIL annotation
This prevents the Python GIL from being released before calling the method
(which is the default behaviour). For very cheap to call c++ methods the
cost of releasing the GIL can outweigh the cost of the c++ call, which means
it's more efficient to retain the hold on the GIL.

Ideally we'd do this everywhere, and switch to an explicit ReleaseGIL
annotation on functions which are slow or risky (raise exceptions, or
do something which can cause a GIL deadlock). But those are very tricky
to identify, so instead just explicitly hold the gil on cheap methods
which are likely to be called many times and could have an impact on
script performance.
2020-09-18 04:34:57 +10:00
Nyall Dawson
c44178f517 Fix seealso link 2020-09-17 19:10:52 +10:00
Nyall Dawson
49e9b613b8 [layouts] Keep a separate flag for whether only a subset of layers
are to be clipped from the project, instead of just tracking this
by the presence of any checked layers

Avoids inconsistencies between the layers which are visibly clipped
on the map vs the options which are set in the GUI.
2020-09-17 19:10:52 +10:00
Peter Petrik
fce4b27644
fix #35147 QgsMeshLayer map canvas rotation rendering (#38795)
fix #35147 QgsMeshLayer map canvas rotation rendering
2020-09-17 10:44:58 +02:00
Nyall Dawson
484ba6f979 [labeling] Add a new capitalization option for "Title Case", and
rename the confusing "Capitalize First Letter" option to
"Force First Letter to Capital"

This change is intended to clarify the role of the "capitalize
first letter" option, and to provide an option which actually
does what users expect the "capitalize first letter" option
to do.

Fixes #16539
2020-09-17 09:33:51 +10:00
Alessandro Pasotti
e79103e354 Spelling 2020-09-17 07:28:45 +10:00
Alessandro Pasotti
cbb0cb3f1c Add a warning about the usage of setInstance 2020-09-17 07:28:45 +10:00
Alessandro Pasotti
a782420153 Update SIP 2020-09-17 07:28:45 +10:00
Alessandro Pasotti
c80093c47a Expose QgsProject::setInstance to API
Fixes #38755

Needs forward porting to all active branches
2020-09-17 07:28:45 +10:00
Nyall Dawson
f018252023 Add a Legend category to the style selection widgets and allow
legend settings to be stored and restored in QML

Fixes #37683
2020-09-17 07:27:34 +10:00
Denis Rouzaud
bc3d8fd988
Merge pull request #38285 from uclaros/split-add-topo-all-layers
Add topological points to all editable layers on split feature
2020-09-16 17:19:43 +02:00
Denis Rouzaud
f6c98ec5f1
Merge pull request #38730 from 3nids/conf-flag-check-cb
Use a checkable combobox for fields configuration flags
2020-09-16 07:02:17 +02:00
Nyall Dawson
afd7698460 Extract utility functions for saving and reading raster color map definitions
to file to new QgsRasterRendererUtils class
2020-09-16 06:12:35 +10:00
Denis Rouzaud
7265d9de96 fix sip 2020-09-15 12:23:30 +02:00
Denis Rouzaud
fb7f7ba697 follow up renaming enum keys 2020-09-15 09:36:15 +02:00
Nyall Dawson
bd9c8a7621 Show warnings generated during mapbox gl style conversion after loading vector tiles with default styles 2020-09-15 14:06:21 +07:00
Nyall Dawson
01f942fd63 More helpful warnings generated during style conversion 2020-09-15 14:06:21 +07:00
Denis Rouzaud
1660d726a4 add deprecation details 2020-09-15 08:45:28 +02:00
Denis Rouzaud
9cf85dd1fe
better enum names, better dox
Co-authored-by: Nyall Dawson <nyall.dawson@gmail.com>
2020-09-15 08:42:19 +02:00
David Marteau
518e48c12f Fix python serialization for geometry processing parameter
Fix regexp for referenced geometry parsing
    Fix suggested doc strings
2020-09-15 07:39:10 +10:00
David Marteau
fc67ddc970 Change CRS serialization/deserialization for geometry parameter value 2020-09-15 07:39:10 +10:00
David Marteau
6262965df9 Register meta type for geometry processing parameter
Fix QgsProcessingParameterGeometry argument list
2020-09-15 07:39:10 +10:00
David Marteau
aa0a8ab628 Add geometry filter for processing geometry parameter 2020-09-15 07:39:10 +10:00
David Marteau
f2b8e6970b Support point and rectangle as geometry parameter values 2020-09-15 07:39:10 +10:00
David Marteau
4eb779798e Implement QgsReferencedGeometry 2020-09-15 07:39:10 +10:00
David Marteau
4eb931e890 Add geometry processing parameter 2020-09-15 07:39:10 +10:00
Nyall Dawson
789eccb572 [vectortiles] Optimise rendering of complex vector tiles
Instead of ALWAYS converting all features in a tile to QGIS representations,
now we intelligently skip over any layers which aren't required for
rendering or labeling (e.g. because the current renderer/labeling
configuration is disabling these layers or doesn't have a rule for
them).

This improves rendering speed with sources like the OS ZoomStack tiles,
which have a LOT of detail even at small map scales (e.g. building
data is present in very zoomed out tiles!!).
2020-09-15 05:05:57 +10:00
Denis Rouzaud
b923c4a19f add deprecated dox 2020-09-14 13:25:11 +02:00
Denis Rouzaud
de4a293ec5 use a readable string, fix flag keys, fix opening old project file 2020-09-14 13:25:08 +02:00
Denis Rouzaud
4fd940a352 use configuration flags to save WMS/WFS from vector layer 2020-09-14 13:24:05 +02:00
nirvn
1de8d01e30 Support hidpi sprites when converting mapboxgl styles 2020-09-14 16:47:09 +10:00
Nyall Dawson
229c240b59 Correctly parse 'match' interpolation list values during conversion 2020-09-14 12:42:49 +10:00
Mathieu Pellerin
31b2b89c4e Address review 2020-09-14 08:57:35 +10:00
nirvn
73e73c0319 Convert interpolated icon marker sprites 2020-09-14 08:57:35 +10:00
Martin Dobias
7cbf80ff5c
Merge pull request #38309 from vcloarec/TINMeshCreaton
TIN Mesh creation
2020-09-11 13:41:19 +02:00
Denis Rouzaud
59ff516976 QgsField::ConfigurationFlags: add read/save in core 2020-09-11 09:16:49 +02:00
Alessandro Pasotti
63d8ee7fab
Merge pull request #38464 from rldhont/trust-layer-metadata-propagation
Trust layer metadata propagation
2020-09-11 09:08:55 +02:00
Denis Rouzaud
5dcca0ec2b
add configuration flags to QgsFields (#38634) 2020-09-10 22:50:29 +02:00
vcloarec
5ffc4f298a some fixes and add tests 2020-09-10 14:03:11 -04:00
vcloarec
abd5fad9dd add more feedback cancellation and fix doc 2020-09-10 14:03:11 -04:00
vcloarec
07714f3931 port alg to c++
and minor fixes
2020-09-10 14:03:11 -04:00
vcloarec
d2f4c40f8a TIN Mesh creation 2020-09-10 14:03:11 -04:00
Denis Rouzaud
969f9f98a9
Merge pull request #38677 from 3nids/rel-strength-qenum
make QgsRelation::RelationStrength a Q_ENUM and simplify code
2020-09-10 17:07:23 +02:00
Denis Rouzaud
e87ba45edc make QgsRelation::RelationStrength a Q_ENUM and simplify code 2020-09-10 14:27:42 +02:00
Matthias Kuhn
509c5e1f23
Merge pull request #38524 from olivierdalang/rotated_ticks_followup
[followup] Support for rotated ticks/annotation
2020-09-10 11:25:29 +02:00
Matthias Kuhn
38ec62e89d
Merge pull request #38663 from signedav/relation-editor-title
Label (title) of relation editor widget instances
2020-09-10 06:48:05 +02:00
Nyall Dawson
38bdca20e1 Fix incorrect truncation to int in interpolation expression results 2020-09-10 14:11:42 +10:00
Nyall Dawson
5ee97c9623 Correctly parse interpolated text-anchor 2020-09-10 14:11:42 +10:00