165 Commits

Author SHA1 Message Date
Nyall Dawson
3e05a423d5 Refactor QgsProjectionSelectionWidget
Cleanup QgsProjectionSelectionWidget to use proper models to
drive the combo box. This removes a bunch of very fragile
logic regarding showing and hiding entries on demand, as it
allows us to move all the filtering logic to a single place
in a QSortFilterProxyModel subclass.

This has a few side benefits:
- The combos now dynamically respond to changes like recent
CRS being used in other places in QGIS
- The widget correctly respects horizontal/vertical crs filters
for all entries, including recent crs
2024-01-18 09:35:09 +10:00
Nyall Dawson
e53e078bca Add proxy model for recent crs model 2024-01-17 10:16:32 +10:00
Nyall Dawson
7fcfd2b391 Create a basic model for recent coordinate reference systems 2024-01-17 10:16:32 +10:00
Nyall Dawson
fb1d3cc4bb Move all projection related gui files to src/gui/proj 2024-01-17 10:16:32 +10:00
Nyall Dawson
ddcc42ca85 Add filter options for all crs selection widgets
This is a partial implementation -- we also should be filtering
the lists of recent crs to matching ones
2024-01-17 10:16:32 +10:00
Nyall Dawson
2262aee293 Add a simple widget for setting percentage values via spin and slider 2024-01-16 13:20:47 +10:00
Nyall Dawson
ad60cb3a26 [api] Add iface.blockActiveLayerChanges
Sets whether changes to the active layer should be temporarily
blocked. Exposes a previously private optimisation for use
by plugins.

This is a low-level method, designed to avoid unnecessary work when adding lots
of layers at once. Clients which will be adding many layers may call blockActiveLayerChanges( TRUE ) upfront,
add all the layers, and then follow up with a call to blockActiveLayerChanges( FALSE ). This will defer emitting
the active layer changed signal until they've added all layers, and only emit the signal once for
the final layer added.
2024-01-16 06:00:43 +10:00
Nyall Dawson
3e7d376953 Add method to push formatted text to Processing feedback
Provides a method for algorithms to push HTML contents to the log
(the other feedback methods all escape HTML strings to strip
formatting characters)
2024-01-09 17:02:21 +10:00
Nyall Dawson
4c00af517d Allow source widgets to specify the group name for layer source
properties

Allows overriding the default "Layer Source" group box title
2023-12-22 14:00:13 +10:00
Loïc Bartoletti
bc6fdf73a8 Add \since QGIS 3.34
3.34 here, since it has been backported

Co-authored-by: Nicolas Godet <39594821+nicogodet@users.noreply.github.com>
2023-12-21 07:09:36 +10:00
Loïc Bartoletti
f009536438 QgisInterface: add meshMenu to iface.
Fixes #55604
2023-12-21 07:09:36 +10:00
Nyall Dawson
eecae55ac8 Word wrap long json in results dialog 2023-12-15 04:47:42 +10:00
Julien Cabieces
e8093a8ce5 Only mock non class enums 2023-12-13 05:36:44 +10:00
Julien Cabieces
7f586d8742 PyQt6 sip files 2023-12-13 05:36:44 +10:00
Julien Cabieces
bb3c36a69b Initialize sip bindings for PyQt6
use exactly the ones from PyQt5 so we can study the difference when
generating for PyQt6
2023-12-08 03:38:42 +10:00