16114 Commits

Author SHA1 Message Date
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
Nyall Dawson
57ee33ed71 Add missing file 2019-09-26 09:05:22 +10:00
Nyall Dawson
b1ee295a95 Make QgsConditionalLayerStyles a QObject
and add a "changed" signal to it, so that we can tell when the
layer's conditional styles change
2019-09-25 16:55:33 +10:00
Nyall Dawson
d43834e999 Add equality operator for QgsConditionalStyle 2019-09-25 16:55:33 +10:00
Nyall Dawson
5fa81fb8f2 Add a __repr__ method for QgsConditionalStyle 2019-09-25 16:55:33 +10:00
Nyall Dawson
6e2c7311bb Add Python __repr__ for QgsLayoutPoint, QgsLayoutSize, QgsLayoutMeasurement 2019-09-25 04:31:36 +10:00
nirvn
531e1b0715 [categorized][graduated] Handle categorized<->graduated renderer conversion
(fixes #31633)
2019-09-24 20:08:47 +07:00
Denis Rouzaud
f21e03c5ef
Merge pull request #31963 from 3nids/fix_bool_attrtable
fix false boolean not shown as so in attribute table
2019-09-24 14:31:45 +02:00
Alexander Bruy
4df50691bc
Merge pull request #31901 from alexbruy/fix-29336
[processing] correctly handle case when layer source is not a plain path (fix #29336)
2019-09-24 15:03:43 +03:00
Nyall Dawson
90bac82f12 [needs-docs][processing] Respect user set default vector output format
in vector split algorithm

The created outputs will now be created using the format specified from
the Processing setting default vector format setting.
2019-09-24 16:50:22 +10:00
Nyall Dawson
b9e223d802 Add methods to QgsProcessingContext to return the preferred vector and raster formats
These methods return a file extension to use when creating vector/raster outputs (e.g. "tif"). Generally,
it is preferable to use the extension associated with a particular parameter, which can be retrieved through
QgsProcessingDestinationParameter::defaultFileExtension(). However, in some cases, a specific parameter
may not be available to call this method on (e.g. for an algorithm which has only an output folder parameter
and which creates multiple output layers in that folder). In this case, the format returned by this
function should be used when creating these outputs.

It is the algorithm's responsibility to check whether the returned format is acceptable for the algorithm,
and to provide an appropriate fallback when the returned format is not usable.
2019-09-24 16:50:22 +10:00
Nyall Dawson
cfcf580b61 [processing][needs-docs] Resurrect setting for default raster/vector
output format

This setting is still used and required in some circumstances, e.g.
it is used as the default selection in outputs file pickers when
the previously used format is not valid.
2019-09-24 16:50:22 +10:00
Nyall Dawson
08c55780b3 Followup cbc86ffc1ac
Fix exceptions, breakage of raster output format handling
2019-09-24 16:49:57 +10:00
Nyall Dawson
d4ce50c2b1 [processing] Add API support for algorithm aliases
Allows us to freely move algorithms between providers without
breaking existing scripts
2019-09-24 16:48:39 +10:00
Alexander Bruy
78a289348a use html.escape to escape strings 2019-09-24 09:27:29 +03:00
Denis Rouzaud
0caa93c401 also consider non boolean fields 2019-09-24 07:53:11 +02:00
Nyall Dawson
425afaa270 A little dox improvement to test sip prepare-commit changes 2019-09-24 03:43:42 +10:00
Nyall Dawson
39cfd0f935 [needs-docs] Show color button style "Pick color" and "Chooe Color" actions
in symbol button menu

Synchronizes the behavior of the color and symbol buttons

Fixes #25696
2019-09-24 03:41:51 +10:00
Nyall Dawson
2ff91d24a9 Move methods to sample screen pixels to QgsGui 2019-09-24 03:41:51 +10:00
Denis Rouzaud
be4bd42a2c fix spelling 2019-09-23 17:32:46 +02:00
Denis Rouzaud
e31e9a32b8 fix false boolean not shown as so in attribute table 2019-09-23 17:08:08 +02:00
Alexander Bruy
20583a8004 use GDAL connection string to support not only file-based layer but also
database and WFS
2019-09-23 11:53:19 +03:00
Alexander Bruy
dceabb0e29 use another approach for test 2019-09-23 11:53:19 +03:00
Alexander Bruy
3c13fbfeb5 [processing] correctly handle case when layer source is not a plain path
in the virtual vector algorithm (fix #29336)
2019-09-23 11:53:19 +03:00
Alexander Bruy
cebdc8dded [dbmanager] don't ignore field modifiers (e.g. length or geometry
definition) when updating it (fix #27613)
2019-09-23 06:01:56 +10:00
Matthias Kuhn
0bbebbc83a
Merge pull request #31905 from KDAB/fix_26948
Block the events while showing a dialog
2019-09-22 16:27:16 +02:00
BogDan Vatra
f96c4a2308 Block the events while showing a dialog
When showing a file dialog, Qt can choose to use the "system" file
dialog, which will make QgsExternalResourceWidget to loose the focus.
This patch blocks all the events that are sent to
QgsExternalResourceWidget while a dialog is shown, this way it will keep
the focus until the dialog is closed.

Sponsored by the QGIS project (qgis.org)

Fixes: #26948
2019-09-22 12:28:52 +03:00
Alexander Bruy
54c23d137f [dbmanager] handle attempts to edit raster tables (fix #30214) 2019-09-21 06:05:42 +10:00