4186 Commits

Author SHA1 Message Date
Blottiere Paul
94034c52ae Add tests 2017-07-24 14:45:46 +01: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
Blottiere Paul
cdfca0a45f Add tests 2017-07-21 16:58:40 +01: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
Nyall Dawson
a6156d9221 Layouts have a name 2017-07-18 12:42:05 +10:00
Nyall Dawson
ab79b1560c [layout] Add measurement unit handling to QgsLayout
Allows layouts to convert from various units to their
own native units

Also added a QgsLayoutContext to QgsLayout.
2017-07-18 12:42:05 +10:00
Nyall Dawson
cd380f616c Add measurement converter and dpi to layout context 2017-07-18 12:42:05 +10:00
Nyall Dawson
b2b35dd084 Add a context class for layouts
Stores information relating to the current context (such as
associated feature and layer) and rendering settings for a layout.
2017-07-18 12:42:05 +10:00
rldhont
349c996ad2 [Server] WMS GetFeatureInfo refactoring cleanup 2017-07-17 15:47:55 +02:00
rldhont
f926033699 [Server] WMS GetFeatureInfo refactoring 2017-07-17 12:39:34 +02:00
Nyall Dawson
b24370dca3 Fix use after delete error (thanks to Coverity) 2017-07-17 12:59:09 +10:00
Nyall Dawson
4e5597ab72 Merge pull request #4848 from nyalldawson/virtual_agg
Fix aggregate calculation in virtual fields
2017-07-17 12:49:47 +10:00
Nyall Dawson
3a2710efe5 Merge pull request #4870 from nyalldawson/algs3
Port 4 more algs to new API
2017-07-17 07:51:47 +10:00
Nyall Dawson
38a13ff5af Make pole of inaccessibility calculation handle multipolygons 2017-07-17 07:24:33 +10:00
Nyall Dawson
1342f4d9ac Add API to set optional destination parameters as not created by default
This allows optional outputs (such as null geometry features detected
by the Remove Null Geometries algorithm) to be skipped by default
when desirable.
2017-07-16 18:19:24 +10:00
Nyall Dawson
8711473b7f Add a very basic guard against virtual fields which reference themself 2017-07-14 10:29:18 +10:00
Nyall Dawson
f84a3bbd04 Merge pull request #4819 from nyalldawson/layout_gui
Layout GUI work (pt 1/?)
2017-07-14 10:22:38 +10:00
Nyall Dawson
3f4d6de54b Fix aggregate expression calculation when used with virtual fields
The layer expression context (which is required for aggregate
calculation to work) was not being added to the context used
by vector layer feature iterators.

Fix #15930
2017-07-14 10:21:56 +10:00
Nyall Dawson
eb0c3015f9 Push minimumValues/maximumValues up to QgsFeatureSource base class
Allows these methods to be called on feature sources
2017-07-13 20:07:33 +10:00
Radim Blazek
50df255edc Merge pull request #4847 from blazek/remove-grass6
Remove GRASS 6 support
2017-07-13 08:56:04 +02:00
Mark Johnson
172e809181 [FEATURE] New unit type for rendering in map unit meters sizes
Allows setting symbols other map item sizes to Map Units in Meters. This allows setting the size always in meters, regardless of what the underlying map units are (e.g. they can be it geographic degrees). The size in meters is calculated based on the current project ellipsoid setting and a projection of the distances in meters at the center of the current map extent.
2017-07-13 16:26:41 +10:00