43349 Commits

Author SHA1 Message Date
Nyall Dawson
53c877963a Add method to create QgsRectangle from center and size 2017-11-07 11:32:38 +10:00
Nyall Dawson
7924aa1990 Fix regeneration of cached maps when zoom level changes 2017-11-07 11:32:38 +10:00
Nyall Dawson
6f59965ae1 Fix double ownership issue causing crash when deleting layouts 2017-11-07 11:32:38 +10:00
Nyall Dawson
753f6f5050 Start hooking up map widget gui 2017-11-07 11:32:38 +10:00
Nyall Dawson
23d0617bac Start porting map item 2017-11-07 11:32:38 +10:00
Nyall Dawson
71c41d49b7 Add export layer settings to QgsLayoutContext 2017-11-07 11:32:38 +10:00
Nyall Dawson
9d04e679a2 Prepare for map item porting 2017-11-07 11:32:38 +10:00
Nyall Dawson
87ef5c52b0 Allow cancelation of polygon/polyline creation 2017-11-07 11:32:38 +10:00
Nyall Dawson
4e8483ecfb [layouts] Fix polyline does not render purely horizontal/vertical lines 2017-11-07 11:32:38 +10:00
Nyall Dawson
420821fd68 Fix correct frame bounding rects for shapes and node items 2017-11-07 11:32:38 +10:00
Nyall Dawson
9a08fad506 Exclude selected nodes item when snapping during node move 2017-11-07 11:32:38 +10:00
Nyall Dawson
938b239277 Port more node tool actions 2017-11-07 11:32:38 +10:00
Nyall Dawson
ab7bb7235a Start work on node edit tool 2017-11-07 11:32:38 +10:00
Nyall Dawson
d92b067b28 Add config widget for polygon/polyline items 2017-11-07 11:32:38 +10:00
Nyall Dawson
44fe2a8d08 Add tools to create node based items 2017-11-07 11:32:38 +10:00
Nyall Dawson
6b629e199e Port snappedAngle from composer 2017-11-07 11:32:38 +10:00
Nyall Dawson
783636dfa7 Port polygon and polyline items to layouts 2017-11-07 11:32:38 +10:00
Nyall Dawson
b41fea90e2 Fix layout items appear in random order in gui 2017-11-07 11:32:38 +10:00
Nyall Dawson
2ec31d84d3 Add configuration widget for shapes 2017-11-07 11:32:38 +10:00
Nyall Dawson
7674bd746b Cleanup item xml read/write, save shape properties 2017-11-07 11:32:38 +10:00
Nyall Dawson
26dcf792b0 Fix tests 2017-11-07 11:32:38 +10:00
Nyall Dawson
8ca6d3e717 Refactor layout item gui registry to allow metadata for duplicate item types
This allows registration of item creation actions which create
items with an existing item type, but custom creation functions.

E.g. allowing actions for creation of ellipse/triangles/etc
from a single layout item type.
2017-11-07 11:32:38 +10:00
Nyall Dawson
f524c80b11 More shape porting 2017-11-07 11:32:38 +10:00
Nyall Dawson
cf7714b722 Restore tests, add button to set page background in ui 2017-11-07 11:32:38 +10:00
Nyall Dawson
4a1bcb3266 Revert automatic detection for preview renders
Turns out there's no reliable way to differentiate widget
vs QImage based renders inside QGraphicsItems
2017-11-07 11:32:38 +10:00
Nyall Dawson
edecc37c9f Start work on exporter for layouts 2017-11-07 11:32:38 +10:00
Nyall Dawson
9630a39190 [layouts] Nicer detection of rendering in a view
In compositions, a flag must be explicitly set to indicate
whether the render occuring is for "previews" (i.e.
rendering in a graphics view) or outputs (i.e. rendering
to a image/pdf/other destination device)

This isn't nice api.

So we avoid this by checking the paint device type when
an item is being rendered.
2017-11-07 11:32:38 +10:00
Nyall Dawson
625eef80eb Fix resizing with mouse handles acts strangely when items have frames 2017-11-07 11:32:38 +10:00
Nyall Dawson
8629225a41 Work on functional rotation for items 2017-11-07 11:32:38 +10:00
Nyall Dawson
ce79ff30c8 Add refresh action for layouts 2017-11-07 11:32:38 +10:00
Nyall Dawson
c0b63a6778 After creating an item with the add item tool, switch immediately to select tool 2017-11-07 11:32:38 +10:00
Nyall Dawson
3678f01e54 Port item opacity handling from composer 2017-11-07 11:32:38 +10:00
Nyall Dawson
75898d8e09 Port 'exclude from exports' functionality from composer 2017-11-07 11:32:38 +10:00
Nyall Dawson
4e8878dcb3 Port item blend mode support to layouts 2017-11-07 11:32:38 +10:00
Nyall Dawson
0143d0be68 Add a signal to QgsLayoutContext when flags change 2017-11-07 11:32:38 +10:00
Nyall Dawson
91c3b5d255 Add a shortcut menu to items panel, with option to show
item properties

Refs #11581
2017-11-07 11:32:38 +10:00
Nyall Dawson
f69771cadf Add item properties to context menu 2017-11-07 11:32:37 +10:00
Nyall Dawson
3735c7f06f Small tweaks to selection behavior 2017-11-07 11:32:37 +10:00
Nyall Dawson
06650808b5 Fix resize of grouped items with non-top left reference points 2017-11-07 11:32:37 +10:00
Nyall Dawson
e836fc49b1 When selecting a different item, but the item is the same
type of item, just update the existing panel to show the new
item's properties

This means that flicking between selecting items of the same
type will not create a new properties widget, so scroll
bar positions, focused widgets, etc are all maintained.

Makes using layouts less annoying.
2017-11-07 11:32:37 +10:00
Nyall Dawson
29dfcc0d7d Avoid temporary no-selection state when selecting a new item
in layouts using mouse interactions
2017-11-07 11:32:37 +10:00
Nyall Dawson
ab4e6c11ed Fix resizing items with non-top-left reference point using mouse handles 2017-11-07 11:32:37 +10:00
Nyall Dawson
1c735d59ee Handle position and size with units and ratio lock in item properties 2017-11-07 11:32:37 +10:00
Nyall Dawson
aebe5a42e6 Allow reseting ratio manually for linked ratio lock buttons 2017-11-07 11:32:37 +10:00
Nyall Dawson
ea453beb73 If the same item is reselected in a layout, don't create a new
properties widget for it

Because if we do annoying things happen, like loss of focused
widget and scroll bar position
2017-11-07 11:32:37 +10:00
Nyall Dawson
b2414d8d8d Start porting item properties widget 2017-11-07 11:32:37 +10:00
Nyall Dawson
d3836e502a Move population of layout gui registry from GUI->app
Since we don't want all the item type subclass config widgets
to have to reside in gui, we need to populate the registry
from app instead.
2017-11-07 11:32:37 +10:00
Nyall Dawson
edea38f7c7
Merge pull request #5542 from nyalldawson/auth_manager_instance
Fix crashes when no QgsApplication instance is available
2017-11-07 11:26:57 +10:00
Nyall Dawson
e3f3499712
Merge pull request #5541 from nyalldawson/thread_local
Don't use thread_local on mingw or OpenBSD builds
2017-11-07 11:21:26 +10:00
Nyall Dawson
cc59ee448c More build fixes 2017-11-07 10:40:51 +10:00