2541 Commits

Author SHA1 Message Date
Nyall Dawson
4d5e7536d9 Flip QgsPalLayerSettings to use QgsTextRenderer classes 2016-10-24 12:02:00 +10:00
Nyall Dawson
5f241d6288 Implicitly shared text settings classes 2016-10-24 12:02:00 +10:00
Nyall Dawson
687c66f5d6 Add Points as valid render unit (for font sizes) 2016-10-24 12:02:00 +10:00
Nyall Dawson
44289084e9 Optimise passing of variables by ref/value 2016-10-24 10:36:23 +10:00
Nyall Dawson
3272964f58 Fix classes which violate the rule-of-three
(identified using clazy analyser)
2016-10-24 10:36:22 +10:00
Matthias Kuhn
96a649e37f Add missing bindings 2016-10-23 21:14:42 +02:00
Matthias Kuhn
54b953f433 Cleanup and modernize QgsProject code 2016-10-23 20:54:41 +02:00
Matthias Kuhn
1445647065 QgsVectorDataProvider API cleanup 2016-10-22 23:03:57 +02:00
Nyall Dawson
a51bebdacc Fix missing doc warning 2016-10-22 13:19:32 +10:00
Matthias Kuhn
85c105d6b0 Move management of avoidIntersectionLayers to QgsProject 2016-10-20 12:56:35 +02:00
Matthias Kuhn
5c919fbcca Move topological editing setting management fully to QgsProject 2016-10-20 12:56:35 +02:00
Denis Rouzaud
64d3c788f1 Use toolbar or status bar for snapping config 2016-10-20 12:56:35 +02:00
Matthias Kuhn
f3482d2ce2 Rename visibility presets to map themes part 2 (#3641) 2016-10-20 12:55:48 +02:00
Nyall Dawson
bc30cdf41d Followup c9251c, fix crash 2016-10-20 17:32:39 +10:00
Nyall Dawson
c9251c5793 Avoid creating multiple render contexts when calculating legend
node size

Partial fix for qgis slowdown when using layer with large
number of legend nodes
2016-10-20 07:50:41 +10:00
Matthias Kuhn
e0fc641402 Show commit errors in transaction mode 2016-10-18 15:47:42 +02:00
Nyall Dawson
e8be0ed988 [composer] Allow syncing pictures to true north
Previously pictures could only be synced to grid north, which
can be totally wrong for many CRSes (especially in polar areas)

Users now are given a choice of grid or true north, and can also
enter an optional offset to apply if eg magnetic north is instead
desired.

When synced to true north the bearing is calculated using the
centre point of the linked map item.

Fix #192, #4711

This fix was sponsored by the Norwegian Polar Institute's
Quantarctica project (http://quantarctica.npolar.no) and
coordinated by Faunalia.
2016-10-18 13:45:52 +10:00
Nyall Dawson
fb860fb618 New class QgsBearingUtils with method to calculate true north 2016-10-18 13:45:52 +10:00
Nyall Dawson
a6148deb30 [FEATURE] Data defined symbol layer visibility
Adds a data defined override to control a symbol layer's
visibility. Allows users to disable drawing certain symbol layers
for matching features.
2016-10-18 13:22:22 +10:00
Nyall Dawson
b8c2e68fc5 [FEATURE] Allow symbol layers to be temporarily disabled
Adds a new checkbox at the bottom of each symbol layer's
properties which allows you to control whether the layer is
enabled or not.

Disabled layers are not drawn, but are saved and can be
enabled at a later stage.

This makes it easier to tweak symbol appearance without
having to totally delete a symbol layer.
2016-10-18 13:22:22 +10:00
Nyall Dawson
ecee43814a Fix changing project CRS from legend doesn't correctly set CRS
Also avoid fragile duplicated code for setting/retrieving
common project properties

Fixes #15717
2016-10-18 09:55:56 +10:00
Even Rouault
da0ee8b007 Merge pull request #3597 from rouault/saveas_overwrite_append
[FEATURE] Vector layer save as: offer file/layer overwriting, new layer creation, feature and field appending
2016-10-17 11:22:28 +02:00
Matthias Kuhn
03f08a6c79 Fix QgsMapLayer ConvertToSubClassCode (#3611)
Fix #15683
2016-10-17 10:47:08 +02:00
Matthias Kuhn
8fa3127c66 Don't rely on RTTI to convert symbol layer to sip objects 2016-10-17 10:23:08 +02:00
nirvn
ec2d7fea0c [FEATURE] control over drawing of composer table grid horizontal & vertical lines 2016-10-14 13:20:59 +07:00
Even Rouault
34894c6f5a [FEATURE] Vector layer save as: offer file/layer overwriting, new layer creation, feature and field appending
When saving a vector layer into an existing file, depending on the capabilities
of the output driver, the user can now decide whether:
- to overwrite the whole file
- to overwrite only the target layer (layer name is now configurable)
- to append features to the existing target layer
- to append features, add new fields if there are any.

All above is available for drivers like GPKG, SpatiaLite, FileGDB, ...
For drivers like Shapefile, MapInfo .tab, feature append is also available.
2016-10-13 11:38:41 +02:00
rldhont
726bac5291 Last Redo [BUGFIX][QGIS Server] Joins was not reloaded if the layer is in cache
Add an accessor to QgsVectorLayer join buffer, to not duplicate QgsVectorLayerJoinBuffer::readXml code
2016-10-12 17:03:38 +02:00
Nyall Dawson
0c4bf943c1 Allow expression functions to appear in multiple groups (fix #15682)
Now functions which make sense for multiple contexts (eg length,
to_date) can appear in more than one group.
2016-10-10 19:53:15 +10:00
Nyall Dawson
3a76708bcb Fix renaming a virtual field leads to crash (fix #15669) 2016-10-09 09:03:52 +10:00
Nyall Dawson
a9e9a6e497 Merge pull request #3579 from nyalldawson/composer_dock
Port composer item configuration widgets to inline dock
2016-10-07 07:39:43 +10:00
Juergen E. Fischer
d9349e5bbb update configuration settings to qgis3 2016-10-06 11:40:42 +02:00
Nyall Dawson
521cc3becd [composer] Merge color change undo commands
Avoids color modifications spamming the undo stack
2016-10-06 19:04:22 +10:00
Even Rouault
702eace76c Merge pull request #3532 from pvalsecc/discover_relations
Add auto-discovery of relations for PostgresQL and SpatiaLite
2016-10-06 10:26:06 +02:00
Matthias Kuhn
722fdefe43 referencedColumns returns QSet<QString> instead of QStringList
The order of the elements is irrelevant and duplicate elements are unwanted. It
is therefore a perfect candidate for a set instead of a list. This prevents
filtering for duplicates manually be replacing some filer codes with (more
performant) builtin methods of QSet.
2016-10-05 14:33:38 +02:00
Nyall Dawson
bc32b1fe5a Fix crash when validating geometry (fix #15660)
Also fix python bindings for QgsGeometryValidator
2016-10-05 13:17:55 +10:00
Matthias Kuhn
7332dda0d8 Remove visitor pattern from QgsExpression (#3569)
It is not in use anywhere and can easily be reintroduced if there is a use case
where it is an appropriate fit.

Fix https://github.com/qgis/qgis3.0_api/issues/64
2016-10-04 10:46:56 +02:00
Nyall Dawson
230417c7a8 Add method to create QgsMapToPixel from scale/dpi/mapunits 2016-10-03 11:19:04 +10:00
Juergen E. Fischer
ffaffadbfa fix typos 2016-10-01 17:58:12 +02:00
Matthias Kuhn
ff52a9f29b setAttributeAlias is now setFieldAlias 2016-10-01 15:39:03 +02:00
Matthias Kuhn
37e06ae587 Rename setAttributeAlias and removeAttributeAlias 2016-10-01 15:39:03 +02:00
Matthias Kuhn
4a7a8ff263 Update python code 2016-10-01 15:39:03 +02:00
Matthias Kuhn
b6779f63ff Rename QgsFields::fieldNameIndex() to lookupField()
To have two clearly different names for tolerant/intolerant index lookup
2016-10-01 15:39:03 +02:00
Nyall Dawson
ca7b504e5c Fix Travis warnings and missing docs/sip 2016-09-30 08:42:16 +10:00
Nyall Dawson
962a4e975f Expose renderer variables to users 2016-09-30 08:42:16 +10:00
Nyall Dawson
7acb07f218 Make sure all attributes are fetched for distance based renderers 2016-09-30 08:42:16 +10:00
Nyall Dawson
3f590f0035 Make distance based renderers much faster when filters are present 2016-09-30 08:42:16 +10:00
Nyall Dawson
36e276f993 [FEATURE] Point cluster renderer
Groups nearby points into a single rendered marker symbol.

QgsPointDisplacementRenderer has been split into a new
pure virtual QgsPointDistanceRenderer base class which handles the
detection of clusters and grouping of points. The new cluster
renderer reuses this base class to avoid code duplication.

Additionally, some improvements have been made to the
displacement renderer, specifically:
- points are now assigned to the group which is "nearest" them,
rather then just assigning them first group within the search
distance. In some cases this was assigning features to a more
distant cluster, resulting in less predictable cluster patterns
- individual points are now correctly shown in their own
selection state

Lots of code cleanup + documentation too.

Sponsored by:
- Andreas Neumann
- Qtibia Engineering (Tudor Barascu)
- Karl-Magnus Jönsson
- Geonesia (Nicolas Ponzo)
- Plus numerous additional anonymous backers whose generous
contributions are also highly valued!
2016-09-30 08:42:16 +10:00
Patrick Valsecchi
31a1c23903 Add auto-discovery of relations for PostgresQL
Fixed the add relation functionnality: the table is sorted. When the code
was setting the sorted column, the row was sorted and the other columns it was
setting were set on the wrong row.
2016-09-27 16:36:33 +02:00
Hugo Mercier
67c05b51c2 Fix some /Transfer/ annotations 2016-09-23 15:35:37 +02:00
Juergen E. Fischer
31df84aa6b run 2to3 on source 2016-09-21 23:30:04 +02:00