23234 Commits

Author SHA1 Message Date
Germán Carrillo
8b706bac64 [core] Add option 'Use only selected features' to DXF export 2024-03-12 12:07:42 +10:00
Mathieu Pellerin
12bc99414c
Merge pull request #56779 from nirvn/sensor_serial_delimiter
Serial port sensor's data frame delimiter
2024-03-11 15:03:17 +07:00
Mathieu Pellerin
681b83598c
Merge pull request #56655 from nirvn/valuerelation_groupby
[editor widgets] Implement value relation's grouping functionality
2024-03-11 14:55:14 +07:00
mhugent
53153b5c5b
Merge pull request #56428 from mhugent/dxf_data_defined_blocks
Create DXF blocks for point symbols with data defined properties
2024-03-11 07:36:40 +01:00
Andrea Giudiceandrea
5c46dab5ce Apply suggested changes from code review
Don't rename translation context
2024-03-11 14:51:01 +10:00
Andrea Giudiceandrea
a3bb769887 [GRASS] Rename more references to grass7 2024-03-11 14:51:01 +10:00
Mathieu Pellerin
4394ceafbe [editor widgets] Store value relation's group values as variants 2024-03-11 11:40:55 +07:00
Mathieu Pellerin
848a1f3d3b [editor widgets] Implement value relation widget's grouping for combobox and table widgets 2024-03-11 11:40:55 +07:00
Mathieu Pellerin
0995197eb6 Address review 2024-03-11 09:32:40 +07:00
Mathieu Pellerin
6619dc738b [sensors] Add new data frame delimiter option for the serial port sensor 2024-03-10 09:33:17 +07:00
Nyall Dawson
9d281971d5 Add QgsCoordinateReferenceSystem method to create a compound CRS 2024-03-10 12:19:04 +10:00
Nyall Dawson
b2c1fff11a [api] Add method to retrieve vertical CRS from QgsCoordinateReferenceSystem
Returns the vertical CRS associated with this CRS object.

In the case of a compound CRS, this method will return just the vertical CRS component.

An invalid CRS will be returned if the object does not contain a vertical component.
2024-03-10 06:40:39 +10:00
Nyall Dawson
07294f7252 Add elevation range to QgsProjectElevationProperties
And expose through Project Properties elevation settings widget

This setting allows users to specify the upper and lower
elevation limits associated with the project. (I.e. its an
equivalent to QgsProjectTimeSettings::temporalRange)
2024-03-09 06:57:53 +10:00
Nyall Dawson
7892bd855b Register QgsIntRange/QgsDoubleRange as metatypes 2024-03-09 06:57:53 +10:00
Jacky Volpes
ae57030135 Fix global QGIS setting key in check validity algorithm 2024-03-08 09:13:32 +10:00
Nyall Dawson
4e874a3c75 [console] Minor cleanups
- Add some typehints
- Avoid creating an unnecessary local variable
2024-03-07 14:17:22 +01:00
Nyall Dawson
fbbe690283 [console] Ensure stored last dir path settings is always a folder
This prevents a bug where the save action in the Python console
keeps defaulting back to the binary QGIS install folder
2024-03-07 14:17:22 +01:00
Nyall Dawson
4dcdddaa02 [console] Don't needlessly store QgsSettings objects
These are cheap to construct by design, so we can avoid
storing them and the messy cross-class access to member
variables
2024-03-07 14:17:22 +01:00
Nyall Dawson
222f05edea Add API to overlay widgets over the map canvas
E.g.

  iface.mapCanvas().addOverlayWidget(w, Qt.Edge.LeftEdge)

will float the `w` widget over the left edge of the map canvas
2024-03-07 06:32:28 +10:00
Nyall Dawson
07470d4bd9 [api] Create QgsOverlayWidgetLayout
This custom QLayout class allows for overlaying child widgets on top
of their parent widget.

It can be used like this:

   layout = QgsOverlayWidgetLayout()
   parent_widget.setLayout(layout)

   layout.setContentsMargins(20,20,20,20)
   layout.addWidget(QGroupBox(), Qt.Edge.LeftEdge)
   layout.addWidget(QLabel('My label on top of a parent!'), Qt.Edge.TopEdge)
   layout.addWidget(QGroupBox(), Qt.Edge.TopEdge)
2024-03-07 06:32:28 +10:00
Julien Cabieces
533a7170ec update version 2024-03-06 19:07:05 +01:00
Julien Cabieces
101a5cccf7 [Feat] Add crs information in WMS GetFeatureInfo output 2024-03-06 19:07:05 +01:00
Andrea Giudiceandrea
a0c88b15a1 Apply suggestion from code review 2024-03-05 10:38:16 +10:00
Andrea Giudiceandrea
9c32e69f88 [processing] Fix "Random points along line" alg
Avoid various errors in case of empty input layer, empty/null geometries, invalid geometries, linestrings with zero-length segments...
2024-03-05 10:38:16 +10:00
Matthias Kuhn
7e64f788b4
Merge pull request #56289 from m-kuhn/no-leak-build-path
Do not leak build system paths into public headers
2024-03-04 22:27:44 +01:00
José de Paula R. N. Assis
b05d957b4d Replaced QComboBox.activated[str]() with QComboBox.texActivated() 2024-03-05 05:31:11 +10:00
José de Paula R. N. Assis
b815d34d1e Using QElapsedTimer instead of QTime in DB Manager 2024-03-05 05:31:11 +10:00
José de Paula R. N. Assis
57d60c7161 DB Manager: tweaks for running Qt6
Small tweaks to running in Qt 6(removed obsolete method calls
QTime().start() and QTime().elapsed(), and changed an overloaded slot
(QComboBox::activated()) to a non-overloaded one (textActivated()).
2024-03-05 05:31:11 +10:00
Matthias Kuhn
912ae75fb0
Merge branch 'master' into no-leak-build-path 2024-03-04 09:10:53 +01:00
Nyall Dawson
e22a1d605b [feature][layouts] Add z range filter option for layout maps
Similar to the existing setting for temporal filtering of 2d layout
maps, this setting allows users to set a specific elevation/z range
for a layout map item. When set, map layers with support for 2d
z range filtering (currently point clouds and raster DEMs) will
be filtered to show only content within this range.

The z range can be data-defined, allowing differing z range
for different atlas or report features.
2024-03-04 17:00:24 +10:00
Nyall Dawson
24edefb684 Add extent based filtering for SensorThings layers
Allows users to set an extent limit for the layer, so that
features are only ever loaded within this extent

The extent can be set from the data source manager before adding
the layer initially, or modified from the layer properties, source
tab.
2024-03-04 08:26:10 +10:00
Nyall Dawson
bb379242fc Add filter for provider origin fields only to QgsFieldProxyModel 2024-03-04 08:14:01 +10:00
Nyall Dawson
4284b8645b Use vector instead of list for better performance
This container is expected to have only a handful of items in it
in most cases and will rarely change => QVector is a better choice
2024-03-04 07:25:51 +10:00
Nyall Dawson
c40a1ef3bb Further cleanups to QgsRasterTransparency API
Avoid confusing mix of transparency vs opacity, multiple scaling
and round trips through integers.
2024-03-04 07:25:51 +10:00
Nyall Dawson
c162375965 [api] Add explicit setting for includeMinimum/Maximum
to QgsRasterTransparency.TransparentSingleValuePixel. Allows (via
API only) control over whether the extremities of the range
should be included in the transparency.

Also add equality operator, repr to these classes, and additional
tests
2024-03-04 07:25:51 +10:00
Nyall Dawson
65ba3ddfef Cleanup QgsRasterTransparency API
- Make classes less like to be created with uninitialized members
- Use opacity instead of transparency, to match API from elsewhere in
  QGIS
2024-03-04 07:25:51 +10:00
Jean Felder
f1d050c528 algfactory: Add support for pure date and time decorators
The existing `alg.DATETIME` decorator only allows to define a
`QgsProcessingParameterDateTime` as a datetime.
This change allows to also define a `QgsProcessingParameterDateTime`
as a pure date or time by adding `alg.DATE` and `alg.TIME`.
2024-02-29 07:33:12 +10:00
Even Rouault
a68422b982 Various typo fixes
Including 3 public methods, which are deprecated by this commit and replaced by a typo-fixed version
2024-02-29 06:03:03 +10:00
Even Rouault
212396c4ed Allow non-explicit supportsQt6 plugins to be installed if (developper-intended) QGIS_DISABLE_SUPPORTS_QT6_CHECK env var is set 2024-02-29 03:31:18 +10:00
Marco Hugentobler
3abf199f5f Change method naming and comments 2024-02-28 18:06:12 +01:00
Nyall Dawson
80c0c385f8 Use better python repr for null QgsRectangle 2024-02-28 13:00:01 +10:00
Jacky Volpes
8983852288 Note precision about method becoming public 2024-02-28 12:34:26 +10:00
Jacky Volpes
fdc64b79a0 Sipify 2024-02-28 12:34:26 +10:00
Jacky Volpes
a137a459a8 Remove expression evaluation in layout legend widget 2024-02-28 12:34:26 +10:00
Nyall Dawson
150543c6f1 Remove resources.qrc 2024-02-28 11:23:47 +10:00
Nyall Dawson
b45f68274c Remove another compiled icon use 2024-02-28 11:23:47 +10:00
Nyall Dawson
b369f1e1b0 Port dbmanager away from compiled resources
These are not recommended, and removed in PyQt6
2024-02-28 11:23:47 +10:00
Nyall Dawson
86eb5daf9e Remove unused class 2024-02-28 11:23:47 +10:00
Nyall Dawson
ebea330398 Add data provider flags for FastExtent2D/FastExtent3D
These flags reflect that retrieval of the provider's 2D or 3D extent
retrieval via QgsDataProvider::extent()/extent3D() are ALWAYS guaranteed
to be trivial/fast to calculate and involve absolutely no extra work.
2024-02-28 06:04:50 +10:00
Even Rouault
f36caa7274 [Qt6] Fix crash with Python on QgsLocatorResult::userData (fixes #56456) 2024-02-28 06:04:20 +10:00