10000 Commits

Author SHA1 Message Date
Alexander Bruy
c7645a3884 [processing] port Random points along lines 2017-07-24 09:20:47 +03:00
Alexander Bruy
f8b0c06942 [processing] port Random points in polygons 2017-07-24 09:20:47 +03:00
Alexander Bruy
ae2e32b36e [processing] restore Random points in layer bounds 2017-07-24 09:20:47 +03:00
Alexander Bruy
eb9f45cbb0 [processing] port Random points within extent 2017-07-24 09:20:47 +03:00
Denis Rouzaud
2723f4f199 remove duplicate method
followup 391712d2d42a761acb4bacce81cbe9ed8da52f6b
2017-07-24 07:30:48 +02:00
Nathan Woodrow
391712d2d4 Always log message bar messages to message log
Mainly so they don't just disappear on the user
2017-07-24 15:19:07 +10:00
Nathan Woodrow
12c634cef3 Load default profile name from global
Also adds overrideLocalProfile to ignore local profiles.ini file
2017-07-24 14:52:10 +10:00
Nathan Woodrow
e37f682cca Also load profiles-path from global settings 2017-07-24 14:20:09 +10:00
Nathan Woodrow
7b92f1f1e4 [FEATURE] Add user profiles.
All user settings/plugins, etc are now loaded from APPDATA for each
platform and no longer .qgis3 and are isolated from each other.
 This allows for different profiles depending on what the user of QGIS
needs, e.g test, prod, demo, etc

Profile menu allows for switching between profiles, or creating new
ones.
2017-07-24 13:20:01 +10:00
Nyall Dawson
e304662a4f Use standard QgsUnitTypes::RenderUnit throughout labeling
Instead of duplicate labeling specific unit enum, reuse
the QgsUnitTypes::RenderUnit enum in labeling.

This brings several improvements, including:
- label offset/distance/repeat units now works correctly
in all available unit types (inc pixels, map unit meters,
points, inches, etc)
- less duplicate code
- labeling can use the robust QgsRenderContext methods for
converting between different units and painter coordinates

Also change comments for members to doxygen comments, so
that these get included in the API docs.
2017-07-24 11:18:30 +10:00
Nyall Dawson
faa4a09ed0 Merge pull request #4877 from nyalldawson/layout_next
Layouts, chapter II
2017-07-24 08:42:51 +10:00
Nyall Dawson
99bf32bafb Fix crash in displacement/distance renderers
Individual symbol instances were being rendered multiple times
concurrently
2017-07-23 17:21:52 +10:00
Juergen E. Fischer
90fa6c2e91 sub layer dialog: sort by layer id and feature count numerically (fixes #16917) 2017-07-22 13:41:20 +02:00
Giovanni Manghi
dfc9285121 master: fix SAGA LTR mosaiking tool 2017-07-21 14:42:14 +01:00
Nyall Dawson
38c8268400 Allow setting width/height spin boxes to link to QgsRatioLockButton
When set, these spin boxes will automatically be updated when their
accompanying spin box changes value so that the ratio is maintained.
2017-07-21 14:20:45 +10:00
Nyall Dawson
eb5ac44b27 Update test 2017-07-21 11:28:43 +10:00
Giovanni Manghi
5e03f579d1 mater: fix SAGA LTR Catchement Area tools 2017-07-20 12:15:09 +01:00
Nyall Dawson
96cf6612d3 Port geometry by expression to new API 2017-07-20 15:28:50 +10:00
Nyall Dawson
c0669d4fd2 Port extend lines to new API 2017-07-20 15:28:50 +10:00
Nyall Dawson
1cac3bb635 Port single sided buffer to new API 2017-07-20 15:28:50 +10:00
Nyall Dawson
4a935c1090 Resurrect Translate algorithm 2017-07-20 15:28:50 +10:00
Nyall Dawson
d4af76150f Flip some more algorithms to feature based algorithms 2017-07-20 15:28:50 +10:00
Sandro Santilli
9efd666e48 Test that PostGIS query can be passed as both unicode and string literal
See https://issues.qgis.org/issues/16833
2017-07-19 19:05:39 +02:00
Sandro Santilli
2a572be73e Add test for #16833
Tested to pass with Python 2.7.13
2017-07-19 16:48:36 +02:00
Mathieu Pellerin
0665072d94 [FEATURE] Locked aspect ratio state for Save as image/PDF" (#4880)
Sponsored by Andreas Neumann.
2017-07-19 15:04:52 +07:00
rldhont
08c06def1b Merge pull request #4846 from rldhont/server-wms-configparser-getfeatureinfo
[Server] WMS GetFeatureInfo refactoring
2017-07-19 10:00:01 +02:00
Juergen E. Fischer
4f9a9e0360 s/( )/()/; s/== /== /; s/!= /!= /; 2017-07-19 09:19:37 +02:00
Nyall Dawson
857f8437d1 Merge pull request #4873 from nyalldawson/processing_feature_alg
Add QgsProcessingFeatureBasedAlgorithm subclass
2017-07-19 05:31:30 +10:00
Nyall Dawson
11cfc78a24 Skip invalid returned features 2017-07-18 22:13:50 +10:00
Alessandro Pasotti
0b263f9ac6 Merge pull request #4737 from boundlessgeo/browser-sync
[bugfix] Sync the browser connections when changed from the select dialogs
2017-07-18 13:27:32 +02:00
Mathieu Pellerin
6acd326a8f [FEATURE] Draw extent onto canvas in save as image/PDF dialog (#4878) 2017-07-18 18:13:52 +07:00
Alessandro Pasotti
bd925cd648 Rebase and partially revert 9bae83275368
All signals are now in the base class, even if only
a subset of available providers actually emits them.

This way we can handle all source select dialogs
the same way, regardless if they are vector, DB
or raster (or others).
2017-07-18 12:15:57 +02:00
Nyall Dawson
29855b3942 Change signature of processFeature so that features are no longer modified in place 2017-07-18 19:56:42 +10:00
Alessandro Pasotti
e83ef2e8b5 Store canvas into the base class and set extent/crs from the arcgis classes
This modification was necessary because the current implementation
of the source select dialogs within the unified add layer dialog
create the provider dialogs the first time and do not destroy
them, this means that the canvas extent and CRS can change from
a dialog invocation to the next and the extent and CRS need to
be updated at layer creation time.
2017-07-18 11:45:07 +02:00
Alessandro Pasotti
73b66fa1f5 Homogenize signals from different source select dialogs, move to base class 2017-07-18 11:45:07 +02:00
Nyall Dawson
c2cad99d6b Add note about throwing QgsProcessingException to cancel algorithm execution 2017-07-18 19:44:33 +10:00
Alessandro Pasotti
f6c8ef3ad1 Complete documentation for connectionsChanged signals 2017-07-18 11:42:02 +02:00
Alessandro Pasotti
c4e26d72c0 Renamed base class to QgsAbstractDataSourceWidget 2017-07-18 11:42:02 +02:00
Alessandro Pasotti
aba9da5bc4 Refactored all providers to use the new base class
Also use refreshConnections from the data items when
a refresh is required, this function also emits
the signal to update the other GUI elements.
2017-07-18 11:42:02 +02:00
Nyall Dawson
d926789d3b Improve dox 2017-07-18 19:41:33 +10:00
Nyall Dawson
dd0f18355b [FEATURE] Followup addition of set Z/M values algs with Drop Z/M Values algorithm
Allows easy access to drop any z or m values present in a layer (e.g. if
required for compatibility with a database destination, etc)
2017-07-18 19:41:33 +10:00
Nyall Dawson
340cf93f93 [FEATURE] New algorithms to add Z/M values to existing geometries
Allows upgrading geometries to include these dimensions, or
overwriting any existing Z/M values with a new value.

Intended mostly as a test run for QgsProcessingFeatureBasedAlgorithm
2017-07-18 19:41:33 +10:00
Nyall Dawson
b9f225905a Port a single python algorithm to QgsProcessingFeatureBasedAlgorithm 2017-07-18 19:41:33 +10:00
Nyall Dawson
7e3c435dd6 Port some existing algorithms to QgsProcessingFeatureBasedAlgorithm 2017-07-18 19:41:33 +10:00
Nyall Dawson
1a41624370 Add QgsProcessingFeatureBasedAlgorithm subclass
An abstract QgsProcessingAlgorithm base class for processing algorithms
which operate "feature-by-feature".

Feature based algorithms are algorithms which operate on individual
features in isolation. These are algorithms where one feature is
output for each input feature, and the output feature result
for each input feature is not dependent on any other features
present in the source.

For instance, algorithms like "centroids" and "buffers" are feature
based algorithms since the centroid or buffer of a feature is
calculated for each feature in isolation. An algorithm like "dissolve"
is NOT suitable for a feature based algorithm as the dissolved output
depends on multiple input features and these features cannot be
processed in isolation.

Using QgsProcessingFeatureBasedAlgorithm as the base class for feature
based algorithms allows shortcutting much of the common algorithm code
for handling iterating over sources and pushing features to output sinks.
It also allows the algorithm execution to be optimised in future
(for instance allowing automatic multi-thread processing of the
algorithm, or use of the algorithm in "chains", avoiding the need
for temporary outputs in multi-step models).
2017-07-18 19:41:33 +10:00
Alessandro Pasotti
1e6a4ab301 Added since 3.0 to the renamed class 2017-07-18 11:38:53 +02:00
Alessandro Pasotti
7bb797f8a9 Renamed QgsSourceSelectDialog to QgsArcGisServiceSourceSelect 2017-07-18 11:38:53 +02:00
Alessandro Pasotti
bc516cf82a Added since 3.0 2017-07-18 11:38:53 +02:00
Alessandro Pasotti
385bb86854 SIP include 2017-07-18 11:38:53 +02:00
Alessandro Pasotti
593770a579 Added python bindings for the base source select class 2017-07-18 11:38:53 +02:00