6164 Commits

Author SHA1 Message Date
Nyall Dawson
a1de92cc52 Add missing transfer 2025-05-02 06:07:14 +10:00
Jean Felder
a00f47c773 qgsproject: Add a sip removeMapLayers code to fix qt6 version
With this new method code, it is now possible to use
`QgsProject::removeMapLayers` with a list of layers or a list of
layers IDs in qt5 and qt6.

Co-authored-by: bdm-oslandia <benoit.de.mezzo@oslandia.com>
2025-05-01 10:33:58 +10:00
Nyall Dawson
6bd91f8381 [processing][api] Add API for an algorithm to auto-set parameter values
Adds an API which an algorithm can implement to support auto-setting
parameter values. This is designed to handle the case
of eg an algorithm which does a file format translation, where
it's desirable to default the output parameter value to an input
parameter value with a different extension.

This can now be done by implementing autogenerateParameterValues
in the algorithm, eg:

    def autogenerateParameterValues(self, existingParameters, changedParameter, mode):
        if changedParameter == self.INPUT:
            input_file = existingParameters.get(self.INPUT)
            if input_file:
                input_path = Path(input_file)
                if input_path.exists():
                    # auto set output parameter to same as input but with 'qgs' extension
                    return {self.OUTPUT: input_path.with_suffix('.qgs').as_posix()}

        return {}

Works for both toolbox and batch modes for algorithms
2025-04-30 13:56:09 +10:00
Nyall Dawson
31ac029d0a Move processing dialog mode enum to Qgis and rename 2025-04-30 13:56:09 +10:00
Jean Felder
e318460718 qgsmeshlayer: Introduce closestElement
This is a generalization of `snapOnElement`, since it allows to also
get the element (face, vertex or edge) index.
2025-04-30 12:08:39 +10:00
Valentin Buira
f56f85dc7c
Add basic drag and drop support in the model designer (#60664) 2025-04-30 09:47:48 +10:00
Nyall Dawson
1efd5df8d6 Add method to return total number of tiles in a QgsTileRange 2025-04-24 12:00:42 +02:00
Nyall Dawson
67036b670f Add isMaximal method to QgsRectangle 2025-04-24 12:00:42 +02:00
Nyall Dawson
c0a3e90ecf Fix misc tests 2025-04-22 11:45:25 +10:00
Nyall Dawson
c2ee323793 [feature] Add labeling setting to prevent duplicate labels within xx mm
Improves the appearance of labels in situations like road networks,
where things like dual carriageways, service roads, etc can result
in many labels of the exact same text appearing close to each other.

When active, removes any labels with the exact same text (case
sensitive!) which are closer then this minimum distance.

The setting applies across layers, so duplicate text from ANY
layer will be considered.
2025-04-22 11:45:25 +10:00
Nyall Dawson
4d98f21d67 [feature] Add 'margin around labels' setting for labeling
Allows setting a margin around a layer's labels, which prevents
other labels from being placed closer than this margin distance
to the layer's labels.
2025-04-22 11:45:25 +10:00
Nyall Dawson
255d4b3ce2 Add method to test if QgsMapUnitScale is null 2025-04-22 11:45:25 +10:00
Matthias Kuhn
6aac924cc2
Merge pull request #60134 from btzy/codearg
Open and load --code file and --py-args arguments in C++
2025-04-21 19:52:14 +02:00
Juergen E. Fischer
393ca14c4a fix windows build 2025-04-21 19:33:28 +02:00
Nyall Dawson
5783ee74d4 Better examples 2025-04-19 18:17:34 +10:00
Nyall Dawson
4a6fef278e Cleanup docs, don't mention QString in python docs 2025-04-19 18:17:34 +10:00
Nyall Dawson
a8ae54ca44 Fix truncated PyQGIS docs for QgsCoordinateReferenceSystem 2025-04-19 18:17:34 +10:00
Nyall Dawson
161ef62ca0 Fix inconsistent heading warnings when building PyQGIS docs
Fixes missing subclass/base class sections in some class docs (
eg QgsVectorLayer)
2025-04-19 18:17:34 +10:00
Even Rouault
e68e87ad6c
Merge pull request #61515 from rouault/wfs_no_gmlas_if_transaction
[WFS Provider] Add a UI and URI parameter featureMode=default/SimpleFeatures/ComplexFeatures
2025-04-17 12:54:24 +02:00
Alexander Bruy
b9402aad41
Merge pull request #61501 from nyalldawson/fill_block
Add optimised method to fill a QgsRasterBlock with a constant value
2025-04-17 09:51:15 +01:00
Julien Cabieces
fa9f3dd21b refactor(core): Use unique_ptr when class has clear ownership 2025-04-17 08:26:26 +10:00
Even Rouault
46da0ab329
[WFS Provider] Add a UI and URI parameter featureMode=default/SimpleFeatures/ComplexFeatures
Fixes #61476 / #61493

The analysis of DescribeFeatureType response with the GMLAS driver makes
appear fields that are not supported by the
addFeatures()/changeAttributeValues() method. So if transaction support
is detected and featureMode=default, use QGIS built-in analyser to get
SimpleFeatures only. Otherwise try the GMLAS method.
2025-04-16 20:53:43 +02:00
Nyall Dawson
2925f42dfa
Add optimised method to fill a QgsRasterBlock with a constant value 2025-04-16 14:35:25 +10:00
Bernard Teo
c55a567070
Open and load --code file in C++ 2025-04-16 00:30:00 +08:00
Alexander Bruy
c0491d6997
Merge pull request #61321 from alexbruy/harmonize-create-options-naming
Harmonize terminology related to create options
2025-04-15 08:06:44 +01:00
Nyall Dawson
005908f073 Expose method to python, rename 2025-04-15 16:05:33 +10:00
Alexander Bruy
78cdb4216b add SIP deprecation tags to deprecated methods 2025-04-14 20:12:15 +01:00
Alexander Bruy
d7fd6fd619 use more semantic argument name 2025-04-12 11:00:42 +01:00
Alexander Bruy
dfe0e16660 harmonize terminology related to creation options with GDAL 2025-04-12 11:00:41 +01:00
Nyall Dawson
0e6d5f5593 Properly silence overloaded-virtual warning on Fedora 42 2025-04-12 06:38:32 +10:00
Nyall Dawson
887fffa3dd Fix missing docstring 2025-04-11 10:28:38 +10:00
Nyall Dawson
0fc05051dd Fix docstrings for QgsDateRange/QgsDateTimeRange
We can't rely on sip to generate these -- it outputs malformed
docstrings where the constructor docs are incorrectly placed
before the class docstrings
2025-04-11 10:03:58 +10:00
Nyall Dawson
54d078ed7a Add missing SIP_OUT annotations
Fixes #54404 (at least, the remaining discernable portions of that ticket)
2025-04-11 05:42:02 +10:00
Nyall Dawson
1f31e41d20 Fix project zip creation from QTemporaryFile
QTemporaryFile creates an empty file in order to reserve the
filename, so we need to allow overwriting of existing files
2025-04-10 11:21:54 +10:00
Nyall Dawson
bdb5904283 Fix more malformed docstrings, enforce correct format in sipify 2025-04-09 14:04:24 +10:00
Nyall Dawson
fb645f0e04 Fix another documentation build warning 2025-04-09 14:04:24 +10:00
Nyall Dawson
fc76784e09 Misc documentation fixes causing errors in PyQGIS doc builder 2025-04-09 14:04:24 +10:00
Nyall Dawson
1e1c415261 Allow data-defined control over legend wrap distance 2025-04-09 13:09:36 +10:00
Nyall Dawson
bbdc235c61 Drop units API for auto wrap distance
This isn't exposed, and needs more thought before it is (should
we use RenderUnits or LayoutUnits?)
2025-04-09 13:09:36 +10:00
Nyall Dawson
61009bdf95 [feature] Add auto-wrap after setting for layout legends
Allows legend text to be automatically wrapped after a set
line length (in millimeters).

This can prevent very wide auto-generated legends.

Sponsored by North Road, thanks to SLYR
2025-04-09 13:09:36 +10:00
Julien Cabieces
68dd8200c1
Merge pull request #61195 from troopa81/feat_groupwmsdata
[Server] Add server properties on layer tree group
2025-04-07 14:01:35 +02:00
Mathieu Pellerin
6771869a30
[symbology] Fix [categorized,graduated] symbol renderer UUID collision leading to unstable experience (#61292) 2025-04-07 15:20:53 +07:00
Nyall Dawson
d4027f3c09 [sipify] Strip \ref tags 2025-04-03 11:44:59 +10:00
Nyall Dawson
8565a63e1a Fix ref 2025-04-03 11:44:59 +10:00
Nyall Dawson
d868fb1e30 Fix missing docstring 2025-04-03 11:44:59 +10:00
Nyall Dawson
71420a5628 Cleanup global constants
- Deprecate global geographic crs strings, these should not be used
- Move some global constants to Qgis, and monkey patch for
  API compatibility
- Deprecate global qgsVsiPrefix. Use QgsGdalUtils::vsiPrefixForPath()
  instead
2025-04-03 11:44:59 +10:00
Nyall Dawson
9435a84ff7 sipify 2025-04-03 01:05:31 +10:00
qgis-bot
a7d8d418d1 auto sipify 🍺 2025-04-02 08:25:46 +00:00
Alexander Bruy
34aedd067d
Merge pull request #60710 from GispoCoding/59494_merge_policies
Add merge policies
2025-04-02 09:22:52 +01:00
David Koňařík
5b9bb8b056 Parallelise point cloud attribute editing 2025-04-02 09:26:45 +02:00