89 Commits

Author SHA1 Message Date
Mathieu Pellerin
1aeb8bbdd4 [processing] Fix alg. postprocessing regression failing to add all but one output to the project 2025-02-17 08:35:48 +10:00
Alexander Bruy
e5d1543a65
fix typo 2025-02-12 06:33:13 +00:00
Nyall Dawson
0180380076
[processing] Fix exception when algorithm has no output layers
Fixes regression caused by https://github.com/qgis/QGIS/pull/59850
2025-02-12 14:56:48 +10:00
Jean Felder
a46f3e9752 postprocessing: Use QgsLayerTreeRegistryBridge to add layers
When a profile tool is already opened, the output of a procssing is
not added to its layer tree. This is because it relies on a
`QgsLayerTreeRegistryBridge`. Indeed, `QgsLayerTreeRegistryBridge`
listens to the `QgsProject::legendLayersAdded()` signal in order to
update the elevation profile tree view. However this signal is not
triggered by the current logic in `Postprocessing.py`because
`QgsProject::addMaplayer` is called with `addToLegend` set to
False. Then, the layer is added to the tree by calling
`QgsLayerTreeGroup::insertChildNode`.

This issue is fixed by creating a
`QgsLayerTreeRegistryBridge::InsertionPoint` to set the insertion
point and then calling `QgsProject::addMaplayer` with `addToLegend`
set to True.
2025-02-07 10:22:53 +10:00
Denis Rouzaud
0f032e5f2d run pre-commit on all files 2024-11-29 15:38:02 +01:00
Andrea Giudiceandrea
016a33f43f [processing] Fix warning in postprocessing 2024-09-16 09:31:55 +10:00
Nyall Dawson
fc1922ae43 [processing] When no specific layer group is required for an output,
place it above the current selected layer

Fixes #56129
2024-04-20 08:49:45 +10:00
Nyall Dawson
51378f9827 [processing] Set the active layer to one of the generated outputs
Fixes #57003
2024-04-20 08:49:45 +10:00
Nyall Dawson
c16a1e2b3d Update enums 2024-01-19 19:44:48 +10:00
Nyall Dawson
e567b35cab Fix crash when trying to re-load a layer from processing results
into the project when that layer already exists in the project

Fixes #53576
Fixes #53729
2023-07-13 15:03:29 +10:00
Nyall Dawson
c32bc17973 Defer calling postProcessors until layers have been added to layer tree
It's possible that an algorithm's postProcessor may contain logic
relating to the layer tree, so make sure that all layers have
already been added to the tree before calling postProcessors
2023-05-10 13:17:55 +10:00
Nyall Dawson
a52e0bdd22 Respect layer output ordering when adding processing results layers 2023-05-03 18:29:28 +10:00
Nyall Dawson
70c91eb96b Always expand processing results groups by default 2023-05-03 18:29:28 +10:00
Nyall Dawson
f8ff71031d Minor lint fixes 2023-05-03 18:29:28 +10:00
Nyall Dawson
42e9b916c5 Respect output group name when loading layers 2023-05-03 18:29:28 +10:00
Nyall Dawson
26ce45d6d5 Remove unused argument 2023-05-03 18:29:28 +10:00
Nyall Dawson
2e83566aef More minor cleanups 2023-05-03 18:29:28 +10:00
Nyall Dawson
3651c8dd73 Refactor out some more postprocessing logic 2023-05-03 18:29:28 +10:00
Nyall Dawson
3d166989cb [processing] Cleanup some post-processing code 2023-05-03 18:29:28 +10:00
Alexander Bruy
cbc6922fab try to assign 3d renderer to output point cloud layers 2023-05-02 09:42:43 +03:00
Etienne Trimaille
3cab3c43a2
Python - Run pyupgrade on the processing plugin 2023-04-24 10:03:57 +02:00
Germán Carrillo
ca179c55d2 [processing] Add generic option to show feature count for processing vector outputs (fix #39522) 2022-08-28 20:08:28 +10:00
Germán Carrillo
94d5eec6d7 Insert processing results at the top of the optional results group (followup #37595) 2022-04-04 09:49:10 +10:00
vcloarec
d2f4c40f8a TIN Mesh creation 2020-09-10 14:03:11 -04:00
Germán Carrillo
bf6f4c51e4 Load processing results to layer group (optional) 2020-07-20 12:25:06 -05:00
Nyall Dawson
bd8b94aa53 [processing] Avoid showing raw html tags when reporting that layers could not be generated 2020-05-26 15:45:40 +10:00
Nyall Dawson
6b82917715 [processing] Refine behavior of "Use filename as layer name" option to
always avoid using temporary file names, and then set this option as
enabled by default.

Also change the setting key so that existing users will also get the new
default value.

Fixes #32591
2019-11-09 20:07:55 +10:00
Bas Couwenberg
2628c480c5 Don't include revision in sources.
Prevent changes to files that weren't changed between releases.
This eases review of the changes between releases significantly.
2019-05-17 16:47:47 +02:00
Nyall Dawson
ac651ee0d9 Followup 8d51a693, fix broken plugins 2019-03-27 07:20:43 +10:00
Denis Rouzaud
8d51a693a1 missing changes of QgsMapLayer::Type => QgsMapLayerType 2019-03-26 14:09:19 -05:00
Nyall Dawson
db1645cf12 [processing] Fix processing.runAndLoadResults
Fixes #21551
2019-03-15 08:37:43 +10:00
Nyall Dawson
29fa7b6e7b Fix build, indentation 2019-02-13 07:59:30 +10:00
volaya
eb47288fac [processing] correctly set output styles for models
fixes #20573
2019-01-23 08:02:19 +01:00
Nyall Dawson
b2a2a2603c Add fallback to parameter's name to be safe 2018-10-23 12:42:08 +10:00
Nyall Dawson
e5f52f98c2 [processing] Use outputi database layer name instead of file name when
'use filename as layer name' is checked

Avoids raw uri layer names for database type destinations
2018-10-23 12:42:08 +10:00
Nyall Dawson
4930061b21 [processing] Fix incorrect OGR warnings when loading raster layer results
Fixes #19597
2018-08-16 06:37:18 +10:00
Nyall Dawson
bd1d87ed86 [processing] Allow algorithms to set layer post-processors for
execution on generated layers after the algorithm (or parent
model) completes

This commit adds an interface for layer post-processing handlers
for execution following a processing algorithm operation.

Post-processing of a layer will ONLY occur if that layer is set
to be loaded into a QGIS project on algorithm completion.

Algorithms that wish to set post-processing steps for generated
layers should implement this interface in a separate class
(NOT the algorithm class itself!) and implement a method
to handle the layer post-processing.

This method always runs in the main thread and can be used to
setup renderers, editor widgets, metadata, etc for the given layer.

Fixes #17961
2018-03-15 17:55:25 +11:00
Denis Rouzaud
3dc3d9d1b2 unite QgsMessageLog::Level and QgsMessageBar::MessageLevel in Qgis::MessageLevel
make enum items lower case
remove unused QgsMessageLog::None and All
2018-02-06 08:56:40 -04:00
volaya
0858652e84 [Processing] correctly report missing layers in postprocessing task 2017-12-13 14:39:10 +01:00
Matthias Kuhn
06bae21d51
Merge pull request #5579 from DelazJ/logmessages
Clarify where and what Log Messages is
2017-11-20 15:54:29 +01:00
Nyall Dawson
9bac962a9e Fix batch processing progress bar never hits 100%, also fix fragile
cursor handling
2017-11-10 11:33:58 +10:00
Harrissou Sant-anna
c18bd1fa63 Clarify where and what Log Messages is 2017-11-09 23:47:31 +01:00
Nyall Dawson
f1ac0be867 Fix processing setting to use filename as layer name 2017-08-19 00:56:18 +10:00
Nyall Dawson
7879c0a20b Fix processing rendering styles for output dialog, functionality 2017-08-19 00:47:21 +10:00
Nyall Dawson
bdc5e224a3 Small cleanups 2017-06-20 14:45:13 +10:00
Nyall Dawson
b9e0b46f9f Fix running algorithms in iterating mode 2017-06-12 13:35:31 +10:00
Nyall Dawson
aa544a14c0 Only use a temporary feedback object when running algorithms
Otherwise canceling a run causes all future runs to be canceled
2017-06-12 07:26:02 +10:00
Nyall Dawson
607fed8c48 Restore ability to save outputs directly to Spatialite/PostGIS providers 2017-06-06 10:34:57 +10:00
Nyall Dawson
81da209bf5 Use a QgsProject pointer instead of bool loadIntoProject
Allows potential future use case of loading results into
a different open project
2017-06-06 08:40:23 +10:00
Nyall Dawson
46596c50f2 Restore correct layer naming when loading results 2017-06-06 07:41:20 +10:00