38630 Commits

Author SHA1 Message Date
Martin Dobias
0a0c33dcf2 Remove QgsGeometryCache class
The geometry cache was only used for few geometry editing operations anyway. In earlier versions
of QGIS the geometry cache was also used by old snapping classes which have been replaced
by QgsPointLocator that also keeps a spatial index of geometries and it is not rebuilt on every re-render.

Reasons for removal:
- geometry cache was repopulated on every redraw of layers in editing mode, slowing down rendering
- data structure for the cache was a simple map with features accessed by their ID (no spatial index)
- the cache was only getting refreshed for the current view of the main map canvas (not a generic cache)
- not used for snapping anymore where caching was important to avoid roundtrips to data provider
2017-05-06 10:34:23 +08:00
Nyall Dawson
e2a735f39e Simplify QgsMemoryProviderUtils::createMemoryLayer() 2017-05-06 12:32:04 +10:00
Nyall Dawson
ba2fdf00ab Rename some QgsProviderRegistry methods to clarify that they are factories
- provider() was renamed to createProvider()
- selectWidget() was renamed to createSelectionWidget()
- providerLibrary() was renamed to createProviderLibrary()
2017-05-06 12:28:06 +10:00
Nyall Dawson
6502864c69 Add missing /Factory/ annotations to QgsProviderMetadata
Also sipify QgsProviderMetadata and QgsProviderRegistry
2017-05-06 12:20:59 +10:00
Nyall Dawson
6af2d30b79 Update QgsProviderRegistry docs 2017-05-06 12:13:06 +10:00
Nyall Dawson
2b3c551179 QStringLiteral 2017-05-06 12:05:12 +10:00
Nyall Dawson
747a36f1d9 Remove memory provider library from packaging 2017-05-06 12:05:12 +10:00
Nyall Dawson
8519d74530 Use QgsMemoryProviderUtils::createMemoryLayer when pasting as scratch layer
Also avoids annoying invalid "missing CRS" message/window when pasting
features to a scratch layer
2017-05-06 12:05:12 +10:00
Nyall Dawson
767cb12c2a Add QgsMemoryProviderUtils.createMemoryLayer for easy creation
of new memory layers from QgsFields/QgsCoordinateReferenceSystem/etc

Since memory provider cannot use QgsVectorLayerImport we need
another centeralized function for creating new memory layers
without the need to manually create the uri string.
2017-05-06 12:05:12 +10:00
Nyall Dawson
5511b07e40 Move memory provider to core
This commit introduces basic support for non-library based
data providers, and moves the memory provider from a library
based provider to a core provider.

The memory provider is used so frequently throughout QGIS that
it has become integral to QGIS functionality and must be
available wherever the QGIS core library is used.

The changes here (while not exposed yet to Python) could potentially
be built on to allow creation of pure Python data providers.
2017-05-06 12:05:12 +10:00
Alessandro Pasotti
3784892079 [bugfix] Fixes attribute table duplicated rows #15974 2017-05-05 17:32:23 +02:00
Nathan Woodrow
5e3c6e54be Fix space 2017-05-05 15:55:04 +01:00
Nathan Woodrow
52093a58c6 Fix symbol path for osgeo4w installs 2017-05-06 00:37:49 +10:00
Alexander Bruy
3e05bd8500 Merge pull request #4501 from alexbruy/statistics-by-type
Statistics panel: show only relevant statistics depending on the field type
2017-05-05 16:48:40 +03:00
Matthias Kuhn
931bf32a9f Doxymentation for QgsTransaction 2017-05-05 15:39:29 +02:00
Matthias Kuhn
fd25288a64 Documentation for custom functions 2017-05-05 15:39:29 +02:00
Matthias Kuhn
5f7a2912f6 Expose "context" to expression functions 2017-05-05 15:39:29 +02:00
Matthias Kuhn
028c64e884 Doxygen typo 2017-05-05 15:39:29 +02:00
Alexander Bruy
9c88faf416 Merge pull request #4499 from alexbruy/processing-fieldcalc
[processing] reset variables list in field calculator on layer change  (fix #15633)
2017-05-05 15:16:22 +03:00
Nyall Dawson
fe677040f8 Cleanup project closing
- ensure that layers are removed when clearing projects
- ensure that project is cleared before destruction
2017-05-05 22:10:11 +10:00
Nyall Dawson
41dd2e733d Merge pull request #4447 from arnaud-morvan/fix_new_bookmark
Fix new bookmark query.
2017-05-05 21:34:59 +10:00
Nyall Dawson
67e1558fcf Remove unused symbols from qgis.h
Also slow down @NathanW2's build
2017-05-05 20:38:36 +10:00
Alexander Bruy
391cb73ebd rebuild statistics drop-down menu only when field type changed 2017-05-05 10:23:42 +03:00
Alexander Bruy
68872e5f31 introduce private enum to strore field type 2017-05-05 10:23:42 +03:00
Alexander Bruy
c151ad0425 correctly handle toggling statistics visibility (fix #16117) 2017-05-05 10:23:42 +03:00
Alexander Bruy
7ff644ee49 update staistics list depending on the field type (fix #16119, #16118) 2017-05-05 10:23:42 +03:00
Nyall Dawson
02e96a2d80 Partially revert 636a37f
Fix processing modeler error on startup
2017-05-05 07:00:36 +10:00
Nyall Dawson
49bec6b665 Fix windows build 2017-05-05 06:54:29 +10:00
Denis Rouzaud
29dd519e1f introduce SIP_SKIP in headers
based on the docstrings 'not available in Python bindings'
2017-05-04 12:04:08 +02:00
Denis Rouzaud
cc887c631b [sipify] use a distinct header to simplify includes
there was an issue in libdxf which includes qgslogger in debug mode
and qgsdebug.h includes qgis.h include qgswkbtypes.h (which geometry directory was not listed in libdxrw included paths)
2017-05-04 10:49:17 +02:00
Matthias Kuhn
41dc9d1e17 SIP_SKIP QgsExpression::cloneTo 2017-05-04 09:41:29 +02:00
Alexander Bruy
c2699b4640 [processing] reset variables list in field calculator on layer change (fix #15633) 2017-05-04 10:14:37 +03:00
Denis Rouzaud
3d43f639d5 add missing signals 2017-05-04 08:59:45 +02:00
Alexander Bruy
6f4b0c995d doxymentation 2017-05-04 08:59:45 +02:00
Alexander Bruy
fd9569febe fix qgsgraphanalyzer.h for sipification 2017-05-04 08:59:45 +02:00
Alexander Bruy
31cd113b55 update SIP files 2017-05-04 08:59:45 +02:00
Alexander Bruy
b295fccc27 fix indentation 2017-05-04 08:59:45 +02:00
Alexander Bruy
433b21f7aa remove qgsgraphanalyzer from SIP blacklist 2017-05-04 08:59:45 +02:00
Alexander Bruy
b93e925ba2 [sipify] follow-up 634c7aa3f460ee945743850f6715940d47a12579 2017-05-04 08:59:45 +02:00
Alexander Bruy
e1c35883c5 [sipify] remove space before ModuleTypeHeader
also update network analysis SIP files
2017-05-04 08:59:45 +02:00
Alexander Bruy
f6266130eb also sipify QgsGraphAnalyzer 2017-05-04 08:59:45 +02:00
Alexander Bruy
77d34ddd3a initial sipification of the network analysis library 2017-05-04 08:59:45 +02:00
arnaud.morvan@camptocamp.com
3b43543e48 Sipify core.QgsGemlSchema 2017-05-04 08:26:31 +02:00
arnaud.morvan@camptocamp.com
742c1aa99d Sipify core.QgsGml 2017-05-04 08:26:31 +02:00
arnaud.morvan@camptocamp.com
264c9028de Sypify core.QgsHistogram 2017-05-04 08:26:31 +02:00
arnaud.morvan@camptocamp.com
8e61d48362 Sipify core.QgsJsonUtils 2017-05-04 08:26:31 +02:00
arnaud.morvan@camptocamp.com
d56eef1f4e Sipify core.QgsInterval 2017-05-04 08:26:31 +02:00
Nyall Dawson
716fe52498 Add a button to project properties to open folder containing project
(Opens in default OS file browser)
2017-05-04 16:05:18 +10:00
Denis Rouzaud
eda17309d7 [sipify] use single regex for all double annotation cases
followup ac54a3f83fa95e965f415ec6884d195629e87273
2017-05-04 07:38:32 +02:00
Denis Rouzaud
f7f32e64b5 [sipify] signals are public 2017-05-04 07:23:44 +02:00