18152 Commits

Author SHA1 Message Date
Alessandro Pasotti
9880a751a9 DB manager Fix SHOW in PG queries
Fixes #8975
2020-09-23 15:14:04 +02:00
Alessandro Pasotti
063b8daab3
Merge pull request #38940 from elpaso/bugfix-gh38092-executesql-feedback-followup
Be smart when adding limit: followup #8092
2020-09-22 11:32:27 +02:00
Alessandro Pasotti
ef02c54252 Be smart when adding limit: followup #8092 2020-09-22 09:26:13 +02:00
Juergen E. Fischer
a15fff158a Translation string fix 2020-09-22 09:12:15 +02:00
Nyall Dawson
f3f226aa69 In cases where we cannot convert the map extent back to a layer's
extent and have had to resort to fetching all features from a layer,
defer the geometry clipping the map extent so that it occurs
AFTER transforming the layer's geometries to the target map extent.

This allows us to correctly clip the feature geometries in the case
that the visible extent available from the render context for the layer
is not accurate (i.e. it's a whole of globe fallback), and avoids
rendering features which fall far outside of the visible map
region.

Fixes #38878
2020-09-22 06:50:34 +10:00
Nyall Dawson
9990b84bdb Add QgsClipper::clippedLine variant which accepts a QPolygonF line
input
2020-09-22 06:50:34 +10:00
Alessandro Pasotti
1c1febc0d6
Merge pull request #38870 from elpaso/bugfix-gh38092-executesql-feedback
Add feedback to executeSql
2020-09-21 15:45:21 +02:00
Alessandro Pasotti
6d866e3341 Address PR comments 2020-09-21 14:02:24 +02:00
Nyall Dawson
620948f809 Add method to change capitalization of QgsTextDocument 2020-09-21 12:05:54 +10:00
Nyall Dawson
772181bc16 [processing] Don't assume iface is available
E.g. in qgis_process iface is None

Fixes #38862
2020-09-21 12:05:34 +10:00
Nyall Dawson
ed6e9ac84c Dox++ 2020-09-21 11:05:34 +10:00
Etienne Trimaille
6076950c68 Add help string for parameters in Processing 2020-09-21 11:05:34 +10:00
Matthias Kuhn
2eaf5e6d29 Recalculate layout when legend item size changes
Fixes https://github.com/qgis/QGIS/issues/38881
2020-09-21 08:03:16 +10:00
Matthias Kuhn
673d6727ee Improve legend performance
Only recalculate the position of the icons for affected legend nodes.
Avoids brute forcing over complex legends as soon as something is changed.

Fixes #38890
2020-09-21 08:02:13 +10:00
benjaminwheel3r
96bdfac88d Update Comment Typos
update 'the' to 'then' on line 34
update 'customwidget' to 'custom widget' to match reference in comment on line 72
Update 'windows' to 'Windows' on line 65 to match previous reference on line 31
2020-09-20 06:57:20 +10:00
Salvatore Larosa
b696b465ab Fix indentation (which doing start up of python console very slow) 2020-09-20 06:47:11 +10:00
Alessandro Pasotti
2dfc072fe7 Spellchecker, how picky you are 2020-09-19 11:30:55 +02:00
Alessandro Pasotti
d54c3101ae Add feedback to executeSql
Fixes #38092 by adding an optional QgsFeedback argument to
the executeSql method and by implementing the PQCancel
method in the PG provider internals.

While the cancellation works well for all supported provider while
fetching results in the loop, the cancellation of a running query is now
implemented for the postgres provider connection only because the GPKG
and GDAL both rely on GDALDatasetExecuteSQL which cannot be interrupted.

This PR also introduce a few optimizations in the PG DB-Manager
code that should probably fix also other "slowness" issues that
were reported after 3.x during PG query execution.

A small UX change in th SQL dialog makes it evident to the user that
a cancellation request has been sent to the backend: the button text
is changed to "Cancellation requested, please wait..." so that for
provider connections that are not able to interrupt the running query
and must wait for the fetching loop to exit from the exeuteSql call
the user knows that something is happening and that a cancellation
request has been successfully sent.
2020-09-19 11:15:41 +02:00
Nyall Dawson
fe70bb2440 Dox 2020-09-18 11:50:27 +10:00
Nyall Dawson
c293d2c60d [sipify] Correctly collapse TypeHint annotations 2020-09-18 11:50:27 +10:00
Nyall Dawson
fe5615ea44 Hold the GIL for more geometry related methods 2020-09-18 11:50:27 +10:00
Peter Petrik
24cfedf03f fix #32511 always detect GRASS installation folder on MacOS 2020-09-18 10:56:44 +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
Denis Rouzaud
5ca4ef8f3d
QgsField::ConfigurationFlags: use a negative form for the flags so th… (#38805)
* QgsField::ConfigurationFlags: use a negative form for the flags so that default flags is None

this will make this futureproof, so newly added flags won't cause trouble for compatibility with old projects

* follow up

* remove template class

* fix order of init

* follow up

* Revert "update test projects (open and save)"

This reverts commit c738609d9177ed398ba2a0ae0e1c16448accd5f6.

* DoNotExposeVia -> HideFrom
2020-09-17 10:31:22 +02:00
nirvn
445d78f7cc Add a plugin interface to add pages to the project properties dialog 2020-09-17 13:48:57 +07: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
Even Rouault
53c5c337ec [Algorithms] JoinByNearest: accept max_distance == 0.0 (fixes #38761) 2020-09-16 06:15:11 +10: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
Juergen E. Fischer
44b4a75a0a fix #38720 2020-09-15 09:51:00 +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