4376 Commits

Author SHA1 Message Date
Nyall Dawson
ea41c3ded7 Sipify 2022-08-06 08:01:58 +10:00
bdm-oslandia
cbbf0b757e revert QgsLogger changes 2022-08-02 06:41:52 -07:00
bdm-oslandia
bc34c8fbd2 3DAxis: fix debug messages by adding trace macro and isTraceEnabled()/isDebugEnabled() functions 2022-08-02 06:41:52 -07:00
Nyall Dawson
fe7964bb1a Show sublayers in a tree, respecting schema/dataset groupings where known 2022-08-02 17:20:37 +10:00
Nyall Dawson
e9e6756c12 Add method to convert QgsProviderSublayerDetails to mime uris 2022-08-02 17:20:37 +10:00
Nyall Dawson
6522ef92a3 Rework QgsWeakRelation::resolvedRelation to instead return a list
of resolved relationships, so that it can handle resolving
a many-to-many weak relationship to two QgsRelations (which is
required to represent a many-to-many relationship using QgsRelation)
2022-08-02 15:44:40 +10:00
Nyall Dawson
7275fb2033 Also show a relationships item when expanding out tables for
tables which form the parent side of a relationship
2022-08-02 15:44:40 +10:00
Nyall Dawson
eeda423e5e Rework QgsWeakRelation so that it can losslessly represent many-to-many relations 2022-08-02 15:44:40 +10:00
Nyall Dawson
ff6df1e89a Add some methods to get translated strings for relationship enums 2022-08-02 15:44:40 +10:00
Nyall Dawson
c4cebde0f9 Add additional properties to QgsWeakRelation to match those available
through GDAL api
2022-08-02 15:44:40 +10:00
Nyall Dawson
6d65e4e450 Show existing relationships in browser when expanding datasources 2022-08-02 15:44:40 +10:00
Nyall Dawson
b46ef1fab0 Implement relationship retrieval for ogr provider connection 2022-08-02 15:44:40 +10:00
Nyall Dawson
7236b50930 Add QgsAbstractDatabaseProviderConnection interface for retrieving relationships for a database 2022-08-02 15:44:40 +10:00
Nyall Dawson
4981f1846f Expose QgsWeakRelation to PyQGIS 2022-08-02 15:44:40 +10:00
Nyall Dawson
89c613a112 Move relationship enums to Qgis, promote to enum class 2022-08-02 15:44:40 +10:00
Nyall Dawson
26eaa24934 Restore QgsFeature equality operators in Python
These were (accidentally?) ommited in 9050cc14d, and then
incorrectly marked as sip_skip when sipify was first introduced
as a result
2022-08-01 16:56:48 +10:00
Nyall Dawson
810f021469 Handle schema names in table sources in QgsSqlStatementParser 2022-08-01 16:17:20 +10:00
Nyall Dawson
6dfa7e260c Make provider connection multi type handling more granualar, and use
new API in GDAL 3.6 to determine whether or not the multi
linestring/polygon types should be exposed for new table creation
2022-08-01 13:18:58 +10:00
Nyall Dawson
4b8603748d Fix build 2022-08-01 13:17:43 +10:00
Nyall Dawson
e7152239a1 Add method to retrieve root items from browser model 2022-08-01 13:17:43 +10:00
Nyall Dawson
460ac8b556 Ensure sort key is always correctly set for QgsDirectoryItem 2022-08-01 13:17:43 +10:00
Nyall Dawson
023c0e1cdf Add method to split a path up to list of separate components
Suprisingly qt itself doesn't have a method for this!
2022-08-01 13:17:43 +10:00
Nyall Dawson
b5170c1af9 Fix doxygen test' 2022-08-01 12:37:35 +10:00
Nyall Dawson
618978d8b2 Add QgsFeature::isUnsetValue for testing whether an attribute is an unset value 2022-08-01 12:37:35 +10:00
Nyall Dawson
81dc8769a7 Allow direct construction of QVariants from unset values 2022-08-01 12:37:35 +10:00
Nyall Dawson
306276bed1 Metatype QgsUnsetAttributeValue 2022-08-01 12:37:35 +10:00
Nyall Dawson
31ae975923 Introduce QgsUnsetAttributeValue 2022-08-01 12:37:35 +10:00
Zayne Tomlins
dc2bad87c2 [feature] Added new ellipse marker shapes
Added Pentagon, Hexagon, Octagon, Third Circle, Quarter Circle & Star to ellipse marker shapes.
2022-07-25 18:51:13 +10:00
Nyall Dawson
4c5be9cb85 Dox++ 2022-07-23 06:04:02 +10:00
Nyall Dawson
60bb4b321b Add method to launder layer names to get them into a format
suitable for typical database layer naming
2022-07-23 06:04:02 +10:00
signedav
4b1d8b7fc3 update docstring 2022-07-21 06:46:57 +10:00
signedav
716f9b80fd improve tests and remove unused debug log 2022-07-21 06:46:57 +10:00
Nyall Dawson
65f700e700 Use enum classes for ArcGIS REST service types for clarity 2022-07-21 06:46:31 +10:00
Nyall Dawson
a49f487b7f Don't try to load missing cpt ramps, part 2 2022-07-20 13:59:13 +10:00
Nyall Dawson
aa9c6f60c6 Add method to convert field to JSON definition 2022-07-18 21:21:12 +10:00
Nyall Dawson
fe7407b29c Add more fine-grained control of what to include when converting
features to JSON
2022-07-18 21:21:12 +10:00
Nyall Dawson
6da633d998 Allow skipping of geometry in json 2022-07-18 21:21:12 +10:00
Nyall Dawson
7da574fe36 Add QgsAbstractDatabaseProviderConnection interface for renaming fields
And implement for OGR connections. Also expose the ability to rename
existing fields for supported database connections via browser.
2022-07-18 17:26:13 +10:00
Nyall Dawson
6fd8f424a2 Handle time zones 2022-07-16 16:46:44 +10:00
Nyall Dawson
300e2b2d89 Add method to convert QgsFeatures to ArcGIS REST representation 2022-07-16 16:46:44 +10:00
Nyall Dawson
9548e767c4 Add method to convert crs to ArcGIS REST JSON 2022-07-16 16:46:44 +10:00
Nyall Dawson
484bea7c34 Add API methods to convert QgsGeometry to an ArcGIS REST representation 2022-07-16 16:46:44 +10:00
Nyall Dawson
2321ba41ce Add interface for QgsProviderMetadata::createDatabase
Can be used on a supported provider to create a new empty database
at a specified URI.
2022-07-14 11:54:21 +10:00
Nyall Dawson
8dc9635dbc Only offer to create supported domain types 2022-07-13 06:44:58 +10:00
Nyall Dawson
8b15f59639 Force use of raster masking in layout designer preview
The vector masking (while great for output quality) is much slower,
so for the layout designer preview renders we just use the faster
raster approach.
2022-07-12 14:59:43 +10:00
Nyall Dawson
9b09445c08 Change project style disabling from being a project load flag
to a new project "capability"

This avoids the unwanted cost of initialising a blank style database
whenever QgsProject::clear is called and project styles are not
required (eg. for server)
2022-07-11 15:22:11 +10:00
Nyall Dawson
8d25fe973f Indentation 2022-07-09 07:12:08 +10:00
Nyall Dawson
44708b9c0c Create QgsColorUtils class
Contains methods to serialize/deserialize colors from xml and strings,
where the colors are losslessly stored/restored.

The previous methods for storing colors (Eg QgsSymbolLayerUtils::encode/decodeColor)
are lossy, and only store QColors as 8 bit RGB representations. In
contrast, the new methods store the full lossless representation of
a QColor, including support for 16 bit color components, extended
RGB color components, and storage of HSL/HSV/CMYK color specifications
using their original color components instead of RGB components.

When these new methods are used in place of the existing lossy methods,
they open the possibility of 16 bit color support for QGIS symbols/projects,
(and potentially future CMYK color support).
2022-07-09 07:12:08 +10:00
Nyall Dawson
356974e401 When loading a new vector tile source into a project, if the associated
MapBox GL style includes any raster sublayers, then also load those
into the project with converted styles.

Fixes #46593
2022-07-08 16:06:19 +10:00
Nyall Dawson
6bb01c80f3 Convert raster sublayers in mapbox gl style layers, including
data defined layer opacity
2022-07-08 16:06:19 +10:00