2488 Commits

Author SHA1 Message Date
Nyall Dawson
935f4ad21c Support encoding lists and maps to json 2016-05-09 21:19:28 +10:00
Nyall Dawson
819ed86a69 Correctly escape more json strings 2016-05-09 21:19:28 +10:00
Nyall Dawson
24309dfb3a [FEATURE] New class QgsJSONUtils with utilities for converting
features to and from GeoJSON strings

Sponsored by Kanton of Zug, Switzerland
2016-05-09 21:19:28 +10:00
Matthias Kuhn
ffcf655b85 Don't always show first column in attribute table
Add tests for some basic attribute table functionality

Fix #14774
Fix #14765
Fix #14766
2016-05-09 08:56:42 +02:00
Nyall Dawson
ea20149239 [FEATURE] New "Filled marker" symbol layer type
A "filled marker" is similar to the simple marker symbol layer, except
that it uses a fill sub symbol to render the marker. This allows use
of all the existing QGIS fill (and outline) styles for rendering
markers, eg gradient or shapeburst fills.

A new abstract class QgsSimpleMarkerSymbolLayerBase has been created
from which both QgsSimpleMarkerSymbolLayerV2 and
QgsFilledMarkerSymbolLayer derive. All common code has been moved to
this base class, allowing for easy addition of new shapes or features
to both simple markers and filled markers without duplication.

Also, adds a lot of missing docs to marker symbol layers.
2016-05-07 22:06:10 +10:00
Nyall Dawson
cda387cb6f Ensure that @symbol_color is always correct for symbol layer types
with subsymbols
2016-05-07 21:52:19 +10:00
Marco Hugentobler
e9d3a3aca4 Slightly more precise numbers for circular string centroids 2016-05-06 14:07:13 +02:00
Even Rouault
dc18b5b36b [BUGFIX / FEATURE] [OGR] Allow concurrent edition of Shapefiles and Tabfiles in QGIS & MapInfo
- Closes https://hub.qgis.org/issues/14378
- Adds new virtual methods in QgsDataProvider(): enterUpdateMode() and leaveUpdateMode()
  and implement them in the OGR provider. Limited to shapefiles and tabfiles
- Implements QgsOGRProvider:reloadData()
- Robustify OGR provider methods so they don't crash if dataset re-opening fails.
2016-05-04 22:00:30 +02:00
Matthias Kuhn
c1687abc80 Replace calls to deprecated assertEquals method 2016-05-03 09:18:27 +02:00
Nyall Dawson
ccebd83aa4 Standardise format of initializer lists 2016-05-03 09:38:04 +10:00
Nyall Dawson
5654886933 New class QgsFocusWatcher for easier handling of focus events
Usually QObjects must subclass and override methods like focusOutEvent
to handle focus events. Using this class as an event filter avoids
the need to subclass objects and the focus events can be directly
caught using the emitted signals.
2016-05-02 21:50:40 +10:00
Even Rouault
61735390d7 Fix PyQt import to qgis.pyQt in test_qgsnewgeopackagelayerdialog.py 2016-05-02 12:45:02 +02:00
Nyall Dawson
afdb6c78c0 Merge pull request #3031 from rouault/gpkg_improvements
GeoPackage support related improvements
2016-05-02 18:35:28 +10:00
Nyall Dawson
febe30d991 [expressions] Fix fetching joined column refs when expression is
not prepared (fix #14746)
2016-05-02 12:03:39 +10:00
Nyall Dawson
1f032aa563 Fix potential crash while creating geometry from WKB with bad header 2016-05-02 09:40:33 +10:00
rldhont
f48e74f33c [BUGFIX] QgsGeometry exportToGeoJSON return 'null' for null Geometry 2016-04-29 14:25:41 +02:00
Matthias Kuhn
abfd7740bd Fix qgis.PyQt compatibility imports 2016-04-29 14:10:41 +02:00
Denis Rouzaud
8071acd064 move PyQt compat folder to python/qgis 2016-04-29 14:10:26 +02:00
Nyall Dawson
a67853f825 Fix calculation of point symbol bounds using data defined rotation or offset 2016-04-29 20:16:38 +10:00
Nyall Dawson
93d984e504 Merge pull request #3026 from nirvn/centroid_fill_parts
[FEATURE] add setting to control centroid fill point rendering on all parts or a single part of multi-features
2016-04-28 13:08:31 +10:00
Webmaster
fef8c1fef2 [FEATURE] add setting to control centroid fill point rendering
on all parts or a single part of multi-features (fixes #9199)
2016-04-27 21:10:41 +07:00
Even Rouault
3688b9e80b test_provider_ogr_gpkg.py: remove expected failure tag if GDAL < 1.11.0. This will be a hint of reduced functionality 2016-04-27 14:26:10 +02:00
Martin Dobias
572bd195a5 Make travis happy 2016-04-27 16:04:40 +08:00
Martin Dobias
6f3032a622 Fix tests, fixes after rebase 2016-04-27 15:04:45 +08:00
Sandro Mani
6b88ec81e6 Add connection pool test 2016-04-26 16:02:10 +02:00
Even Rouault
847e41619c test_provider_ogr_gpkg.py: fix crash by keeping a reference to the feature object so that the geometry object isn't invalid 2016-04-26 00:32:01 +02:00
Even Rouault
b4698ada73 test_provider_ogr_gpkg.py: compare geometry by wkb, and use @unittest.expectedFailure decorator 2016-04-25 23:33:27 +02:00
Even Rouault
8e7691a036 [OGR provider] Expose OGR FID as first attribute when it is meaningful
Useful for GPKG and other database based drivers

- For OGR drivers that have GetFIDColumn() != '', expose it as a QGIS
  field.
- When creating features, use the value potentially provided in this
  first field, as the feature id to force to OGR. Disallow changing it
  in changeAttributeValues()
2016-04-25 17:05:55 +02:00
Matthias Kuhn
da0682d730 Add difference image 2016-04-23 21:09:21 +02:00
Matthias Kuhn
adf42dab54 Python3 compat fix for composerhtml test 2016-04-23 21:09:20 +02:00
Even Rouault
1ba2bc0fa9 [OGR provider] Report curve geometry types. Do geometry type conversions when needed on feature creation/modification 2016-04-23 19:36:17 +02:00
Even Rouault
3ba86d48a9 Add a 'Layer / Create Layer / Create GeoPackage layer' menu item 2016-04-23 19:36:16 +02:00
Nyall Dawson
fdd68963c7 [postgres] Improved handling of DOMAIN type fields
- show correct domain type as field type name
- correctly determine length and precision of domain types
- expose bpchar field type as 'character' to users, as postgres only
uses 'bpchar' internally and refers to bpchar as character in the
front end
2016-04-22 17:37:51 +10:00
Nyall Dawson
647f322146 Consolidate all qvariant sort methods to use qgsVariantLessThan,
make sure qgsVariantLessThan incorporates all functionality from
other duplicate implementations, and add tests

(fixes #14671)
2016-04-22 17:20:43 +10:00
nirvn
9735c13e33 [FEATURE] add outline settings to font markers 2016-04-22 09:09:00 +07:00
Nyall Dawson
90613ca5d3 One more xenial test mask update 2016-04-22 07:07:08 +10:00
Nyall Dawson
011bde8873 More xenial, Windows test mask updates 2016-04-22 06:39:00 +10:00
Nyall Dawson
eacca44c6f Test mask updates (qt5 and xenial) 2016-04-22 05:46:58 +10:00
Hugo Mercier
8f0f9ccbb2 Add mask images for arrow symbol layer test 2016-04-19 18:21:51 +02:00
Matthias Kuhn
7379223a5a Server test: URLError has no code 2016-04-19 09:41:32 +02:00
Hugo Mercier
e849cad11d Merge pull request #2955 from mhugo/arrows
[Feature] Arrow symbol layer
2016-04-19 09:23:33 +02:00
Nyall Dawson
efb84ea2fa [FEATURE][diagrams] Add optional legend entries for diagram sizes
A new "legend" tab has been added to diagram properties, allowing
both the existing attribute legend and a new size legend to be
enabled/disabled. The size legend has a configurable marker
symbol.

Also includes unit tests for both diagram attribute and size
legends.

Sponsored by ADUGA
2016-04-19 08:16:05 +10:00
Hugo Mercier
1ee0bc5704 Add @geometry_point_count and @geometry_point_num 2016-04-18 11:36:18 +02:00
Hugo Mercier
34b7ebc2b5 Add a new "arrow" symbol layer
The "arrow" symbol layer is a symbol layer allowing to draw straight
or curved arrows from a line layer.
2016-04-18 11:36:12 +02:00
Nyall Dawson
81744ecf90 Another missing Qt5 test mask 2016-04-18 17:10:39 +10:00
Nyall Dawson
a44d0c1fac Add a missing qt 5 mask image 2016-04-18 16:20:34 +10:00
Nyall Dawson
c24938e3e4 Update test masks for Qt5, enable more tests on Travis Qt5 builds 2016-04-18 15:23:02 +10:00
Nyall Dawson
66b51d4a81 [FEATURE] Edit attributes of multiple features simultaneously
This change allows the attributes of multiple features to be edited
simultaneously. It is enabled when the attribute table dialog is in
"form mode", via a new "multi edit" button on the toolbar.

In this mode, attribute value changes will apply to all selected
features. New widgets appear next to each editor widget allowing for
display of the current multi-edit state and for rolling back changes
on a field-by-field basis.

Changes are made as a single edit command, so pressing undo will
rollback the attribute changes for all selected features at once.

Multiedit mode is only available for auto generated and drag and
drop forms - it is not supported by custom ui forms.

Sponsored by Kanton Basel Stadt
2016-04-18 15:15:11 +10:00
Matthias Kuhn
8047a569e3 Fix console import menu and add tests 2016-04-15 11:05:29 +02:00
Matthias Kuhn
816c322df5 Workaround for buggy mac osx cleanup 2016-04-15 09:20:41 +02:00