274 Commits

Author SHA1 Message Date
Nyall Dawson
7a3bf17bf1 Provide detailed error message when creating GeoPDF from layout fails
Instead of a generic message (which is not very helpful), show the
full error message we receive from GDAL to the user
2024-05-22 14:28:03 +10:00
Alexander Bruy
8882fd9aa1 duplicate composer map grid (fix #47511) 2024-05-10 13:17:39 +01:00
Nyall Dawson
f02841dd5d Remove Q_DECL_DEPRECATED from constructor
Even though this class is deprecated, this breaks the qt 6 on qt 6.7+
2024-05-01 13:45:55 +10:00
Nyall Dawson
e22a1d605b [feature][layouts] Add z range filter option for layout maps
Similar to the existing setting for temporal filtering of 2d layout
maps, this setting allows users to set a specific elevation/z range
for a layout map item. When set, map layers with support for 2d
z range filtering (currently point clouds and raster DEMs) will
be filtered to show only content within this range.

The z range can be data-defined, allowing differing z range
for different atlas or report features.
2024-03-04 17:00:24 +10:00
Even Rouault
a68422b982 Various typo fixes
Including 3 public methods, which are deprecated by this commit and replaced by a typo-fixed version
2024-02-29 06:03:03 +10:00
Even Rouault
15ea5c46bc
Header files: remove all mentions of '\since QGIS 3.0' 2024-02-18 20:57:23 +01:00
Even Rouault
02caeb9db7
Header files: remove all mentions of '\since QGIS 2.' 2024-02-18 20:46:01 +01:00
Nyall Dawson
ac2f1179c8 More item data role enum to enum class conversions 2024-02-06 21:04:43 +10:00
Nyall Dawson
feecb4017c Make some custom model roles enum class for Qt6 compatibility 2024-02-06 21:04:43 +10:00
Nyall Dawson
f1e3ba9e2d Use correct sip method
And use INDENT-OFF annotations to avoid astyle messing up
formatting of enum with inline macros
2024-01-31 13:48:49 +10:00
Nyall Dawson
23f3af4290 Use enum classes for QgsProperty property keys
Should fix usage on Qt 6 builds
2024-01-31 13:48:49 +10:00
Mathieu Pellerin
185724f892 Make QtPrinter support non-mandatory 2024-01-22 11:07:34 +10:00
Nyall Dawson
7e73b9bad0 Ensure we correctly set qt item caching only when appropriate 2023-10-19 17:30:10 +13:00
Nyall Dawson
cb187267ce Deprecate QgsLayoutEffect
QGraphicsEffects should NOT be used on QGraphicsItems. Despite
being part of stable Qt API, it is broken and results in crashes.

See https://bugreports.qt.io/browse/QTBUG-58501 for details.
2023-10-19 17:30:10 +13:00
Nyall Dawson
df1dc0dba2 Fix elevation profile item transparency forces rasterisation of
whole layout, expand unit test coverage
2023-10-11 11:36:40 +10:00
Nyall Dawson
3588d41786 Fix legend item with opacity forces whole layout to rasterize
and expand test coverage of blend modes and opacity with
legend items
2023-10-11 11:36:40 +10:00
Nyall Dawson
2bd25071f7 Ensure that we always call prepareGeometryChange BEFORE changing
properties which effect the boundingRect of a layout item

Refs #52079
Refs https://bugreports.qt.io/browse/QTBUG-18021
2023-10-05 13:24:47 +10:00
Nyall Dawson
17a34a1bab Avoid calling overridden virtual method in base class destructor
Fixes some undefined behavior when deleting layout items
2023-10-04 05:29:03 +10:00
Harrissou Sant-anna
f53b318692 Update docs and description for layout map item grid elements 2023-09-29 19:55:37 +10:00
Yoann Quenach de Quivillic
a1e9692755 Handle grid frame in rect frame computation 2023-09-08 05:21:07 +10:00
Yoann Quenach de Quivillic
05b79d7825 Fix groups with rotated item (still glitchy when resizing with mixed rotation though) 2023-09-06 13:07:11 +10:00
Yoann Quenach de Quivillic
9a9e8afdef Apply suggestions from code review 2023-08-23 11:14:42 +10:00
Yoann Quenach de Quivillic
91e26c8997 Fix #54139 - Add option to auto-open exported PDF 2023-08-23 11:14:42 +10:00
Sandro Mani
4670159162 Synchronously fetch legend graphics when exporting layouts to PDF 2023-08-17 10:02:58 +02:00
Andrea Giudiceandrea
3c9aaddaed Fix QgsPageSize description 2023-08-07 13:54:10 +10:00
Yoann Quenach de Quivillic
a49515abba Apply suggestions from code review 2023-07-08 04:53:44 +10:00
Yoann Quenach de Quivillic
8f3676dd80 Add search tolerance to QgsLayoutViewToolSelect 2023-07-08 04:53:44 +10:00
Yoann Quenach de Quivillic
145078aacc Fix map and elevation profile data defined background color 2023-06-20 07:03:57 +10:00
Nyall Dawson
ae638d2637 Allow setting distance unit for layout elevation profile items 2023-05-29 14:18:35 +10:00
Mathieu Pellerin
26406fe98d [layout] Insure that hyperlinks within HTML-enabled labels are exported as such within PDFs 2023-05-26 16:47:47 +07:00
Nyall Dawson
a2b3a0c642 Fix layout legend layer title not immediately updating
Fixes #52261
2023-04-03 18:17:03 +10:00
Mathieu Pellerin
441976171f [layouts] Use QPdfWriter to export layouts to PDF 2023-03-30 12:25:46 +07:00
Nyall Dawson
b39c389cd9 Fix version numbers 2023-03-14 04:24:19 +10:00
Nyall Dawson
2f0060c5dc [layouts] Use a background thread to filter legend content by map
Avoids potentially massive UI hangs while working with layouts
with filtered legends.

Fixes #51233
Fixes #48326
Fixes #51455
Fixes #51452
2023-03-14 04:24:19 +10:00
Nyall Dawson
885c0b6136 Add a "refreshing" icon overlay for layout items which are
being redrawn/updated in the background

Gives immediate visual feedback to users that the current appearance
of those items are outdated and to wait while they update.
2023-03-14 04:24:19 +10:00
Nyall Dawson
bb57ef8d1a Doc fixes 2023-03-08 14:53:12 +10:00
Nyall Dawson
781b869a7e [feature][layouts] Support filtering layout legends by multiple linked map items
Instead of limiting layout legend filtering to a single linked map,
this change permits legends to be filtered instead by multiple
linked maps. It is designed to accomodate the use case where
a layout has multiple maps, potentially at different scales
and showing different extents, and a single legend is required
which includes all symbols visible across all the maps.

Sponsored by City of Canning
2023-03-08 14:53:12 +10:00
Nyall Dawson
f9c3da1e06 Move unit enums to Qgis, promote to enum class 2023-02-19 13:29:06 +10:00
Nyall Dawson
d517b9e28a Dox++ 2023-01-30 13:35:42 +10:00
Nyall Dawson
ff447f0ce4 Allow layout elevation profile items to use the atlas feature as
the source of the profile curve

(Requires a line geometry type for the atlas layer)
2023-01-30 13:35:42 +10:00
Nyall Dawson
4cf399f7c9 Implement layout elevation profile plot rendering 2023-01-27 17:38:59 +10:00
Nyall Dawson
f22cd8379a Add widget for setting profile tolerance 2023-01-27 14:43:26 +10:00
Nyall Dawson
e42c3ba1c1 Add method to create profile request for a layout profile item 2023-01-24 11:43:09 +10:00
Nyall Dawson
f3af0dfe65 Add some more settings to layout profile item 2023-01-24 11:43:09 +10:00
Nyall Dawson
f58e870563 [api]Allow layers to be set for layout elevation profile item 2023-01-18 14:56:03 +10:00
Nyall Dawson
c126930db4 Dox 2023-01-17 15:36:03 +10:00
Nyall Dawson
d0f64814ad Expose margin control 2023-01-17 15:36:03 +10:00
Nyall Dawson
054c4598b7 Expose chart ranges options 2023-01-17 15:36:03 +10:00
Nyall Dawson
60baa03ae7 Expose widgets for chart appearance 2023-01-17 15:36:03 +10:00
Nyall Dawson
58e52ed9de More framework 2023-01-17 15:36:03 +10:00