262 Commits

Author SHA1 Message Date
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
Nyall Dawson
7fdc80496c Framework 2023-01-17 15:36:03 +10:00
Nyall Dawson
3527257bd1 Deprecate legend line spacing setting, this is now handled in the text
formats
2022-11-29 14:31:36 +10:00
Nyall Dawson
34df6d129a [feature] Use text renderer in layout legends
This change allows use of the full text renderer capabilities
for legend titles, subtitles, and item text. It allows buffers,
shadows, font spacing control, and all over options (including
mixed HTML formatting!) which is permitted for use in text
formats.
2022-11-29 14:31:36 +10:00
Mathieu Pellerin
ed3483edb1 [layouts] Support non-printer layout exports when QPrinter not available 2022-11-23 21:24:15 +07:00
Julien Cabieces
5a2a89bb99 Fixes #37804 : save original layout item picture mode 2022-09-26 09:38:57 +10:00
Nyall Dawson
ff145d38ff Add __repr__ for QgsLayoutTableColumn 2022-06-13 17:33:52 +10:00
Nyall Dawson
48071fa228 Alternative fix for #43744
Fixes #48965
2022-06-13 17:33:52 +10:00
Nyall Dawson
0e28ab5148 Also expose data defined control over scalebar height and subdivision
height, right number of subdivisions
2022-06-09 19:04:45 +10:00
Nyall Dawson
1df43e05bd Use "minimum"/"maximum" to meet API conventions 2022-06-09 19:04:45 +10:00
Ethan Snyder
c14f9144f2 Made changes per review comments from Nyall. 2022-06-09 19:04:45 +10:00
Ethan Snyder
abcb631b3e Updated sip files for the layout scalebar and the layout object. 2022-06-09 19:04:45 +10:00
Julien Cabieces
012b6a46db constify methods 2022-04-29 08:21:47 +10:00