4182 Commits

Author SHA1 Message Date
Nyall Dawson
1db5d1d246 Add common actions for run script, run selection
Allows these shortcuts to be customised
2025-10-01 13:46:41 +10:00
Nyall Dawson
579a818ce7 Add sequenceForCommonAction 2025-10-01 13:46:41 +10:00
Nyall Dawson
5ed5f51121 [api] Add framework to handle common actions in shortcuts manager
Common actions allow for shortcuts to be registered for actions
which do not yet exist, or which are not associated with a single
global QAction object attached to at the application level. For
example, code editor actions which will be created as children
of individual code editor widgets, but which should have
shortcuts available for user configuration via the shortcuts
manager dialog.
2025-10-01 13:46:41 +10:00
qgis-bot
befc435fe5 auto sipify 🍺 2025-09-26 08:15:30 +00:00
Andrea Giudiceandrea
d1d6453264
Merge pull request #63336 from nyalldawson/fix_spell_check
Fix spell check
2025-09-26 10:11:11 +02:00
Alexander Bruy
68de81e852
Merge pull request #63333 from nyalldawson/cleanup_sip
Remove orphaned sip files
2025-09-26 05:17:13 +01:00
qgis-bot
5f46c63c45 auto sipify 🍺 2025-09-25 11:49:59 +00:00
Denis Rouzaud
9efd6af839
[core] Introduce QgsLayerTreeCustomNode and a first use case: Custom Elevation Profile Sources (#62819)
* Introduce QgsLayerTreeCustomNode to handle items in QgsLayerTree which are not layers nor layer groups (e.g., a custom profile source from a web service to the Elevation Profile layer tree); make QgsAbstractProfileSource and its generator classes get an id in the constructor, so that subclasses don't need to deal with source ids (source ids from the generators are already in use, whereas source id from source subclasses will be used to link sources to QgsLayerTreeCustomNodes, and will be used to retrieve sources from source registry)

* [elevation] Add/remove nodes to Elevation's layer tree when registering/unregistering profile sources via QgsProfileSourceRegistry

* [elevation] Add updateCanvasSources() to Elevation Profile widget, so that after changes in the elevation layer tree, the canvas gets an updated list of profile sources, taking profile sources (i.e., from custom nodes) into account. Add QgsProfileSourceRegistry::findSourceById() for getting profile sources by id from the registry.

* [elevation] Allow for setting a display name for custom profile sources (to be displayed as layer tree node name)

* [elevation] Refactor profile source handling in Layout Elevation Profile widget, so that after changes in the elevation layer tree, the canvas gets an updated list of profile sources, taking profile sources (i.e., from custom nodes) into account. Adjust QgsLayerTreeGroup to be able to find layers and custom nodes, as well as order layer and custom nodes inside a group (only direct children).

* [elevation] Profile Source Registry improvements:

 + Avoid registering a source if its id is already registered,
 + New method to unregister a source by id, deprecating the unregister by source object.

* [tests] Add tests for QgsLayerTreeCustomNode

* [tests] add tests for legacy Elevation Profile sources and for legacy Layout Profile items:

 + make sure we keep the API untouched and mark some stuff as legacy (e.g., pure virtual methods in QgsAbstractProfileSource need to have a default implementation and making them pure virtual is postponed until QGIS 5.0),
 + add insertCustomNode(index, node) method to QgsLayerTreeGroup, so that we can set up the custom node before adding it to the layer tree, because if we add it with no custom properties set (e.g., for the elevation profile custom node), it will trigger plot updates but it won't be found due to a still missing custom property.

* [elevation] Make sure legacy layer ordering in canvas, layout item profile, and layer tree are kept (i.e., keep API untouched). Make profile source ordering works in the most expected way: canvas, layout item profile, and layer tree are in the same order, and sources are only reversed right before passing them to renderers. Add unit tests.

* [tests] Custom node for custom Elevation profiles: make sure layout item sources are stored in and read from the project

* Address review on custom nodes for elevation profile's tree view
2025-09-25 13:47:21 +02:00
Nyall Dawson
b79f17b056
Fix spelling 2025-09-25 14:27:22 +10:00
Nyall Dawson
b26ec7384c
Remove orphaned sip files 2025-09-25 14:09:02 +10:00
David Koňařík
542e69a394 Deduplicate SIP code, keep timestamps on unchanged files 2025-09-17 09:08:12 +10:00
qgis-bot
40ec57c406 auto sipify 🍺 2025-09-09 07:19:23 +00:00
Mathieu Pellerin
1360d8ac76 Address review 2025-09-09 11:23:21 +07:00
Mathieu Pellerin
21e9095b0e [charts] Implement data-defined properties, connect GUI 2025-09-09 09:13:36 +07:00
qgis-bot
8f67da44cc auto sipify 🍺 2025-09-08 16:08:05 +00:00
Mathieu Pellerin
092bbc479b
Brand new pie chart plot type (#63099) 2025-09-08 23:05:26 +07:00
qgis-bot
8288231667 auto sipify 🍺 2025-09-04 02:48:57 +00:00
Mathieu Pellerin
3ff54d8166
Charts implementation, part 2: layout chart items (#62952) 2025-09-04 09:46:23 +07:00
qgis-bot
1d3e86e35f auto sipify 🍺 2025-09-01 22:05:51 +00:00
lanckmann
cf1179aebd Rename signal and use direct zoom (reviewer feedback) 2025-09-02 07:17:12 +10:00
lanckmann
0b2562d459 Fix SIP file documentation format for zoomToFeatureRequested signal 2025-09-02 07:17:12 +10:00
lanckmann
f939f8f554 Fix build errors and update Python bindings 2025-09-02 07:17:12 +10:00
qgis-bot
91b72c70fd auto sipify 🍺 2025-09-01 05:41:22 +00:00
Nyall Dawson
653871b8f5 Make sipify responsible for QList<enum> conversion code insertion 2025-09-01 15:38:46 +10:00
Nyall Dawson
0f9e56d475 Also fix conversion code for QList<QgsSearchWidgetWrapper::FilterFlag> 2025-09-01 15:38:46 +10:00
qgis-bot
24b306e646 auto sipify 🍺 2025-08-25 02:20:08 +00:00
Nyall Dawson
1fbddb214d [api] Make QgsLayerTreeView proxy handling more flexible
Allow use of custom QgsLayerTreeProxyModel subclasses
2025-08-25 12:17:32 +10:00
Nyall Dawson
6c63043138 Add missing sip cast 2025-08-25 12:17:32 +10:00
Mathieu Pellerin
a453dd65b6 [plots] Break Qgs2DPlot into a axis-less Qgs2DPlot and a X/Y axes Qgs2DXyPlot 2025-08-22 10:41:20 +10:00
Germap
c4ba1560e7
Merge branch 'master' into custom_layer_tree_node 2025-08-18 03:13:56 -05:00
qgis-bot
b24906550b auto sipify 🍺 2025-08-16 10:22:00 +00:00
Nyall Dawson
3def1fbdf6
Use nicer signal for scale ratio widget updates 2025-08-14 12:59:15 +10:00
Nyall Dawson
d919d8f776
[api] Set specific distance:elevation ratio for elevation profile canvas 2025-08-14 11:58:58 +10:00
qgis-bot
b01d7a5d71 auto sipify 🍺 2025-08-07 03:57:29 +00:00
Valentin Buira
c508926c67 Adress review : add a recursion blocker 2025-08-07 13:54:54 +10:00
Valentin Buira
b7e655f0ba Address review comments
* spelling
* doxygen tag
2025-08-07 13:54:54 +10:00
Valentin Buira
959a2c904f Fix view jumping around 2025-08-07 13:54:54 +10:00
Valentin Buira
53adb99721 Avoid needless extra method 2025-08-07 13:54:54 +10:00
Valentin Buira
052d48e558 Simplify restaure the previous viewed rect 2025-08-07 13:54:54 +10:00
Valentin Buira
23dca6322b Remove the good superfluous method this time 2025-08-07 13:54:54 +10:00
Valentin Buira
10897ff3a9 Adress comments 2025-08-07 13:54:54 +10:00
Valentin Buira
1f2e30947c Tidy up PR 2025-08-07 13:54:54 +10:00
Valentin Buira
b1b7bef4a5 Fix scrollback to (0,0) on each repaintModel / rebuild of the model 2025-08-07 13:54:54 +10:00
Valentin Buira
3fe0bf5586 Unlimited modeler canvas size 2025-08-07 13:54:54 +10:00
qgis-bot
c4047b9b45 auto sipify 🍺 2025-08-07 01:58:42 +00:00
Nyall Dawson
2827628e9d Add mode to QgsScaleComboBox for non-unit ratios
This allows the widget to be used for other scales (or ratios),
not just map scales.

Eg. it allows it to be used for entry of scale ratios like "2:3",
"16:9" etc.
2025-08-07 11:56:06 +10:00
qgis-bot
8362f6b4df auto sipify 🍺 2025-08-02 22:58:59 +00:00
Nyall Dawson
24adfe7619 Move layout manager model to separate files 2025-08-03 08:56:23 +10:00
qgis-bot
950c1efc0d auto sipify 🍺 2025-07-31 19:57:21 +00:00
Denis Rouzaud
69ff52eaf1
allow to specify data role in QgsSettingsStringComboBoxWrapper (#62673)
* allow to specify data role in QgsSettingsStringComboBoxWrapper

* add since
2025-07-31 21:54:19 +02:00