21927 Commits

Author SHA1 Message Date
Nyall Dawson
2aa484ca23 Move QgsCameraController enums to Qgis, promote to enum class 2023-02-23 13:53:34 +10:00
Nyall Dawson
176807bc35 Provide a basic way to access open 3d scenes via PyQGIS
Qgs3DMapScene.openScenes() will now return a map of
open Qgs3DMapScene objects (by name) visible in the app. Various
basic properties of the scene are exposed, including
the camera controller, allowing access to navigate 3d
scenes via python
2023-02-23 13:53:34 +10:00
Martin Dobias
289f47690d
Refactor QgsMapLayer's encodedSource()/decodedSource() (#51901)
Conversion between relative and absolute paths when reading/writing project files
has been inconveniently done in subclasses of QgsMapLayer in encodedSource() and
decodedSource() methods, with a lot of provider specific code.

This is a refactoring to finally fix this - there is a new pair of functions added
to QgsProviderMetadata and QgsProviderRegistry:
- absoluteToRelativeUri()
- relativeToAbsoluteUri()

This new pair of functions delegates the actual conversion between absolute and
relative path to provider code - where it belongs.

The existing code from encodedSource() and decodedSource() functions has been moved
to providers. Unit tests were added to confirm the existing behavior.

There should be no change of behavior apart from removal of old compatibility code
for WMS provider for projects from QGIS < 1.9 (10 years ago).
2023-02-22 17:53:44 +10:00
Nyall Dawson
1f6e53b2c4 [metasearch] Fix messed up QgsRubberBand constructor 2023-02-22 12:39:21 +10:00
Nyall Dawson
c6a1a57230 Add some missing documentation 2023-02-22 12:39:21 +10:00
Nyall Dawson
046883fa9c Promote QgsWkbTypes enums to enum class, move to Qgis 2023-02-22 12:39:21 +10:00
Nyall Dawson
ef3c301a34 Fix loss of first color for lineburst symbol layers in GUI
Fixes #51942
2023-02-22 11:32:38 +10:00
Yoann Quenach de Quivillic
9c56921cca Clean up code and fix shortcuts 2023-02-21 14:27:36 +10:00
Yoann Quenach de Quivillic
28146b538a Fix Editor/EditorTab never deleted 2023-02-21 14:27:36 +10:00
Yoann Quenach de Quivillic
7f231099f4 sort imports and cleanup dead code 2023-02-21 14:27:36 +10:00
Nyall Dawson
19b70a634f Use constexpr for max wkt length 2023-02-21 06:01:44 +10:00
Nyall Dawson
18fd0bbbbf Create QgsGeometryWidget
A new widget which stores a referenced geometry value, and provides
handy methods for copying the value as WKT or GeoJSON, pasting
a WKT/GeoJSON value from the clipboard, or clearing the geometry
2023-02-21 06:01:44 +10:00
Nyall Dawson
2dc4d04ac0 Add equality operators for QgsReferencedGeometry 2023-02-21 06:01:44 +10:00
Nyall Dawson
ab97a3a1c5 Add since 2023-02-20 17:43:44 +10:00
Nyall Dawson
88c6f8430e When no rule based rules fall within the map scale range, don't
needlessly iterate through all features in the layer

Previously when the rules all resulted in filtering out all
features due to the map scale falling outside all rule scale
ranges, we'd still fetch every feature from the layer and
attempt to draw them...
2023-02-20 17:43:44 +10:00
Denis Rouzaud
8dc67afdf3 allow full access from Python 2023-02-19 07:19:17 +01:00
Denis Rouzaud
0cdc9b9ba3 fix dox 2023-02-19 07:19:17 +01:00
Denis Rouzaud
4759610ddd [settings] use dedicated category for plugin manager 2023-02-19 07:19:17 +01:00
Denis Rouzaud
a2271b9b3e [settings] allow read-only access to the tree
this allows accessing settings from Python
2023-02-19 07:19:17 +01:00
Nyall Dawson
8d5cdc85fc Workaround sip inability to convert enum class variants to python objects 2023-02-19 13:29:06 +10:00
Nyall Dawson
ad16817fba Fix enum compatibility with python full enum use of old values 2023-02-19 13:29:06 +10:00
Nyall Dawson
6975a49f9c Avoid sipify issue with " in enum dox 2023-02-19 13:29:06 +10:00
Nyall Dawson
2cdfd96b80 Fix longstanding crash when calling QgsUnitSelectionWidget methods
from python by adding new enum list conversion code
2023-02-19 13:29:06 +10:00
Nyall Dawson
f9c3da1e06 Move unit enums to Qgis, promote to enum class 2023-02-19 13:29:06 +10:00
rldhont
ef992c9506 DateTime Field edit config : not mixing display format and field format
The default field datetime formats has to be const and equal to the international format.
The default display datetime formats has to be localized.

Funded by 3liz https://3liz.com
2023-02-16 16:54:56 +01:00
Nyall Dawson
1142e8ffac
Move QgsMapLayerType enum to Qgis.LayerType (#51874)
For consistency with other enums
2023-02-16 13:02:57 +01:00
Nicolas Godet
613ae0d8d8 Fix r.grow.distance -n argument 2023-02-16 08:23:43 +10:00
Nyall Dawson
ff74c9c9ce Ensure correct crs is available for QgsMapCanvas for slots connected
to extentsChanged when canvas CRS is changed

Fixes #51833
2023-02-15 14:46:01 +10:00
Nyall Dawson
15e0c6abe4 Add direct iface methods to add/remove project import/export actions 2023-02-15 14:26:26 +10:00
Nyall Dawson
aa5644d1d5 Add interface method to retrieve Project - Import/Export submenu
Allows a stable way for plugins to insert actions into this menu
2023-02-15 14:26:26 +10:00
Nyall Dawson
65cd1f5433 Fix geometry fields incorrectly show as "range" types in fields list 2023-02-15 08:45:45 +10:00
Nyall Dawson
d4c69f44d8 Add interface method to open Data Source Manager at a specific page 2023-02-15 04:40:20 +10:00
Nyall Dawson
33a431b3cc Show an icon for geometry fields 2023-02-15 04:31:35 +10:00
vcloarec
9d09165f26 sipify 2023-02-13 10:53:50 +10:00
Nyall Dawson
04851d5b75 Sip updates 2023-02-06 09:45:26 +01:00
Julien Cabieces
0e9d873c71
Merge pull request #51695 from troopa81/fix_simplify_zm
Keep ZM coordinates when simplifying geometry
2023-02-06 08:21:45 +01:00
Denis Rouzaud
da76caa880 finalize news feed parser settings migration 2023-02-06 12:54:08 +10:00
Mathieu Pellerin
5813b65638 [api] Add non-geo image tag writing support in QgsExifTools 2023-02-06 07:11:53 +07:00
Nyall Dawson
6f71e3393e Fix map tips do not show for vector layers where the HTML map tip
option isn't used

In this case the layer's display expression should be used for
the map tip content

Followup https://github.com/qgis/QGIS/pull/50854
2023-02-06 08:41:45 +10:00
Nyall Dawson
beb91a5a26 Cleaner code 2023-02-06 08:41:25 +10:00
Nyall Dawson
49ba64268e Move QgsPainting::BlendMode enum to Qgis namespace 2023-02-06 08:41:25 +10:00
Nyall Dawson
1fdfc48f8f When unchecking render layers as a group, ensure child layers
don't have clipping blend modes

Fixes #51358
2023-02-06 08:41:25 +10:00
Denis Rouzaud
f23bdbdad1 fix typo 2023-02-03 09:05:37 +01:00
Denis Rouzaud
3b5b6936fc fix bindings 2023-02-03 09:05:37 +01:00
Denis Rouzaud
91effce867 fix import 2023-02-03 09:05:37 +01:00
Denis Rouzaud
ed1c61b549 add licence 2023-02-03 09:05:37 +01:00
Denis Rouzaud
9b9975fa08 fix includes + more forward declarations 2023-02-03 09:05:37 +01:00
Denis Rouzaud
34eb0826c3 change QgsSettings to QgsSettingsTree in code base 2023-02-03 09:05:37 +01:00
Denis Rouzaud
828e014a26 forward declaration of settings 2023-02-03 09:05:37 +01:00
Denis Rouzaud
34ca2d9e3b move settings tree away from QgsSettings to QgsSettingsTree
* to avoid any dependency on QgsSettings class
* reduce overhead by limiting includes of qgssettings.h
2023-02-03 09:05:37 +01:00