35750 Commits

Author SHA1 Message Date
Nyall Dawson
6ea0049b17 Merge pull request #3732 from nirvn/strpos_regexp_match_upgrade
[expression] strpos() and regexp_match() improvements
2016-11-10 16:02:57 +10:00
nirvn
6b2b4c578a [FEATURE][expression] strpos() and regexp_match() improvements
- strpos() now relies on a simple string within a string search
- regexp_match() now returns pos of a matching regular expression
2016-11-10 11:55:20 +07:00
nirvn
45711d372e [processing] use algorithm description in modeler dependencies dialog 2016-11-10 10:21:12 +07:00
Hugo Mercier
164a85acdb [virtual] Fix encoding issue 2016-11-09 16:40:43 +01:00
Matthias Kuhn
5093ec6bc9 Improve num_selected and is_selected function help 2016-11-09 08:45:53 +01:00
Matthias Kuhn
c282e26210 Use QPointer for storing layer pointers in expression scope 2016-11-09 08:45:53 +01:00
Stéphane Brunner
6cf47bef1e Apply some @m-kuhn comments (#3736)
* Use QgsStringMap

* Better description

* Use new translated metadata methods
2016-11-08 23:16:11 +01:00
rldhont
63e3fd3781 [BUGFIX][QGIS Server] Revert layer order in WMS GetContext request 2016-11-08 20:00:47 +01:00
Patrick Valsecchi
4234ad5c35 Relation managment: enable the remove button when selection
If nothing is selected, this button is doing nothing.
2016-11-08 16:28:07 +01:00
Patrick Valsecchi
aaa3117bd5 Multi relation removal
Let the user select multiple relations and delete them.
2016-11-08 16:28:07 +01:00
volaya
72fddb8b5e Merge pull request #3470 from arnaud-morvan/refactor_fields_context_generator
[Processing] Fix processing refactor fields algorithm using expression context generators
2016-11-08 10:45:32 +01:00
volaya
7c4e66b360 Merge pull request #3726 from arnaud-morvan/processing_various_fixes
[processing] small fixes
2016-11-08 10:30:06 +01:00
volaya
db35b38bdb Merge pull request #3731 from nyalldawson/alg_tags
[processing] Allow algorithms to specify tags
2016-11-08 10:27:39 +01:00
Juergen E. Fischer
0189609dcf dxf export: skip nan z coordinates 2016-11-08 09:03:12 +01:00
Nyall Dawson
e40d64f9d5 Make provider default value clauses exempt from unique constraint checks
Otherwise the check fails when the provider has a default value clause
like 'nextval(...)' even though the actual committed value will be
unique.
2016-11-08 12:54:31 +10:00
Nyall Dawson
8cd810ed2c Return false from QgsVectorLayer::addFeatures if adding features failed 2016-11-08 12:54:25 +10:00
Nyall Dawson
fcb6c2bb9a Fix some incorrect return values from QgsFeature python bindings 2016-11-08 12:54:19 +10:00
Nyall Dawson
6f3b0caa81 Add method to QgsAttributes to convert to QgsAttributeMap 2016-11-08 11:25:48 +10:00
Nyall Dawson
f9bb230665 Avoid some QgsGeometry pointer use in QgsGeometry API 2016-11-08 11:09:19 +10:00
Nyall Dawson
3550cc99a6 [processing] Allow algorithms to specify tags
Tags are used while searching in the toolbox. This should help with
finding algorithms when the exact name is not known, eg
you could search for "envelope" or "bounds" and find the
'Polygon from Layer Extent' algorithm.

At the moment it's quite hard to discover algorithms which exist
when you don't know what their called and have to instead search
for every possible naming variant which could exist...
2016-11-08 10:15:31 +10:00
Nyall Dawson
1a4f8f59f1 [processing] When searching in toolbox, ignore order of words
Eg, allows you to search "line merge" and find the "Merge lines"
algorithm. Should make it easier for users who don't know the
exact name to find algorithms.
2016-11-08 09:30:52 +10:00
Nyall Dawson
35a29d85c0 Add missing API break documentation 2016-11-08 09:08:09 +10:00
Nyall Dawson
02ea2d7703 Fix typos 2016-11-08 09:05:47 +10:00
Nyall Dawson
32b1603c81 Update indentation 2016-11-08 08:57:51 +10:00
Nyall Dawson
cef4719c78 Add another file to .gitignore 2016-11-08 08:53:19 +10:00
Nyall Dawson
3b30701780 Prepare commit ensures empty line before doxygen block 2016-11-08 08:52:39 +10:00
Nyall Dawson
fd15090521 Update identation 2016-11-08 08:51:22 +10:00
Nyall Dawson
f8bda8dbfc Avoid crash in testqgsexpression.cpp 2016-11-08 08:42:27 +10:00
Nyall Dawson
ec55161866 Avoid lazy evaluation for substr expression function
Better solution is to set handlesNull to true to avoid the default
null parameter = null result behaviour, and handle null values
in params 1 and 2 manually
2016-11-08 08:42:22 +10:00
nirvn
0fbcc4b95d [FEATURE] upgrade the substr() function
- support negative start value (e.g. substr('hello',-2) returns 'lo')
- support negative length value (e.g. substr('hello',3,-1) returns 'll')
- length parameter now optional, defaults to end of string
  (e.g. substr('hello world',7) returns 'world')
2016-11-08 08:42:17 +10:00
Nyall Dawson
11405af067 Fix range widget wrapper not correctly respecting default allow
null setting
2016-11-08 08:18:16 +10:00
Nyall Dawson
94413c38fd Show literal defaults in add feature form 2016-11-08 08:18:16 +10:00
Nyall Dawson
b0bd61f308 [FEATURE] Detect default literal values from OGR layers
Requires GDAL >= 2
2016-11-08 08:18:16 +10:00
Nyall Dawson
0ae610c5e3 [FEATURE] Detect literal default values for spatialite provider 2016-11-08 08:18:16 +10:00
Nyall Dawson
1fea20de50 Split handling of literal default values from provider side
default value SQL clauses

QgsVectorDataProvider now has two methods:

- defaultValueClause: returns SQL fragment which must be evaluated
by the provider to obtain the default value, eg sequence values
- defaultValue: returns the literal constant default value
for a field
2016-11-08 08:18:16 +10:00
Stéphane Brunner
59b10d65b7 Merge pull request #3720 from sbrunner/WFS-provider-metadata
Add metadata for WFS provider in layer metadata informations
2016-11-07 17:15:03 +01:00
Stéphane Brunner
bc1ad2ce82 Add metadata for WFS provider in layer metadata informations 2016-11-07 16:46:39 +01:00
Patrick Valsecchi
8e7ae8f04d Avoid having duplicated relations in the discovery 2016-11-07 12:48:26 +01:00
Juergen E. Fischer
0ca9eb0d2c debian packaging: drop trusty support 2016-11-07 12:15:23 +01:00
Patrick Valsecchi
91e4b24a39 Better reading/writting of editor widget config.
Avoid saving config parameters that are not set and support not
having them in the XML.
2016-11-07 09:00:17 +01:00
Nyall Dawson
6d8990b75d Fix coverity uninitialized variable warnings 2016-11-07 16:15:39 +10:00
Nyall Dawson
3c530a62e5 Merge pull request #3723 from nirvn/regexp_matches
[FEATURE] add regexp_matches() function
2016-11-07 14:34:27 +10:00
nirvn
1d245b2ef6 [FEATURE] add regexp_matches() function
The new function returns an array of strings captured by capturing
groups in a supplied regular expression. For e.g., the following
expression: regexp_matches('qgis=>rocks','(.*)=>(.*)')
will return the following array: 'qgis', 'rocks'.
2016-11-07 10:47:19 +07:00
Nyall Dawson
4e4bb2bf6b Merge pull request #3728 from nyalldawson/open
Cleanup processing file handling
2016-11-07 13:20:13 +10:00
Nyall Dawson
9b667d1e8a [FEATURE] Remove c++ geometry snapper plugin
All functionality is now available through analysis lib + processing
algorithm.

Marked as feature for documentation + changelog flagging
2016-11-07 12:20:59 +10:00
Nyall Dawson
8acc286b0f [FEATURE] Snap to layer algorithm accepts a mode parameter
With a new option to prefer to snap to closest point on geometry.
The old behaviour was to prefer to snap to nodes, even if a node
was further from the input geometry than a segment. The new option
allows you to snap geometries to the closest point, regardless
of whether it's a node or segment.
2016-11-07 12:20:59 +10:00
Nyall Dawson
983fe24806 Port some API from QgsPoint to QgsPointV2 2016-11-07 12:20:59 +10:00
Nyall Dawson
dae0a01761 [FEATURE][processing] Snap geometries algorithm allows snapping
to other layer types, supports point/line layers

Fix #14791, #15313
2016-11-07 12:20:59 +10:00
Nyall Dawson
c3a978b9da [FEATURE][processing] Snap geometries to layer algorithm
Port the Geometry Snapper plugin across to the analysis lib, and
expose to python bindings

Add a new algorithm which performs the snapping to layers
2016-11-07 12:20:59 +10:00
Nyall Dawson
0484769b7d [processing] Use subprocess.DEVNULL instead of open(os.devnull) 2016-11-07 12:13:18 +10:00