3176 Commits

Author SHA1 Message Date
Martin Dobias
6c5956b22b QgsProject: cleanup of read/write method + removal of unused bad layer handler class 2017-01-04 20:29:53 +08:00
Nyall Dawson
0ce30217f1 Implement some QGIS 3 TODOs for diagram API 2017-01-04 18:17:22 +10:00
rldhont
8475fc36f3 Update [QGIS Server] CITE WMS 130 Test project 2017-01-03 14:55:00 +01:00
rldhont
454df31b17 [BUGFIX][Server] WMS compliance: stretched, distort, increase, decrease
The commit d44f1eba2fed18b3fef8d8865d79b3b6d8bc4d69 seems to break some WMS 1.3.0 client and WMS compliancy.
The commit d44f1eba2fed18b3fef8d8865d79b3b6d8bc4d69 has been written to fix an issue with QGIS WMS Client and to render image like other WMS Server.

This commit has been written to fix issue introduce by d44f1eba2fed18b3fef8d8865d79b3b6d8bc4d69.
It is based on MapServer code:
* https://github.com/mapserver/mapserver/blob/master/mapdraw.c#L115
* https://github.com/mapserver/mapserver/blob/master/HISTORY.TXT#L3768

And take account of axis invertion for output CRS.
2017-01-03 14:55:00 +01:00
Nyall Dawson
57917ab118 Compile some string functions 2017-01-03 15:32:57 +10:00
Nyall Dawson
30f498f006 Compile some supported functions for spatialite provider 2017-01-03 15:32:57 +10:00
Nyall Dawson
9615ac42b4 Handle division operator during expression compilation 2017-01-03 15:32:57 +10:00
Nyall Dawson
b0bc763475 Bump minimum GDAL version to 2.0, remove old version #ifdefs 2017-01-03 15:10:28 +10:00
Blottiere Paul
f7729b3096 [server] parallel map rendering 2017-01-02 22:13:45 +01:00
rldhont
4bc06b18e9 [Feature][PostgreSQL] Tests: Compile expression functions 2017-01-02 16:25:33 +01:00
rldhont
735b1c359a [Feature][PostgreSQL] Compile expression functions 2017-01-02 16:25:32 +01:00
Even Rouault
60a1701377 [FEATURE] Change of ergonomy of the visibility of layers inside groups
See https://github.com/qgis/QGIS-Enhancement-Proposals/issues/86

- Checking/unchecking a group doesn't change the check state of its children.
A node is visible if and only if it is checked and all its parents too.
- There is no more a semi-checked state for a group
- Ctrl-clic on a unchecked group will check the group and all its descendants.
- Ctrl-clic on a unchecked layer will check the lager and all its parents.
- Ctrl-clic on a checked group will uncheck the group and all its descendants.
- Ctrl-clic on a checked layer will uncheck the layer and all its parents.
- Those actions are available in contextual menu items in the tree view.
- Invisible layers because they or their parent(s) is unchecked are greyed out.
2017-01-02 13:25:25 +01:00
Nyall Dawson
8ebc73b495 Merge pull request #3914 from nyalldawson/bye_singletons
Remove some singletons by moving instances to QgsApplication
2017-01-02 09:00:58 +10:00
Alexander Bruy
c5835e9adc [processing] fix test and menus after renaming GdalOgr provider 2016-12-31 09:09:07 +02:00
Nyall Dawson
850171cbb5 Optimise destructors (pt 1)
- Remove some non-base class empty destructors. These add no value
and it's better to let the compiler auto generate optimised versions
- use virtual ~Class = default instead of virtual ~Class {}
2016-12-30 13:52:57 +10:00
Harrissou Sant-anna
ef85cdcf83 Replace "eg" by "e.g." or "for example" 2016-12-30 00:03:22 +01:00
Harrissou Sant-anna
69af2facde Replace more splitted by split 2016-12-29 01:46:19 +01:00
Nyall Dawson
585d9dbff1 Fix tests 2016-12-28 17:43:22 +10:00
Nyall Dawson
9d4adc1c70 Remove some singletons by moving instances to QgsApplication
- QgsColorSchemeRegistry
- QgsDataItemProviderRegistry
- QgsGPSConnectionRegistry
- QgsMessageLog
- QgsPaintEffectRegistry
- QgsPluginLayerRegistry
- QgsRasterRendererRegistry
- QgsRendererRegistry
- QgsSvgCache
- QgsSymbolLayerRegistry
2016-12-28 16:59:03 +10:00
Nyall Dawson
bc98a326c0 [FEATURE] Add QgsVectorDataProvider::truncate for clearing layers
Adds a new method to QgsVectorDataProvider to truncate the layer.
The base implementation requires DeleteFeatures capability and
is not optimised. Providers can return the FastTruncate capability
and override the base implementation with a provider specific
optimised version. This is done in this commit for the Postgres
and Spatialite providers.
2016-12-27 13:55:42 +10:00
Nyall Dawson
b256075e30 Add a base class implemention for QgsVectorDataProvider::changeFeatures
Previously this method would only succeed for providers which
explicitly implement it. Now, providers which do not implement
changeFeatures but do support both ChangeAttributeValues
and ChangeGeometries capabilities will use a non-optimised
version of changeFeatures which calls changeAttributeValues
and changeGeometries in turn.

This makes QgsVectorDataProvider::changeFeatures easier to use
in scripts - instead of writing manual fallbacks for providers
which do not implement it you can instead safely call this
method regardless of the provider and it will succeed wherever
both the attributes/geometries can be changed.

Also add a provider unit test covering this.
2016-12-27 13:55:42 +10:00
Mathieu Pellerin
901cd290b1 Merge pull request #3887 from nirvn/raster_pseudocolor_move 2016-12-27 10:54:17 +07:00
nirvn
181f84b86f [raster] move pseudocolor renderer classification out of gui into core 2016-12-27 10:16:51 +07:00
Nyall Dawson
9c6883711b Enable edit tests for Postgres provider 2016-12-27 13:06:07 +10:00
Nyall Dawson
64f8b4dbad Fix incorrect aggregate values returned for empty sets (fix #16008)
Now empty sets return NULL values for invalid statistics
2016-12-27 09:55:17 +10:00
Matthias Kuhn
33abb78ac5 Pass variable values as QVariant 2016-12-22 20:21:21 +01:00
Matthias Kuhn
79f32ab6b2 Rename QgsProject::variables to QgsProject::customVariables 2016-12-22 20:21:21 +01:00
Matthias Kuhn
7baeacbcac Followup 1a648229 2016-12-20 17:45:30 +01:00
Matthias Kuhn
1a648229e8 Improve some asserts for more meaningful output in case of error 2016-12-20 17:05:55 +01:00
Matthias Kuhn
2f0f6a98c6 Use assertIsInstance instead of assertTrue(isinstance()) 2016-12-20 16:32:50 +01:00
Matthias Kuhn
dbbf062e5d Fix bindings and tests 2016-12-20 01:20:08 +01:00
Matthias Kuhn
dfd9833467 Let all tests work with a proper QgsApplication instance 2016-12-20 01:20:08 +01:00
Matthias Kuhn
0190e506a6 Move QgsConfigurationMap to QgsXmlUtils 2016-12-20 01:20:08 +01:00
Matthias Kuhn
928f360c77 Make attribute table aware of disappearing field formatters 2016-12-20 01:20:08 +01:00
Matthias Kuhn
f4bc53695e Manage null representation value in QgsApplication::nullRepresentation() 2016-12-20 01:20:08 +01:00
Matthias Kuhn
22c492e6e5 Rename QgsFieldKit to QgsFieldFormatter 2016-12-20 01:20:08 +01:00
Matthias Kuhn
f294201e7b Remove QgsEditFormConfig::widgetType 2016-12-20 01:20:08 +01:00
Matthias Kuhn
930ce545a8 Fix failing tests 2016-12-20 01:20:08 +01:00
Matthias Kuhn
9fd0802939 Remove QgsEditorWidgetConfig
This is replaced with a QVariantMap. It was never really more than this in the
past and with the switch to QgsConfigurationProperties, there is really no
longer any reason to assume that this will change.
2016-12-20 01:20:08 +01:00
Matthias Kuhn
80b3bfdf18 Add QgsConfigurationProperty class
This class holds a QVariantMap to manage key-value-pairs where each
value can be a string, bool, int, double or itself a map and can be
stored to and restored from XML.
2016-12-20 01:20:08 +01:00
Denis Rouzaud
9c4be41441 [spelling] labelling -> labeling 2016-12-19 23:58:29 +01:00
Even Rouault
792873af5c Merge pull request #3871 from rouault/auto_stretch
[FEATURE] Implement raster auto-stretching when updating canvas
2016-12-16 13:53:54 +01:00
Even Rouault
532eb58d1f [FEATURE] Implement raster auto-stretching when updating canvas
This commit implements the improvements described at:
https://lists.osgeo.org/pipermail/qgis-developer/2016-September/044393.html

The QgsRasterMinMaxWidget now offers a seetting to specify that the statistics
should be computed each time the canvas extent changes.

Other changes:
- the content of the QgsRasterMinMaxWidget is now persistant.
- there is no longer any Load button. The global Apply / OK button of the raster
  properties dialog has this effect.
- the default "limits" for single band raster is now MinMax and not CumulativeCut
- the default "limits" can be configured for single band, multi band single byte and
  multi band multi byte
- "Strech using current extent" honours the "limits" instead of forcing min/max.
2016-12-16 12:36:06 +01:00
Nyall Dawson
a0b260587b Add some data modification tests to providertestbase
Tests for addFeatures, deleteFeatures, changeAttributeValues
and changeGeometryValues

Implemented for memory, ogr and spatialite providers
2016-12-16 13:02:52 +10:00
Denis Rouzaud
2ffe1a764b spelling fixes 2016-12-15 15:26:36 +01:00
Denis Rouzaud
90fc0bb226 use Travis to look for spelling errors
use silver searcher for faster search (instead of grep)
2016-12-15 15:26:36 +01:00
Alexander Bruy
417a5cdba3 Merge pull request #3861 from alexbruy/svg-cleanup
clean up SVG files from unnecessary data
2016-12-15 12:48:41 +02:00
Martin Dobias
5c402b2fde Fix python test 2016-12-15 18:15:12 +08:00
Juergen E. Fischer
a85fe1fa44 [FEATURE] DWG import into geopackage using libdxfrw 2016-12-14 22:15:15 +01:00
Juergen E. Fischer
8d8bbabf81 indentation update 2016-12-14 14:13:31 +01:00