23509 Commits

Author SHA1 Message Date
AlisterH
47f7b3a498 Update r.param.scale.txt
Correct stated maximum value for "size" parameter.
Don't know why it would have been 69 - maybe someone intended to make that the default value?
2024-07-02 17:21:35 +10:00
Matthias Kuhn
52f98f8c83
Merge pull request #57834 from m-kuhn/no_pyuic
[plugins] Remove dependency on pyuic
2024-06-30 08:44:08 +02:00
Matthias Kuhn
305cd60593 Copy ui files to output folder
to fix run from build dir
2024-06-30 07:43:35 +02:00
Nyall Dawson
87d9a3e7b2 Don't go to massive negative numbers when incrementing a NULL spin box
When a spin box is showing a NULL value, we DON'T do the default step
behavior, as that would add one step to the NULL value, which is usually
a very large negative value... so the user will get a very large negative number!

Instead, treat the initial value as 0 instead, and then perform the step.
2024-06-29 06:15:01 +10:00
Nyall Dawson
b0929e4ced Also permit drag and drop onto multi layer line edit
We supported drag and drop onto the full expanded panel, now
also support dropping onto the summary line edit widget too
2024-06-27 17:05:59 +10:00
Nyall Dawson
7ec94dc2c3 Only run gdal_grid, gdal_rasterize tests on GDAL 3.7+
The inputs we use for these run tests have open options, and now
that we are respecting these and passing them to the GDAL command
we can't run these tests on the earlier GDAL versions which
didn't support open options.

The commands generated by the corresponding algorithms are already
well tested and still run on the earlier GDAL releases, it's just
the actual run test which will be skipped.
2024-06-27 13:07:25 +10:00
Nyall Dawson
2d27784cee Raise exceptions if open options not supported by GDAL version 2024-06-27 13:07:25 +10:00
Nyall Dawson
c0ad63cf36 Regenerate some GDAL output reference files
We now pass on the FORCE_SRS_DETECTION=YES open option which we
were previously dropping, so the results for these commands is
slightly different

Also drop test for older GEOS versions, it's covered by a test
for more recent versions and we have extensive test covering
the GDAL command line for this tool anyway.
2024-06-27 13:07:25 +10:00
Nyall Dawson
e38849d750 Fix running GDAL algorithms on cloud storage layers
Correctly generate commands when run on eg /vsis3/ layer sources,
and translate credential options to "--config KEY VALUE" arguments
for GDAL commands
2024-06-27 13:07:25 +10:00
Nyall Dawson
2ab2d34947 Correctly handle open options for raster GDAL algorithm inputs
And handoff to GDAL command when command supports them
2024-06-27 13:07:25 +10:00
Nyall Dawson
18efe655e9 Pass vector layer open options over to GDAL command
Ensures that processing tools which use vector layers with open
options work correctly, respecting the layer's open option settings
2024-06-27 13:07:25 +10:00
Nyall Dawson
36e3c43f84 Make getOgrCompatibleSource API more flexible 2024-06-27 13:07:25 +10:00
Nyall Dawson
46a4241ace minor cleanup 2024-06-27 13:07:25 +10:00
Nyall Dawson
dcacebaeaa Cleanup API for GDAL processing provider uri conversion 2024-06-27 13:07:25 +10:00
Nyall Dawson
190108e7f1 Fix automatic font download on Windows 2024-06-27 06:17:13 +10:00
Nyall Dawson
5e34d07bad Fix incorrect icon used for OGR items with vsi cloud driver prefixes
... and make API more useful for other use cases.

The zip icon should not be used for cloud based vsi prefixes
2024-06-27 06:15:40 +10:00
Nyall Dawson
1f1c5c952e Add ReadOnly flag for browser data items
Allows suppression of the standard user actions for managing
file based data items. Could be used in future to restrict
other browser actions for sources which the user does not
have permission to modify.
2024-06-26 21:51:13 +10:00
Alexander Bruy
ad126316d3 use core raster options widget in GDAL algorithms 2024-06-26 21:50:27 +10:00
Mathieu Pellerin
2fb1de2ce1
Merge pull request #57584 from nirvn/cad_construction_guides
[advanced digitizing] Implement visual construction guides
2024-06-25 15:35:01 +07:00
Nyall Dawson
16c38f1d0e Remove old QPainterPath mask backend
Always use new geometry based backend, and deprecate related methods

The new method is more stable and results in better outputs
2024-06-25 12:42:16 +10:00
Andrea Giudiceandrea
b120bad22d [db manager] Allow Rename action for rasters in GPKG with GDAL >=3.10 2024-06-25 09:48:11 +10:00
Nyall Dawson
d4f9914288 Create QgsGdalCredentialOptionsWidget
A resuable widget for configuration GDAL credential options
for vsi file systems
2024-06-25 06:07:58 +10:00
Nyall Dawson
de64e3b8d3 Cleanup Python Console settings layout 2024-06-24 18:40:00 +10:00
Nyall Dawson
5c3d9d21f3 Move Github token setting to new "IDE" options page
This setting doesn't apply to only the Python Console, so it
belongs in a different settings page
2024-06-24 18:40:00 +10:00
Nyall Dawson
c357e651a9 Share on GIST should not require a selection
If no selection, the entire document is shared
2024-06-24 18:40:00 +10:00
Nyall Dawson
8dcb158394 Move "share on gist" logic to QgsCodeEditorWidget
Allows this functionality to be used by other code editors, not
just console script editor
2024-06-24 18:40:00 +10:00
Alessandro Pasotti
4b38aad3d1
Merge pull request #57754 from agiudiceandrea/fix-57751-dbmanager-delete-raster-gpkg
[DB Manager] Fix delete raster layer in GeoPackage (Fix #57751)
2024-06-24 10:01:08 +02:00
Mathieu Pellerin
73c886ac97 [api][processing] Also move inputParameterName() and inputParameterDescription() to public 2024-06-24 06:40:55 +10:00
Mathieu Pellerin
1aa1c35c94 [api][processing] QgsProcessingAlgorithm's supportsInPlace function should be public 2024-06-24 06:40:55 +10:00
Matthias Kuhn
fd663cc021 [plugins] Remove dependency on pyuic
Eases plugin development and deployment
2024-06-22 14:34:06 +02:00
uclaros
15ebae07df add userData property to 2024-06-22 10:23:34 +10:00
Nyall Dawson
970196c84a Expose setting for external Python editor
Adds user visible option to set the external Python code editor,
from the Settings - Options - IDE - Python tab.
2024-06-22 06:41:05 +10:00
Nyall Dawson
73ff4adc7e Rename "Python Console" settings page to "Python"
These settings apply outside of the console, eg in the processing
script editor, so using "Python Console" is misleading.
2024-06-22 06:41:05 +10:00
Nyall Dawson
557453bd8f Fix vertical spacing in python console settings 2024-06-22 06:41:05 +10:00
Juergen E. Fischer
ef9dbf6cb4 implement separate wfs title (implements #55317) 2024-06-21 21:20:53 +02:00
Nyall Dawson
5e752537dc Use SymbolRenderHint for flagging subsymbols
Instead of the extra argument to startRender
2024-06-21 23:10:32 +10:00
Nyall Dawson
5268e0ee0c Add optional flag to force global ("entire map") clipping paths
This is a new opt-in flag for map settings/render context/layouts.
If set, then when applying clipping paths for selective masking,
we always use global ("entire map") paths, instead of calculating
local clipping paths per rendered feature. This results in
considerably more complex vector exports in all current Qt versions,
but gives us a way to force this IF/when a future Qt version adds
optimisations which make global masks desirable.
2024-06-21 23:10:32 +10:00
Nyall Dawson
fced4e16d0 Add CanCalculateMaskGeometryPerFeature flag to "simple" symbol layers
These are the symbol layer classes where there's no special logic
required relating to feature rendering and features are rendered
one-by-one, with no sub symbols.
2024-06-21 23:10:32 +10:00
Nyall Dawson
0ca28af9a0 Greatly optimise selective masking vector exports
Optimise the logic used when the new geometry backend for
selective masking is in effect:

Whenever its SAFE, instead of calculating an "entire map" clipping
path and then applying this for every feature being rendered,
we now defer the calculation of the clipping path until we
are rendering individual features. Then, we create a clipping path
which contains ONLY the mask paths which are within the area
being drawn over.

This avoids having the entire map clipping path being used for
EVERY feature being rendered, which results in huge PDF/SVG
exports when masks are in effect, and instead results in
clipping paths which are confined just to a sensible area
around each rendered feature.

In some complex test projects this reduces the PDF export
size by a factor of 0.01!! (and results in PDFs/SVGs which
open much quicker in viewers and editors, and don't grind
their operation to a halt).
2024-06-21 23:10:32 +10:00
Nyall Dawson
7d49b89265 Make installMasks return TRUE if any masks were found and installed 2024-06-21 23:10:32 +10:00
Nyall Dawson
3c2ff6894a Add argument to QgsSymbol::startRender for whether symbol is subsymbol
Allows us to know in startRender whether the symbol is actually
a subsymbol for a QgsSymbolLayer. Currently unused.
2024-06-21 23:10:32 +10:00
Nyall Dawson
9181953df7 Add method to collect symbol layer clip geometries intersecting given bounds 2024-06-21 23:10:32 +10:00
uclaros
f82e803317 preserve MDAL mesh metadata when editing mesh layers 2024-06-21 12:29:11 +02:00
Nyall Dawson
5d81083c91 Add note about raster based exports 2024-06-20 05:41:37 +10:00
Nyall Dawson
f8172c48ed Add function to test whether clip geometries exist for a symbol layer 2024-06-20 05:41:37 +10:00
Nyall Dawson
32b62447f6 Add on-the-fly simplification support to QgsGeometryPaintDevice 2024-06-20 05:41:37 +10:00
Nyall Dawson
e931b9ade6 Add mask render settings to QgsMapSettings/QgsRenderContext
And API mechanism to propagate these from layout exports down
to the render context

Gives us a place to specify fine-tuned control over masking
settings for map renders
2024-06-20 05:41:37 +10:00
Nyall Dawson
102874e6d2 Port geos simplify linestring
Add QgsAbstractGeometry::simplifyByDistance, which is a direct
port of GEOS Douglas Peucker algorithm.

This is a trivial algorithm to implement, and we benefit from
avoiding the conversion to/from GEOS geometries.
2024-06-20 05:41:37 +10:00
Nyall Dawson
21935668ba Move logic for connection item deletion to new class
Adds a new "QgsDataItemGuiProviderUtils" class, with a generic
function for handling deletion of browser connection items.

Replace all the duplicate connection deletion logic from the
different browser connection providers with calls to the
generic function.

In addition to removing a lot of duplicate code, the new
generic function correctly handles deletion of multiple
selected connections (previously, only the first connection
would actually be removed).

Fixes #26276
2024-06-19 16:59:00 +10:00
Nyall Dawson
c214527a8e Add convenience function to filter a list of QgsDataItem to a subclass 2024-06-19 16:59:00 +10:00