23420 Commits

Author SHA1 Message Date
Nyall Dawson
a34669e784 Add code editor color scheme option for search match highlight color 2024-05-10 06:11:36 +10:00
Nyall Dawson
a484895363 Fix some checks 2024-05-10 06:10:59 +10:00
Nyall Dawson
e59c0df8a8 Port decorated scrollbar widget class from QtCreator
Allows decorating scrollbars with colored highlight bars
2024-05-10 06:10:59 +10:00
Nyall Dawson
564f3b85c7 Use QgsCodeEditorWidget in expression builder dialog
Adds Ctrl+F search bar support to expression builder dialog
2024-05-10 06:10:30 +10:00
Nyall Dawson
61b72b7d96 Fix see also 2024-05-10 06:09:56 +10:00
Nyall Dawson
a095dc5e4e Hide settings which don't apply for heatmap legends 2024-05-10 06:09:56 +10:00
Nyall Dawson
59bc838172 Show a color ramp legend for vector heatmap layers
Instead of showing no legend for these layers, show the color
ramp as a gradient bar

Fixes #54772
2024-05-10 06:09:56 +10:00
Nyall Dawson
04f96fcf4b Move responsibility for creating vector legend nodes to renderer
This will allow renderer subclasses to create legend nodes which
aren't QgsSymbolLegendNodes.
2024-05-10 06:09:56 +10:00
Nyall Dawson
e9976c2ee7 [processing] Show more detail in history dialog
Use a tree display for processing history entries, where the root
item for each entry shows the full algorithm log when clicked,
and the python/qgis_process commands are instead shown as child
items

This provides more useful information for users browsing the history,
while still making the all the previous information available
2024-05-10 06:09:33 +10:00
Nyall Dawson
d87644c7db Add GPS navigation status to QgsGpsInformation 2024-05-10 06:09:15 +10:00
Nyall Dawson
997648baa9 Add 'over point' placement option for cartographic label mode
This adds a new option for placement when labels are set to the
"cartographic" mode, for "O" = "over point". When a feature's
data defined placement priorities include this new 'O' option,
a label can be placed directly over the corresponding point.

Sponsored by Rubicon Concierge Real Estate Services
2024-05-10 06:08:50 +10:00
signedav
d0d2023978
Merge pull request #57217 from signedav/duplicatepolicy
Duplicate policy on QgsFields when duplicate features
2024-05-08 19:53:31 +02:00
Nyall Dawson
1e8c00354f Move QgsCodeEditorWidget to a new file 2024-05-08 11:56:35 +10:00
Nyall Dawson
8654d57f16 Rename methods for clarity 2024-05-08 11:56:35 +10:00
Nyall Dawson
347191e797 Add since 2024-05-08 11:56:35 +10:00
Nyall Dawson
b7f0770633 Introduce QgsCodeEditorWidget
This widget wraps an existing QgsCodeEditor object in a widget which provides
additional standard functionality, currently a line-for-line port of the Python
console script editor search tools.

The caller must create an unparented QgsCodeEditor object
(or a subclass of QgsCodeEditor) first, and then construct a
QgsCodeEditorWidget passing this object to the constructor.

Ideally, this functionality would be added to the base QgsCodeEditor
class itself. But this is NOT possible without considerable API
breakage, as QgsCodeEditor currently inherits the QsciScintilla widget.
We cannot change QgsCodeEditor to inherit a generic QWidget
container containing a QsciScintilla widget + other widgets in
a layout without breaking API. I've added a cleanup note for
QGIS 4.0 here.
2024-05-08 11:56:35 +10:00
signedav
cfe71973c2 rename FieldDomainDuplicatePolicy to FieldDuplicatePolicy because - not like the Merge or Split Policy it does not affect the FieldDomains but only the Fields instead 2024-05-07 14:28:15 +02:00
uclaros
eee787f825 return magnitude multiplier based on units set 2024-05-07 10:22:36 +02:00
uclaros
3d4c19d3b3 Add support for Wind Barb rendering for mesh vector datasets 2024-05-07 10:22:36 +02:00
Jean Felder
13109d7577 qgs3dmapscene: Fix python bindings availability note
Qgs3DMapScene is now available in Python bindings.

See: 176807bc35
2024-05-04 06:31:11 +10:00
Nyall Dawson
2f5ad6b51f Add Run Selected option to right click menu for selected algorithms 2024-05-04 06:30:43 +10:00
Nyall Dawson
e6fb69c41e Also add "Run from Here" action to right click menu on algorithms
Allows running the part of the model which starts at the right
clicked algorithm only
2024-05-04 06:30:43 +10:00
Nyall Dawson
20d9657f19 Add mechanism to merge results across different model execution runs
So that if a part model was run from a previous state, we can
generate the complete state of model results across both runs
2024-05-04 06:30:43 +10:00
Nyall Dawson
8cd3c547ee Add API framework for setting initial state of a model algorithm
And allow execution of just a subset of child algorithms from
a model, using the initial state as a starting point

This will allow "resuming" a model, running part of a model using
the state from a previous execution.
2024-05-04 06:30:43 +10:00
Nyall Dawson
86cf8f8815 Store more model execution details for later retrieval 2024-05-04 06:30:43 +10:00
Nyall Dawson
834167018e Add algorithmAboutToRun signal to QgsProcessingAlgorithmDialogBase
This signal can be used to tweak the algorithm's context prior to
the algorithm execution.
2024-05-04 06:30:43 +10:00
Nyall Dawson
6ee262f401 Add option to invert the elevation filter widget
If checked, this option reverse the slider in the elevation filter
so that the widget goes from high values at the bottom to low values at the top.

See justification in https://github.com/qgis/QGIS/issues/56995

Fixes #56995
2024-05-01 13:48:19 +10:00
Nyall Dawson
1698bd3391 Store elevation filter fixed range size in project
Remember this setting between sessions for a project
2024-05-01 13:48:19 +10:00
Nyall Dawson
c434eb8585 Update test for newer GRASS 2024-05-01 13:45:55 +10:00
Nyall Dawson
43fb3b57e3 Remove deprecation marking breaking qt 6.7 build 2024-05-01 13:45:55 +10:00
Nyall Dawson
f02841dd5d Remove Q_DECL_DEPRECATED from constructor
Even though this class is deprecated, this breaks the qt 6 on qt 6.7+
2024-05-01 13:45:55 +10:00
Marco Hugentobler
37efb0b7af [FEATURE]: add option to export all lines with minimal width in dxf export 2024-05-01 12:22:07 +10:00
Maris Nartiss
cb63fe9a77 Processing: do not store Processing configuration keys if value matches default
If for some reason Processing configuration gets stored into configuration file,
previous code saved default menu paths in configuration. If GUI language changes,
custom values stored in the configuration take precedence over default ones
(= default translated ones are not used). This fix removes menu keys from config
for default value and thus allows to fall back to default menu items on language
switch.

Fixes #52449 (and related issues)
2024-05-01 10:31:23 +10:00
Nyall Dawson
a41f6f4333 Copy project vertical/3d crs logic to QgsMapLayer
This adds a new verticalCrs property for map layers, and a corresponding
crs3D() property. Logic is the same as that for QgsProject.
2024-04-30 06:06:10 +10:00
Nyall Dawson
cc6a840b52 Add QgsProjUtils and QgsCoordinateReferenceSystem ::hasVerticalAxis
Can be used to test if a crs contains a vertical axis
2024-04-26 20:26:41 +10:00
Nyall Dawson
1d52a7a8de Report proj error when creating compound crs fails 2024-04-26 20:26:41 +10:00
Nyall Dawson
264f426ba9 Expand documentation 2024-04-26 20:26:41 +10:00
Nyall Dawson
9f2b519d7e [api] Add QgsProject::crs3D
Returns the CRS to use for the project when transforming 3D data,
or when z/elevation value handling is important.

The returned CRS will take into account verticalCrs(), e.g. by
returning a compound CRS consisting of crs() + verticalCrs().

This method may still return a 2D CRS, e.g in the case that crs()
is a 2D CRS and no verticalCrs() has been set for the project.
I.E. It is NOT guaranteed that the returned CRS will actually
be a 3D CRS, but rather it is guaranteed that the returned CRS
is **ALWAYS** the most appropriate CRS to use when handling 3D data.
2024-04-26 20:26:41 +10:00
Matthias Kuhn
8f6fcdc423
Merge pull request #57200 from gacarrillor/dxf_harmonize_app_and_alg
[processing] Harmonize DXF Export app dialog and corresponding algorithm
2024-04-23 18:17:34 +02:00
signedav
39e6dbd0c1 fix datastream and comments 2024-04-22 19:43:58 +02:00
signedav
ac830ff16f
Merge branch 'master' into duplicatepolicy 2024-04-22 13:17:49 +02:00
Marco Hugentobler
17c83a9deb Constant for setting dxf data defined blocks by default 2024-04-22 04:27:56 -05:00
signedav
ea4d9ce64b DuplicatePolicy like default value / dupicate / remove value to define what has to be done on duplicating a feature. 2024-04-22 10:32:19 +02:00
Andrea Giudiceandrea
2121644904 [DB Manager] Avoid printing HTML code in the Python console 2024-04-21 12:13:14 +10:00
Mathieu Pellerin
b9898d0fa1
Merge pull request #57166 from nirvn/fields_gadget
[qml] Make QgsFields a QGadet and make some functions Q_INVOKABLE
2024-04-21 05:53:41 +07:00
Nyall Dawson
a979931960 Function naming improvements 2024-04-21 06:46:35 +10:00
Nyall Dawson
0a877ea4af Documentation improvements 2024-04-21 06:46:35 +10:00
Nyall Dawson
de0f5cf87c Make API more future proof 2024-04-21 06:46:35 +10:00
Nyall Dawson
75455dffad Move class to own file 2024-04-21 06:46:35 +10:00
Nyall Dawson
e2d6b54f35 Add "View Log" action for child algorithms
This action shows the log of that child step, regardless of whether
or not it failed. This is handy for debugging model errors after
testing, when you've already closed the algorithm window...!
2024-04-21 06:46:35 +10:00