19651 Commits

Author SHA1 Message Date
Olivier Dalang
351df3ef9f [convert to curve] avancement 2021-06-19 06:24:13 +10:00
Sandro Mani
9553f06700 Add QgsMapTool::canvasToolTipEvent 2021-06-19 06:23:07 +10:00
Nyall Dawson
6124433148 Dox 2021-06-19 06:21:51 +10:00
Nyall Dawson
11e88f7e92 Responsive cancelation of aggregate expression functions 2021-06-19 06:21:51 +10:00
Nyall Dawson
b16465bc31 Support early abortion of vector layer feature counter
Refs https://github.com/qgis/QGIS/issues/43572
2021-06-19 06:21:51 +10:00
Nyall Dawson
8869c9cbe4 Allow setting a QgsFeedback object in QgsExpressionContext
This can be checked by expression functions which are costly to
evaluate (e.g. those which fetch features from a layer) and which
would benefit from early exits when the results of the expression
evaluation are no longer needed (e.g. due to canceling a layer
rendering, etc)
2021-06-19 06:21:51 +10:00
Nyall Dawson
e416d77270 Add an optional QgsFeedback object for QgsFeatureRequest, and use
this to abort the acquisition of a connection in the OGR
connection pool

Provide a mechanism to avoid a deadlock when multiple OGR iterators
are trying to obtain a connection to a resource at once.

Refs https://github.com/qgis/QGIS/issues/43572
2021-06-19 06:21:51 +10:00
Matthias Kuhn
ff3be3df40 Remove QTMOBILITY
It's days are gone
2021-06-19 06:20:57 +10:00
Blottiere Paul
a36e60884d Skip method from sip binding 2021-06-17 22:28:07 +02:00
Blottiere Paul
0924ae1b4e Update sip 2021-06-17 22:28:07 +02:00
Alexander Bruy
cc416282d3
Merge pull request #43720 from nicogodet/patch-1
Add odd integer constraint on neighborhood size in r.neighbors
2021-06-17 06:22:53 +03:00
Nyall Dawson
3ae96253de [processing] Fix use of data defined parameter values when editing
features in place

Fixes #43758
2021-06-17 13:18:12 +10:00
Nyall Dawson
480c2ebd65 Better docs and examples for QgsGeometryEngine class 2021-06-17 07:11:47 +10:00
nicogodet
b265e20bd6 add test for odd integer for neighborhood size parameter 2021-06-16 16:58:59 +02:00
Nyall Dawson
870945c476 Don't restrict adding crs selections to list of recent CRSes to only
a few select dialogs

If the user has gone to the trouble of picking a CRS from the dialog,
it should ALWAYS be pushed to the list of recently used CRS, regardless
of whether they've done it from project properties, layer properties,
some processing algorithm, etc...
2021-06-16 12:03:32 +10:00
nicogodet
21ed71aac9 fix test 2021-06-15 09:44:55 +02:00
nicogodet
bb3d9ad973 add test 2021-06-15 08:40:17 +02:00
Nyall Dawson
57700196cd [api] Add method for PyQGIS QgsMapTool subclasses to set the tool name
Since PyQGIS can't access protected member variables, we need an
explicit setter for this variable.
2021-06-15 16:28:17 +10:00
Even Rouault
d482bc06b1 Extra fixes related to truncation of feature count 2021-06-15 12:40:04 +10:00
Even Rouault
53ca5b2a31 Extra fixes related to truncation of feature count 2021-06-15 12:40:04 +10:00
Even Rouault
92fc43505d Update featureCount() methods to return long long for Win64 compatibility 2021-06-15 12:40:04 +10:00
nicogodet
8a0212e695
Create r_neighbors.py 2021-06-14 09:42:34 +02:00
nicogodet
9d44ebee30
Update neighborhood size name 2021-06-14 09:08:10 +02:00
Nyall Dawson
cbe2678e34 [processing] Fix broken execution of models via browser/drag and drop
Fixes #43698
Fixes #42181
2021-06-14 15:02:54 +10:00
Nyall Dawson
8113aac88e Use a monospaced font in console command history list 2021-06-14 13:04:59 +10:00
Harrissou Sant-anna
636d5cc43d Use better reference to distance methods whether it's 3D or not 2021-06-14 05:09:18 +10:00
Sandro Mani
64a7234e33 Add QgsLayoutItemPage::pageLayout 2021-06-14 04:57:54 +10:00
nirvn
256dc35a09 Make a couple of QgsJsonUtils accessible via QML environment 2021-06-10 23:12:23 -07:00
Nyall Dawson
3cf9083743 Don't assume that owslib >= 0.20 is available
Fixes #38074
2021-06-11 06:17:10 +10:00
Nyall Dawson
e70cf8da27 Fix zonal statistics does not correctly handle coordinate transforms
Fixes #26858
2021-06-11 06:16:53 +10:00
Sandro Mani
6aa0cbed91
Add QgsProject::dirtySet signal (#43595) 2021-06-10 10:50:47 +00:00
Nyall Dawson
bb0dfb6ba3 Doxygen says no 2021-06-10 11:03:43 +10:00
Nyall Dawson
7b19333442 Fix list formatting 2021-06-10 11:03:43 +10:00
Nyall Dawson
49e48f9383 Better approach to avoid duplicate docs 2021-06-10 11:03:43 +10:00
Nyall Dawson
4ff3f447dc Don't try to insert links in raises blocks in PyQGIS docs
These aren't formatted correctly if we do
2021-06-10 11:03:43 +10:00
Nyall Dawson
8359281012 Fix formatting of exception blocks in PyQGIS docs 2021-06-10 11:03:43 +10:00
Nyall Dawson
544708f4aa [temporal] Fix filter generation for vector temporal layers
When features have a temporal "range", we should never treat
that range as inclusive of the end (or we end up with features
appearing in multiple date ranges)

Completes fixes begun by @rduivenvoorde in https://github.com/qgis/QGIS/pull/40989

Fixes #38468
2021-06-10 09:56:25 +10:00
Juergen E. Fischer
f8e2adb84c install and package pyis (fixes #41264) 2021-06-10 00:43:05 +02:00
Nyall Dawson
76c7d11ba9 More dox fixes 2021-06-10 05:57:26 +10:00
Nyall Dawson
e262f1456c Fix layout checks 2021-06-10 05:57:26 +10:00
Nyall Dawson
0a4b9a62cf [optimization][expressions] Simplify "CASE WHEN..." expressions
during preparation wherever possible

In many situations we are able to optimize a case when expression
and replace it with a simpler expression node during the preparation
stage. Specifically, if the WHEN conditions are known to be
static values (such as those coming from certain expression context
variables) then we can often replace the whole condition node
with the THEN node of the first static true condition.

E.g.

    CASE
        WHEN @variable=1 THEN "first_field"
        WHEN @variable=2 THEN "second_field"
        ELSE "third_field"
    END

If @variable is static and '1', then the whole expression node will ALWAYS
be identical to "first_field". Similiarly if @variable='2', then the
whole expression will ALWAYS be "second_field".

If we're able to apply this optimization, then we use the simplified
effective node which represents the whole node during evaluation
time and save a bunch of unnecessary work.

TODO: If we use the effective node during expression compilation
for providers we would be able to handoff more expressions involving
QGIS-side variables and other components to the backend, resulting
in increased use of backend provider indices, etc....
2021-06-10 05:57:26 +10:00
Nyall Dawson
1bcb09abe6 __repr__ for some QgsExpressionNode subclasses 2021-06-10 05:57:26 +10:00
Nyall Dawson
ccb4146206 [api] Add signal to QgsLayoutDesignerInterface which is emitted
whenever a map item's preview image has been refreshed inside
the designer
2021-06-09 20:45:20 +10:00
Nyall Dawson
309a2a6bad Add a signal when an item is added to a layout 2021-06-09 20:45:20 +10:00
Nyall Dawson
6bd24e5d17 [api] Add QgsLayoutDesignerInterface.layoutExported signal
Emitted whenever the layout is exported from the designer
2021-06-09 20:45:20 +10:00
Nyall Dawson
e62714484f [api] Add method for plugins to retrieve results of last layout export
operation from a layout designer window
2021-06-09 20:45:20 +10:00
Nyall Dawson
2a5728720f [api] Add method for retrieving label results from QgsLayoutExporter
Allows plugins and scripts to collect statistics about the labeling
results from all map items included in a layout export
2021-06-09 20:45:20 +10:00
Nyall Dawson
643e4689a1 [api] Add method to retrieve labeling results for layout maps 2021-06-09 20:45:20 +10:00
Nyall Dawson
c95fed55f1 [api] Add labeling flag to collect unplaced labels without rendering them 2021-06-09 20:45:20 +10:00
Nyall Dawson
8e2fb49718 Add method to retrieve all labels from QgsLabelingResults, instead of just labels within a rect 2021-06-09 20:45:20 +10:00