34055 Commits

Author SHA1 Message Date
Denis Rouzaud
3e197ae74a remove QgsColorButton in favor of V2 2016-08-04 14:27:31 +02:00
Denis Rouzaud
138e1139aa remove old folder 2016-08-04 14:02:52 +02:00
Nyall Dawson
e363d242f9 Fix build 2016-08-04 20:56:25 +10:00
Matthias Kuhn
bb79d13e82 Remove deprecated Qgis::WKBType and API cleanup (#3325)
* Remove deprecated Qgis::WKBType and API cleanup

Renames QgsWKBTypes to QgsWkbTypes

Replaces usage of the enums:

* Qgis::WKBType with QgsWkbTypes::Type
* Qgis::GeometryType with QgsWkbTypes::GeometryType

Their values should be forward compatible (a fact that was already
explited up to now by casting between the types)

Renames some SSLxxx to SslXxx and URIxxx to UriXxx

* Fix build warnings and simplify type handling

* Add a fixer to rewrite imports

* The forgotten rebase conflictThe forgotten rebase conflicts

* QgsDataSourcURI > QgsDataSourceUri

* QgsWKBTypes > QgsWkbTypes

* Qgis.WKBGeom > QgsWkbTypes.Geom

* Further python fixes

* Guess what... Qgis::wkbDimensions != QgsWkbTypes::wkbDimensions

* Fix tests

* Python 3 updates

* [travis] pull request caching cannot be disabled

so at least use it in r/w mode

* Fix python3 print in plugins
2016-08-04 09:10:08 +02:00
Matthias Kuhn
6dbe63fc1a Don't show scrollbar in embedded drag and drop designer form 2016-08-03 13:41:54 +02:00
Sandro Mani
06a64ac43e [Geometry checker] Fix default value for thinness threshold 2016-08-03 09:45:18 +02:00
Sandro Mani
3b118a2f3d Merge pull request #3339 from manisandro/spatialite_ftablecatalog
[Spatialite] Only store database filename in f_table_catalog, not entire path
2016-08-03 09:40:47 +02:00
Sandro Mani
2b8b8ae0cc [Spatialite] Remove t_table_catalog WHERE clause when searcing for layer styles in db
This sanity check is unnecessary and breaks styling if the sqlite file is moved or renamed.
The t_table_catalog column is kept for backwards compatibility.
2016-08-03 09:36:18 +02:00
Juergen E. Fischer
f7e7ecff05 fix build 2016-08-03 09:01:16 +02:00
Juergen E. Fischer
285bcd053c fix crash when QSQLITE is unavailable (fixes #15358) 2016-08-03 08:54:24 +02:00
Nyall Dawson
c695571c55 Merge pull request #3304 from nyalldawson/processing_clip
[FEATURE] Optimise processing clip algorithm
2016-08-03 14:59:04 +10:00
Nyall Dawson
420917bf5b Sort api doc file by class name 2016-08-03 13:54:02 +10:00
Nyall Dawson
d1aa03a09b Better clip for very separate features 2016-08-03 13:41:22 +10:00
Nyall Dawson
71ebdb8f69 [FEATURE] Optimise processing clip algorithm
Before the algorithm was written to optimise clipping a few
features against thousands of mask features. The revised algorithm
is optimised for clipping thousands of input features against
a few mask features.

Given that this second operation is much more likely, it makes
sense to optimise for this use case.

I've also applied some other optimisations like taking advantage
of spatial indexes on the providers, using prepared geometries
and also only applying an intersection operation if the geometry
isn't wholly contained by the mask geometry.

Benchmarks:

clipping roads layer with 1 million lines against 2 polygons

before: 5 mins 30 seconds
after: 10 seconds

clipping address layer with 5 million points against 2 polygons

before: 50 minutes
after: 30 seconds
2016-08-03 13:15:03 +10:00
Matthias Kuhn
8182f2970f QgsFeatureRendererV2::Capabilities to flags 2016-08-02 17:24:38 +02:00
Matthias Kuhn
2cf9243edb Split displayField into displayExpression and mapTipTemplate (#1973)
Previously there was the expressionField (a field name or an expression)
mainly used for the feature list in the form view of the dual view.
On the other hand there was the displayField which could contain either
a simple field name or a complex HTML structure with embedded expressions.
And to know what it was you could compare it's content with the field names, if
a field name matched, you used it as a displayField (original purpose) and
if not... well, you could deal with HTML if you had a use for it.

The main problem is that there are two different usages for this kind of
thing

 * plain text identifier (field or expression)
 * pretty, rich text feature info

This commit cleans up with this. You want rich text and a lot of info:
go for mapTipTemplate.
You want a plain text string to identify features: go for
the displayExpression.
2016-08-02 16:58:58 +02:00
Alexander Bruy
2134112aab [dbmanager] fix signal/slot connection 2016-08-02 16:50:27 +03:00
Denis Rouzaud
f5b11d9130 Merge pull request #3352 from 3nids/rubberband_ispolygon
QgsRubberBand: remove constructor and method with bool isPolygon
2016-08-02 15:11:13 +02:00
Denis Rouzaud
b7f4fe36e7 QgsRubberBand: remove constructor and method with bool isPolygon
use methods with Qgis::GeometryType instead
2016-08-02 13:56:02 +02:00
Martin Dobias
2482a6bbd0 Small cleanup in data items 2016-08-02 13:04:45 +02:00
Alexander Bruy
517f4e1f7f [processing] fix import 2016-08-02 12:14:16 +03:00
Alexander Bruy
02e846ab5e expand all groups if filter applied 2016-08-02 11:23:51 +03:00
Alexander Bruy
592c33f41e [FEATURE][processing] add search to Get Scripts and Models dialog (fix #12067) 2016-08-02 11:23:25 +03:00
Martin Dobias
1a9001802c Merge duplicate sections in API breaks doc 2016-08-02 10:07:59 +02:00
Martin Dobias
9db9304627 Raster MTR improvements - part one (PR #3334) 2016-08-02 08:22:29 +02:00
Nyall Dawson
f9fabb86d9 Merge pull request #3346 from nyalldawson/processing
Some processing features + fixes
2016-08-02 14:45:06 +10:00
Nyall Dawson
4bfdcf0927 Fix expected test data 2016-08-02 13:50:59 +10:00
Nyall Dawson
60147e8147 Remove use of constGeometry 2016-08-02 13:50:59 +10:00
Nyall Dawson
bb54b4f41a [FEATURE] Make processing dissolve algorithm accept multiple fields
This allows you to dissolve based on more than one field value
2016-08-02 11:54:02 +10:00
Nyall Dawson
f449bf2361 Make test layer comparison handle different order of features 2016-08-02 11:53:11 +10:00
Nyall Dawson
fda93dfc57 [processing] Fix broken multi field selection widget 2016-08-02 11:53:11 +10:00
Nyall Dawson
0455b6600d [processing] Fix multipart to singlepart handling of null geometry 2016-08-02 11:53:11 +10:00
Nyall Dawson
ccfd4c36be [processing] Add test for dissolve using field values 2016-08-02 11:52:37 +10:00
Nyall Dawson
0939dbf9df Add processing test .aux.xml to .gitignore 2016-08-02 11:51:45 +10:00
Nyall Dawson
30fcaed634 [FEATURE][processing] New algorithm for merging connected lines
This algorithm joins all connected parts of MultiLineString
geometries into single LineString geometries.

If any parts of the input MultiLineString geometries are not
connected, the resultant geometry will be a MultiLineString
containing any lines which could be merged and any non-connected
line parts.
2016-08-02 11:51:44 +10:00
Nyall Dawson
e259e62941 Merge pull request #3349 from nyalldawson/feature_geom
Mega API break - fix QgsFeature geometry getters/setters
2016-08-02 09:21:25 +10:00
Nyall Dawson
b7ca001c9c Add __nonzero__ and __bool__ methods to QgsGeometry 2016-08-02 08:39:58 +10:00
Nyall Dawson
d075b128a8 Add missing docs 2016-08-02 07:26:11 +10:00
Martin Dobias
a89fea13fd Added note about api break 2016-08-01 23:08:05 +02:00
Martin Dobias
38b63edc46 Fix doc coverage test for "added in XXX" check 2016-08-01 23:05:37 +02:00
Tom Kralidis
f7a3fd7368 Merge pull request #3348 from tomkralidis/fix-requests-dep
ensure python-requests is available in the build
2016-08-01 10:57:30 -04:00
Matthias Kuhn
ea0f4da58c Sort attribute table by value for numerical columns
Fix #15318
Fix #15295
2016-08-01 16:31:16 +02:00
Nyall Dawson
4b78b1c208 Make all QgsGeometry methods return values, not pointers
Reduces likelihood of crashes and leaks
2016-08-01 22:41:55 +10:00
Alexander Bruy
1d2b0b4ca7 [processing] don't apply additional parameter if offset curve operation is used (fix #15342) 2016-08-01 15:26:58 +03:00
Tom Kralidis
4649e52cad ensure python-requests is available in the build 2016-08-01 08:26:06 -04:00
Alexander Bruy
98a5527406 [processing] add missed import (fix #15359) 2016-08-01 15:04:21 +03:00
Matthias Kuhn
3e33e686c1 Rename visibility presets to map themes
Because it is not only more descriptive for what it does but also
sounds more interesting.

[needs-docs]
2016-08-01 12:23:44 +02:00
Nyall Dawson
bd7d913379 Refine QgsFeature geometry getters/setters
All pointer based methods have been removed.

Now we have only:

  void setGeometry( const QgsGeometry& geom )

and

  QgsGeometry geometry() const

Benefits include avoiding a whole lot of tricky pointer lifetime
issues, potential memory leaks, and finally closing #777, which
has survived for over 9 years!...

Impacts on PyQGIS code:
- no more need for the messy
  g = QgsGeometry( feature.geometry() )
  workaround, just use g = feature.geometry() instead
- IMPORTANT: you can no longer test whether a feature has geometry
 using `if f.geometry():`, since QgsFeature::geometry() will
 *always* return an object. Instead, use
 `if not f.geometry().isEmpty():`, or preferably the new method
 `if not f.hasGeometry():`

Fix #777
2016-08-01 16:25:46 +10:00
radosuav
1da60c530d [Processing] Fix exception on right click ToolboxAction (#3347) 2016-08-01 00:09:23 +02:00
Harrissou Sant-anna
ecf5543a1b fix typo in api docs (#3345) 2016-07-31 14:14:54 +02:00