19222 Commits

Author SHA1 Message Date
Nyall Dawson
1bb042bc78 Add some methods to parse ISO8601 duration strings
(eg '2021-03-23T00:00:00Z/2021-03-24T12:00:00Z/PT12H')
to a list of datetimes
2021-03-25 17:55:04 +10:00
Nyall Dawson
9b07d954f5 Don't force users to hit apply to setup static wms-t settings
after toggling dynamic temporal control

Not the nicest code approach, but I honestly can't think of any
other way to handle this...
2021-03-25 14:56:46 +10:00
Nyall Dawson
7434c1b34f [feature] Add temporal navigation step for "source timestamps"
When selected, this causes the temporal navigation to step between
all available time ranges from layers in the project.

It's useful when a project contains layers with non-contiguous
available times, e.g. from a WMS-T which images available at
irregular dates, and you want to only step between time ranges
where the next available image is shown.

Refs Natural resources Canada Contract: 3000720707
2021-03-25 13:35:52 +10:00
Nyall Dawson
9c1ddfcf78 Push all available temporal ranges to temporal controller when
it changes
2021-03-25 13:35:52 +10:00
Nyall Dawson
d443e4a536 Add a time unit for "irregular steps"
This is a special "irregular step" time unit, used for temporal data
which uses irregular, non-real-world unit steps
2021-03-25 13:35:52 +10:00
Nyall Dawson
cae8aae849 Add method to collate all used time ranges for layers in project
Unlike the existing methods, this new method does not return
a single overall time range, but rather (possibly with gaps)
containing all time ranges were we know data actually exists
in the project.
2021-03-25 13:35:52 +10:00
Nyall Dawson
b7c1c3af4c Add method to merge a list of possibly non-contigous date/datetime ranges 2021-03-25 13:35:52 +10:00
nicogodet
bf9efccff2
Fix GDAL overwrite and some minor fixes (#42447)
Automatically overwrite files in some gdal algorithms, in order to match the behavior of other processing algorithms which automatically overwrite existing files

Fixes #42248
2021-03-25 09:17:41 +10:00
Nyall Dawson
047e13eb22 Declare metatype for QgsDate/DateTimeRange 2021-03-25 08:01:51 +10:00
Nyall Dawson
894283b994 Add "allAvailableTemporalRanges" getter/setter to QgsRasterDataProviderTemporalCapabilities
So that we can store and retrieve a list of all available temporal
ranges for a raster data provider when that range of dates is
non-contiguous
2021-03-25 08:01:51 +10:00
Nyall Dawson
4fe99d8d6c Add better __repr__ methods for QgsDateTimeRange, QgsDateRange 2021-03-25 08:01:51 +10:00
Nyall Dawson
ef94191d70 Dox 2021-03-25 04:48:31 +10:00
Nyall Dawson
207be1dd66 Add mechanism for QgsMapLayerConfigWidgetFactory to create sub widgets
which are embedded into the raster layer temporal properties widget
2021-03-25 04:48:31 +10:00
Nyall Dawson
4faceaf0d7 Add api to indicate that a QgsMapLayerConfigWidgetFactory factory
creates sub-components of a standard page instead of a top-level
page on its own
2021-03-25 04:48:31 +10:00
Nyall Dawson
8c0b98d095 Add a mechanism for data providers to supply QgsMapLayerConfigWidgetFactory
via their GUI metadata

Allows providers to create layer properties pages, giving us a nice
way to keep provider-specific logic out of the layer properties
classes.
2021-03-25 04:48:31 +10:00
Denis Rouzaud
ea7fc3c37e drop qMapLessThanKey in Qt6 builds
TestQgis::testQMapQVariantList() should check that everything is fine
further reading:
* https://stackoverflow.com/questions/17463889/does-qmap-support-custom-comparator-functions
* https://codereview.qt.nokia.com/c/qt/qtbase/+/297563
2021-03-24 09:52:39 +01:00
Nyall Dawson
286fd207c4 [processing][saga] Fix misleading 'layer could not be generated' error
after running algorithms which create raster files
2021-03-24 14:21:44 +10:00
Alessandro Pasotti
27d35a2495
Merge pull request #42384 from domi4484/missingNmRelationQgsAbstractRelationEditorConfigWidget
Set missing nm relation for QgsAbstractRelationEditorConfigWidget
2021-03-23 20:32:21 +01:00
Jorge Gustavo Rocha
e1588fcc7c typo fix in sip 2021-03-23 17:14:15 +10:00
Jorge Gustavo Rocha
01806b1dea Add optional recursive = false to findGroups 2021-03-23 17:14:15 +10:00
Jorge Gustavo Rocha
2eb7781f51 add findAllGroups to recursively get all groups 2021-03-23 17:14:15 +10:00
Denis Rouzaud
ba8a445850 run sipify 2021-03-22 21:13:52 +01:00
Damiano
a6ac61bc05 Fix doc and remove QOverload 2021-03-22 21:02:34 +01:00
Matthias Kuhn
c0633e8734
Merge pull request #42296 from domi4484/fixNmRelationMissing
Fix QgsAbstractRelationEditorWidget inconsistency NmRelation / NmRelationId
2021-03-22 16:08:13 +01:00
Damiano
c087063356 Set missing nm relation for QgsAbstractRelationEditorConfigWidget
This is needed to let QgsAbstractRelationEditorConfigWidget
implementations know which nm cardinality is choosen if any.
2021-03-22 15:27:57 +01:00
Denis Rouzaud
959d68a1e7
Merge pull request #42326 from 3nids/filter-svg
Add filtering capabilities to SVG selector widget
2021-03-22 09:11:38 +01:00
Nyall Dawson
70b1dce456 Don't allow temporal dock to be shrunk shorter than its contents 2021-03-22 14:10:01 +10:00
Nyall Dawson
704b280065 Expose control over balloon wedge width 2021-03-21 16:57:29 +10:00
Nyall Dawson
2b0a2bf42c [feature] Add new "balloon" (speech bubble) callout style 2021-03-21 16:57:29 +10:00
Denis Rouzaud
aa23d009a4 create a sort filter proxy model 2021-03-19 11:52:20 +01:00
Nyall Dawson
0c5ffe7ecf Spelling 2021-03-19 18:47:23 +10:00
Nyall Dawson
f759c59334 [feature] New callout style for curved lines
Renders a nice cartographically pleasing curved line between the
labels and features.

Options include selecting a specific curve orientation (clockwise
or counterclockwise), or an automatic orientation option which
determines optimal orientation for each individual label. Users
also have control over the amount of curvature applied to the
callout lines.
2021-03-19 18:47:23 +10:00
Nyall Dawson
425f27186f Add method to determine closest side of rectangle to a point 2021-03-19 18:47:23 +10:00
Nyall Dawson
ba6d96725b Add geometry util to calculate a point along a segment offset in a perpendicular direction by a set offset amount 2021-03-19 18:47:23 +10:00
Mathieu Pellerin
0b75c6caba
Merge pull request #42303 from nirvn/ellipse_fixes
Ellipse marker symbol layer fixes and code improvements
2021-03-19 09:43:55 +07:00
nirvn
ad998573d4 [optimization][symbology] Rely on enum for ellipse marker symbol layer shapes 2021-03-19 07:59:27 +07:00
Denis Rouzaud
4cd1b5b975
fix open form button not always enabled in relation reference widget (#42144)
* fix open form button not always enabled in relation reference widget

when the underlying model has more feature than what the model fetches by default (100),
the feature is not fetched yet when the combobox has its index changed

the new signal allows to be aware when the feature is ready to be used
2021-03-18 20:37:09 +01:00
Nyall Dawson
e5ab5358e2 Cleanup callout code to remove a lot of duplicated code between
simple line and manhattan line callout classes
2021-03-18 13:58:09 +10:00
nirvn
6d64fabe07 [ui] Disable fill color for stroke-only ellipse symbols 2021-03-18 10:15:08 +07:00
Nyall Dawson
5d06c1d48d [FEATURE] When the "show pinned labels" option is enabled, also
highlight any pinned callout start or end points

This allows users to immediately see which callouts points have
been manually placed vs are automatically placed.
2021-03-18 12:15:40 +10:00
Nyall Dawson
e8280d29bc More see also fixes 2021-03-18 11:43:00 +10:00
Nyall Dawson
b3b89733a8 Fix see also links 2021-03-18 11:43:00 +10:00
Nyall Dawson
a16ab723d5 [feature] Add option to trim the start and end of simple line symbol
layers by a preset amount

This allows for the line rendering to trim off the first x mm
and last y mm from the actual line string when drawing the line.
It can be used eg when creating complex symbols where a line layer
should not overlap marker symbol layers placed at the start
and end of the line.

The start/end trim distance supports a range of units, including
percentage of the overall line length, and can be data defined
for extra control.
2021-03-18 11:43:00 +10:00
Nyall Dawson
99c5ac3d66 Add method to calculate total length of a QPolygonF line 2021-03-18 11:43:00 +10:00
Damiano
fad9d75a71 Fix QgsAbstractRelationEditorWidget redondancy mNmRelation/nNmRelationId
mNmRelation and nNmRelationId represent the same QgsRelation instance
but it was possible to set them to different values.
Also added method nmRelation() to access the nmRelation directly.
2021-03-17 20:55:20 +01:00
nirvn
2cbb1307cb Address review 2021-03-17 16:14:07 +07:00
nirvn
01f1f0c78a [symbology] Add a semi arc and arrow sign to ellipse markers 2021-03-17 15:52:55 +07:00
nirvn
b3d27aacce [symbology] Add a 1/2, 1/3, 1/4 arc signs to simple markers 2021-03-17 15:52:44 +07:00
Mathieu Pellerin
09620ad7db
[feature][symbology] Allow pen cap style to be set for ellipse marker symbol layers (#42289) 2021-03-17 15:22:49 +07:00
Nyall Dawson
109f95b3cd [feature] Allow pen cap style to be set for simple marker symbol layers
This is useful for the stroke-only symbols like the cross and arrowhead
markers, where it's sometimes nice to have round caps instead of square
caps.
2021-03-17 14:53:18 +10:00