4052 Commits

Author SHA1 Message Date
Nyall Dawson
213064a8af Fix layout context flags not being respected when rendering items 2017-07-25 12:54:58 +10:00
Nyall Dawson
0bffff05b3 Astyle 2017-07-25 12:54:58 +10:00
Nyall Dawson
e444f00cc5 Fix calculation of layout bounds considers page shadow 2017-07-25 12:54:58 +10:00
Nyall Dawson
fabfd77c2b Show known page size when opening page properties if current page size matches 2017-07-25 12:54:58 +10:00
Nyall Dawson
0f90e23fe6 Refine item widget creation methods in layout item gui registry 2017-07-25 12:54:58 +10:00
Nyall Dawson
a3e26785f8 [needs-docs] Start on right click menu for layouts
Currently only contains option for removing the current
page and (non-functional) option for setting current page
properties
2017-07-25 12:54:58 +10:00
Nyall Dawson
e885966cb6 Add method to retrieve page at a specified layout position 2017-07-25 12:54:58 +10:00
Nyall Dawson
cbc5782cd8 Add unit test for scaling layout view with layouts in pixels 2017-07-25 12:54:58 +10:00
Nyall Dawson
8044353aa7 Show correct unit type in status bar 2017-07-25 12:54:57 +10:00
Nyall Dawson
0ab3b8e0ad Fix cursor position display for multipage layouts 2017-07-25 12:54:57 +10:00
Nyall Dawson
3021fc86d2 QgsLayoutUnitComboBox can be linked to spin boxes so that their
values are automatically updated when the combo box unit changes

This means that you can flip between units and things like
the existing width and height are converted immediately to the
new unit
2017-07-25 12:54:57 +10:00
Nyall Dawson
76b8ba711e Add some tests for data defined page size 2017-07-25 12:54:57 +10:00
Nyall Dawson
39bf23a5d5 Start on reflow support for page collections (needs tests) 2017-07-25 12:54:57 +10:00
Nyall Dawson
79a4694177 Add support for adding/removing pages to a collection 2017-07-25 12:54:57 +10:00
Nyall Dawson
ea32391280 Add methods for handling page size to QgsLayoutItemPage 2017-07-25 12:54:57 +10:00
Nyall Dawson
9df4a67d6d Add a page collection to layouts, and start porting composer page items 2017-07-25 12:54:57 +10:00
Nyall Dawson
3cf06db467 Port item id and uuid code 2017-07-25 12:54:57 +10:00
Nyall Dawson
a515e953b8 Add support for reading/writing item properties to XML 2017-07-25 12:54:57 +10:00
Nyall Dawson
09dd6db97b Add API to save/restore QgsLayoutObject properties to XML 2017-07-25 12:54:57 +10:00
Nyall Dawson
d055def2d1 Merge pull request #4907 from nyalldawson/symbol_button
New QgsSymbolButton widget
2017-07-24 20:29:14 +10:00
Nyall Dawson
6202f06e98 Fix more tests 2017-07-24 20:06:36 +10:00
Nyall Dawson
7e749a5afb Fix failing tests 2017-07-24 19:46:26 +10:00
Nyall Dawson
78b05c1a7f Allow copying and pasting symbols between QgsSymbolButtons 2017-07-24 16:57:30 +10:00
Nathan Woodrow
7b92f1f1e4 [FEATURE] Add user profiles.
All user settings/plugins, etc are now loaded from APPDATA for each
platform and no longer .qgis3 and are isolated from each other.
 This allows for different profiles depending on what the user of QGIS
needs, e.g test, prod, demo, etc

Profile menu allows for switching between profiles, or creating new
ones.
2017-07-24 13:20:01 +10:00
Nyall Dawson
e304662a4f Use standard QgsUnitTypes::RenderUnit throughout labeling
Instead of duplicate labeling specific unit enum, reuse
the QgsUnitTypes::RenderUnit enum in labeling.

This brings several improvements, including:
- label offset/distance/repeat units now works correctly
in all available unit types (inc pixels, map unit meters,
points, inches, etc)
- less duplicate code
- labeling can use the robust QgsRenderContext methods for
converting between different units and painter coordinates

Also change comments for members to doxygen comments, so
that these get included in the API docs.
2017-07-24 11:18:30 +10:00
Nyall Dawson
22c4740f63 [FEATURE] New standard widget for symbol buttons
Button widgets for configuring symbol properties were reimplemented
multiple times throughout the codebase. This commit creates a new
standard QgsSymbolButton widget which should be used whenever
a button for configuring symbol properties is required.

Features include:
- automatic use of inline panels whenever possible
- dropdown menu with shortcuts to color settings, copy/pasting colors
- accepts drag and dropped colors to set symbol color
2017-07-24 11:07:55 +10:00
Nyall Dawson
faa4a09ed0 Merge pull request #4877 from nyalldawson/layout_next
Layouts, chapter II
2017-07-24 08:42:51 +10:00
Nyall Dawson
38c8268400 Allow setting width/height spin boxes to link to QgsRatioLockButton
When set, these spin boxes will automatically be updated when their
accompanying spin box changes value so that the ratio is maintained.
2017-07-21 14:20:45 +10:00
Nyall Dawson
6e49403163 Fix QgsFieldComboBox::setField sets incorrect field when filter is present 2017-07-20 10:13:54 +10:00
Alessandro Pasotti
90d4768a06 Fix addWfsLayer in the WFS GUI test (blacklisted on Travis)
This test segfaults locally.
2017-07-19 18:50:29 +02:00
Juergen E. Fischer
ff0df6d957 fix c29fc35155 2017-07-19 10:37:28 +02:00
Juergen E. Fischer
c29fc35155 also "s/( )/()/;" in sipify.pl (followup 4f9a9e036) 2017-07-19 10:36:12 +02:00
rldhont
08c06def1b Merge pull request #4846 from rldhont/server-wms-configparser-getfeatureinfo
[Server] WMS GetFeatureInfo refactoring
2017-07-19 10:00:01 +02:00
Denis Rouzaud
744fbc5346 fix sipify tests
followup 4f9a9e0360a3ce6b4289e948bb2549a0496f48f2
2017-07-19 09:48:42 +02:00
Juergen E. Fischer
4f9a9e0360 s/( )/()/; s/== /== /; s/!= /!= /; 2017-07-19 09:19:37 +02:00
Nyall Dawson
54bf013004 Update tests 2017-07-18 13:42:04 +10:00
Nyall Dawson
7f066672b3 Add method to specify item groups for item classes in QgsLayoutItemGuiRegistry
This allows the designer dialog to group the corresponding item
actions together (i.e. grouping all basic shape creation actions
together), but without any hardcoded special handling so that
plugin based items can also be grouped.
2017-07-18 12:42:06 +10:00
Nyall Dawson
de2626d65c Add unit types to new item properties dialog, handle different reference
point settings
2017-07-18 12:42:06 +10:00
Nyall Dawson
19a7863ea4 Add methods to construct layout size/point from QSizeF/QPointF 2017-07-18 12:42:06 +10:00
Nyall Dawson
d14f3b9c13 Add QComboBox subclass widget for selecting layout units 2017-07-18 12:42:06 +10:00
Nyall Dawson
56bb65709d Change QgsLayoutItem::draw to use a renderContext instead of
direct QPainter argument

This will make use of other rendering code within layout items
much easier - since symbology/text renderer/diagrams/etc all
require QgsRenderContexts for use, it makes sense for
layout item rendering to also use this approach.

This also avoids lots of duplicate code which was scattered
throughout different composer item types to manually handle
creation of QgsRenderContexts when required.
2017-07-18 12:42:06 +10:00
Nyall Dawson
c282024748 Partially port some layout utils for render context creation 2017-07-18 12:42:06 +10:00
Nyall Dawson
00405fd6b5 Start porting item rotation 2017-07-18 12:42:06 +10:00
Nyall Dawson
c3456133dc Add QgsLayoutUtils 2017-07-18 12:42:06 +10:00
Nyall Dawson
6fd06983a6 Port data defined item position and size 2017-07-18 12:42:06 +10:00
Nyall Dawson
3f0a0cb063 Ensure that moving/resizing items respects reference point 2017-07-18 12:42:06 +10:00
Nyall Dawson
d0c844ed67 Implement item size and positioning using layout units 2017-07-18 12:42:06 +10:00
Nyall Dawson
498c4cda16 Add some rendering checks for layout items 2017-07-18 12:42:06 +10:00
Nyall Dawson
dd370373be Port a bunch of low-level methods to layouts
Relating to expression contexts and variables
2017-07-18 12:42:06 +10:00
Nyall Dawson
15b65fa6d4 Port some basic functionality from QgsComposerObject 2017-07-18 12:42:06 +10:00