1849 Commits

Author SHA1 Message Date
Nyall Dawson
1f2cc3d051 Revert deprecation of QgsSymbolV2Utils::encode/decodeOutputUnit
...as it causes circular dependancies. Defer to 3.0 when we can
move QgsSymbolV2::OutputUnit to QgsUnitTypes
2016-02-15 07:24:35 +11:00
Nyall Dawson
ddbdcf8ab1 Fix project unit confusion (pt 2): add project distance unit setting
Adds a new option in project properties to set the units used for
distance measurements. This setting defaults to the units set in
QGIS options, but can then be overridden for specific projects.

The setting is respected for length and perimeter calculations in:
- Attribute table field update bar
- Field calculator calculations
- Identify tool derived length and perimeter values
- Default unit shown in measure dialog

Also adds unit tests to ensure that length and perimeter calculated
by attribute table update bar, field calculator and identify tool
are consistent wrt ellipsoidal calculations and distance units.

(refs #13209, #12939, #2402, #4857, #4252)
2016-02-14 21:04:41 +11:00
Nyall Dawson
17a29f90d6 Add area units to QgsUnitTypes (refs #13209) 2016-02-14 14:57:38 +11:00
Juergen E. Fischer
a90be95f7b sip sync 2016-02-14 03:50:49 +01:00
Nyall Dawson
9f772bce29 Add API call for setting preferred distance unit for QgsExpression
(refs #13209, #12939, #4857)
2016-02-13 11:36:51 +11:00
Nyall Dawson
229ef29170 If no geomCalculator is set for QgsExpression, perform cartesian
calculations for $length, $area, $perimeter (refs #13209)

ie, the default is now to use planimeteric calculations unless
a geomCalculator has been explicitly set
2016-02-12 20:54:25 +11:00
Juergen E. Fischer
2ea3d7744d port more WKB parsing to Qgs(Const)WkbPtr including bounds checking 2016-02-09 14:20:07 +01:00
Hugo Mercier
fa78ccf74d Deprecate old WkbType in QgsDataSourceUri 2016-02-09 10:44:41 +01:00
Hugo Mercier
e2123c79e5 Fix addFeature and addPart maptool for layers with a Z 2016-02-09 10:44:41 +01:00
Nyall Dawson
99cef42eef Improve QgsDistanceArea API to make it easier to determine units
for returned distances, add unit tests
2016-02-05 20:13:10 +11:00
Nyall Dawson
ddabad247f Move unit handling helpers out of QGis and QgsSymbolLayerUtils
into a new QgsUnitTypes helper class. Add unit tests.

TODO QGIS 3.0: Move QGis::UnitType and QgsSymbolV2::OutputUnit
to QgsUnitTypes
2016-02-04 08:01:32 +11:00
Nyall Dawson
b6c714ac20 Improve API, docs for QgsDistanceArea 2016-02-03 18:57:10 +11:00
Nyall Dawson
ac328a6993 Fix QgsDataItem docs 2016-02-03 16:30:58 +11:00
Nyall Dawson
d4ea95ea49 Improve QgsCoordinateReferenceSystem documentation 2016-02-03 07:52:40 +11:00
Nyall Dawson
c3a57434d9 Fix clazy 'pass small and trivially-copyable type by value' warnings 2016-02-02 19:47:21 +11:00
Nyall Dawson
f3c7ab61e6 Spelling fixes, updates to chkspelling.sh 2016-02-02 19:47:21 +11:00
Juergen E. Fischer
490236f2f2 spelling fixes 2016-02-02 02:37:15 +01:00
Denis Rouzaud
2797ed79b0 Merge pull request #2743 from 3nids/testfieldwidget2
Fix label expression/field lose when removing a join in layer properties
2016-02-01 04:54:29 -05:00
Denis Rouzaud
e453c1588d remove join returns true in case of success 2016-02-01 03:38:16 -05:00
Nyall Dawson
7fb9b68cfe Don't report a postgis import was successful when the user cancels
it mid-way through
2016-01-31 22:54:11 +11:00
Juergen E. Fischer
ecfcd319ef sip sync QgsFeatureRendererV2 2016-01-28 12:20:20 +01:00
Nyall Dawson
082f113197 Readd missing sip binding 2016-01-28 21:43:09 +11:00
Nyall Dawson
4aafed8366 Indentation 2016-01-28 20:51:22 +11:00
Juergen E. Fischer
4dd76da7f8 geometry sip sync and some cosmetics 2016-01-28 10:31:08 +01:00
Martin Dobias
fa66583e6f Improve indexing strategy for snapping (fixes #12578)
Implemented a simple heuristic that should keep the number of cached
features per layer reasonable - and thus lower the amount of consumed
memory and CPU for big layers.
2016-01-27 23:16:47 +01:00
Martin Dobias
86307ffc7c Add debug capabilities to snapping utils 2016-01-27 23:16:46 +01:00
Nyall Dawson
0d433b092e Fix warnings 2016-01-27 20:56:32 +11:00
Nyall Dawson
4ec0912001 Fix inconsistent behaviour when deleting nodes with node tool
(fix #14168)
2016-01-27 20:12:20 +11:00
Nyall Dawson
c7204cc722 Fix editing composer legend titles while filtering enabled (fix #11459) 2016-01-27 15:51:47 +11:00
Nyall Dawson
6893f4941d Properly fix doxygen warning 2016-01-27 14:40:51 +11:00
Nyall Dawson
59f418b763 Revert "Fix doxygen warning"
This reverts commit 9e1a2359ba7aab9094544f85ba04efceceedf5f6.
2016-01-27 14:40:01 +11:00
Nyall Dawson
9e1a2359ba Fix doxygen warning 2016-01-27 14:38:05 +11:00
Nyall Dawson
fe95e4eeea Show variables from symbol scope in symbol layer widget expression
builders. (This lets users know they are available).

Also swap some variable names to static strings for speed.
2016-01-27 13:58:32 +11:00
Nyall Dawson
39f0035246 Improve preview of current variable value in expression builder 2016-01-27 11:36:56 +11:00
Nyall Dawson
3744ac2fc4 Fix categorised renderer does not store changes to the source symbol
Avoids the frustrating situation where changes to a symbol in the
categorised renderer are lost when the layer properties window
is reopened

Also improve docs and fix a leak in the Python bindings
2016-01-27 09:58:47 +11:00
Nyall Dawson
24d9c65494 Fix more classes which violate the rule-of-three
Also remove some empty destructors
2016-01-26 14:24:45 +11:00
Martin Dobias
492c1a9ff0 Improve documentation for renderer registry metadata (refs #13973) 2016-01-25 18:16:32 +01:00
Martin Dobias
83eed1109c Improve renderer class documentation (refs #14025) 2016-01-25 18:16:32 +01:00
Matthias Kuhn
b5ee06dc28 Merge pull request #2702 from alexbruy/styles-bindings
fix SIP bindings for listStylesInDatabase() method (fix #11210)
2016-01-25 17:39:20 +01:00
Nyall Dawson
39e1f68ccc Fix filtering legend content by map when renderer contains
duplicate symbols (fix #14131)

Now, we don't test for map content using the symbols but instead
use the legend key during the hit test
2016-01-25 14:43:54 +11:00
Juergen E. Fischer
ae52aabd70 more spelling fixes 2016-01-24 20:16:28 +01:00
Nyall Dawson
8ad6ca08fe Fix some memory leaks identified by Coverity
Also improve the API for QgsExpressionContextUtils::updateSymbolScope
Previously it was hard to predict if the method would create storage,
which caused issues for the python bindings (eg, they had a choice of
either leaking or being crashy).
2016-01-24 15:17:17 +11:00
Nyall Dawson
752f6bd150 Fix classes which violate rule of three, by implementing required
copy/= operators or making them private

This revealed (and fixes) some issues, including a potential crash
using server access control (refs #13919), and a potential crash with
diagrams
2016-01-22 18:45:45 +11:00
Matthias Kuhn
8d72f13a57 [25d] Improve convertability to other layers
* Move height and angle expressions for 2.5D renderer to layer
 * Apply color based on main symbol color

This makes the transition to other renderers easy.

Fixes #14132
2016-01-21 22:37:51 +01:00
Nyall Dawson
c38ee41f5b Fix rendering of CurvePolygons without curved segments (fix #14028) 2016-01-21 21:44:40 +11:00
Juergen E. Fischer
00633811c9 spelling fixes 2016-01-21 10:42:25 +01:00
Matthias Kuhn
47549ebcba Merge pull request #2691 from m-kuhn/fixrulebased
Also render all parent features on refined rules
2016-01-20 17:21:05 +01:00
Alexander Bruy
fe2503dab3 fix SIP bindings for listStylesInDatabase() method (fix #11210) 2016-01-20 14:36:20 +02:00
Martin Dobias
9fda6aaf53 [tracing] fix the case when OTF reprojection is disabled 2016-01-20 09:44:24 +01:00
Nyall Dawson
60816af372 Correctly mark some raster classes copy/assignment as private
As they haven't been properly implemented yet and the classes
violate the rule of three
2016-01-20 17:06:04 +11:00