5317 Commits

Author SHA1 Message Date
Nyall Dawson
60afeadf44 Add QgsProjectDirtyBlocker and QgsProject.blockDirtying to prevent
project dirtying for the lifetime of an object

Python code can then call:

    project = QgsProject.instance()
    with QgsProject.blockDirtying(project):
      # do something

Use QgsProjectDirtyBlocker to prevent projects being marked as
dirty while creating a new project or while loading an existing
project -- avoids the titlebar temporarily showing the project
state as unsaved while it is being loaded.
2018-03-11 08:44:51 +11:00
Tudor Bărăscu
10cfca48d6 add server test for GetMap with styles and opacities
Covers https://issues.qgis.org/issues/15553 case
2018-03-09 13:20:20 +02:00
Nyall Dawson
00802e5cb2 Update test mask image 2018-03-09 13:34:40 +11:00
Nyall Dawson
8c780dc12f Add @project_home expression variable 2018-03-09 11:15:55 +11:00
Nyall Dawson
4e5c08e2b5 [FEATURE] Allow overwriting the project home path
This allows the project home path (which is used by the browser
to create the 'Project Home' item) to be set by users for a
project, instead of always matching the location where the project
is saved.

This allows users to set the project home to a folder which contains
data and other content, and is especially useful for organisations
where qgis projects are not stored in the root folder of a organisational
'project'.

Project home paths can also be set to relative paths, in which
case they will be relative to the project saved location.

The path can be set through the Project Properties dialog, or
by right-clicking on the Project Home browser item and
selecting 'set project home'

Sponsored by SMEC/SJ
2018-03-09 11:15:55 +11:00
Nyall Dawson
35b5c7820a Add test that AFS provider gets renderer by default 2018-03-07 16:28:47 +11:00
Nyall Dawson
7a3415257b Add unit tests for ArcGIS rest style parsing 2018-03-07 16:28:47 +11:00
Mathieu Pellerin
b42c893bbc
[FEATURE] color_grayscale_average() and color_mix_rgb() expression functions (#6554) 2018-03-07 11:59:52 +07:00
Luigi Pirelli
74d14ae3d4
Merge pull request #6414 from alexispolti/fix-project-path
Fix project path when path contains a symbolic link
2018-03-06 23:46:08 +01:00
Matthias Kuhn
e3dabac78a Only add parameter when it is new 2018-03-07 09:00:33 +11:00
Matthias Kuhn
542910e9da Add QgsProcessingParameterType tests 2018-03-07 09:00:33 +11:00
Alexis Polti
5b2c81bdea Fix project path when path contains a symbolic link 2018-03-06 22:50:07 +01:00
Sandro Mani
5bf28d56b6
Merge pull request #6533 from manisandro/wms_filter_geom_crs
Ensure FILTER_GEOM is transformed to layer CRS in GetFeatureInfo
2018-03-06 15:28:33 +01:00
Sandro Mani
184480bcd6 Ensure FILTER_GEOM is transformed to layer CRS in GetFeatureInfo 2018-03-06 13:16:36 +01:00
Nyall Dawson
93f805cd09 Fix adding parts to curved polygon types fails 2018-03-06 15:20:34 +11:00
Nyall Dawson
454cce89f1 Don't try to render non-finite points
They occur as a result of reprojection errors, and cause a line
to be extend to the top-left of the canvas.

Fixes #9392
2018-03-06 10:26:52 +11:00
Nyall Dawson
5b8599e9bb Strip non-spatial and nullptrs from list when calling
QgsMapSettings::setLayers

Since neither can be rendered, we filter them from the list
of layers to be rendered in the map.
2018-03-06 07:50:26 +11:00
Nyall Dawson
8e4b8a9518 Ensure that non-spatial layers are never set as canvas layers 2018-03-06 07:50:26 +11:00
Blottiere Paul
7c3ab9f135
Merge pull request #6268 from pblottiere/dbmanager_stop
[FEATURE][needs-docs] dbmanager stop
2018-03-05 09:47:16 +00:00
Nyall Dawson
7cf409eb0a Add unit test for #18283 2018-03-05 12:36:30 +11:00
Nyall Dawson
84cdd609ab [processing] Fix invalid filenames are used for temporary files
during models

Fixes #18263
2018-03-05 12:06:50 +11:00
Nyall Dawson
8543a91264 Use a better regex for removing invalid characters from filenames
Fixes atlas exports remove international characters from filenames

Fixes #18291
2018-03-05 12:06:50 +11:00
Matthias Kuhn
0d208298b7
Merge pull request #6506 from m-kuhn/fixRange
Fix Integer range widget with allowNull
2018-03-02 17:02:53 -05:00
Denis Rouzaud
9580a88514 fix sipify test 2018-03-02 08:33:45 -09:00
Blottiere Paul
b8a009c456 Add unit test for QgsVirtualLayerTask 2018-03-02 09:43:26 +00:00
Blottiere Paul
7b18fa8bec Add test for lazy option 2018-03-02 09:43:26 +00:00
Alexander Bruy
a2179046e8 [processing] add tests for creating outputs from FileDestination
parameter
2018-03-02 10:35:56 +02:00
Matthias Kuhn
b37c410dbf Fix tests 2018-03-01 15:43:59 -05:00
Matthias Kuhn
b20889a6b9 Add test for 0/NULL range widget
For #18297
2018-03-01 12:08:23 -05:00
Nyall Dawson
0f93e55fce [layouts] Fix legends do not respect reference point when auto sizing
Fixes #18269
2018-03-01 18:02:41 +11:00
Nyall Dawson
7459539b82 Add unit tests for categorized renderer unchecked symbols 2018-03-01 16:49:29 +11:00
Denis Rouzaud
0ec7d54c9c add test for QgsReadWriteContext.enterCategory 2018-02-28 13:43:11 -04:00
Denis Rouzaud
47ab9b89e7 remove const for QgsReadWriteContext to allow bringing up error messages 2018-02-28 13:43:10 -04:00
Denis Rouzaud
78e2259add
[Travis] bump Qt to 5.9 (#6355)
* bump Qt to 5.9 and SIP to 4.19.7 by using coming Bionic as base Docker image for dependencies
* automatically build QGIS Docker image on cron jobs
2018-02-27 09:16:02 -09:00
Denis Rouzaud
f7220c89c6 more test masks 2018-02-27 08:29:20 -09:00
Denis Rouzaud
eb6a216325 update test masks 2018-02-27 05:47:51 -09:00
Alessandro Pasotti
91b9a69d3e
Merge pull request #6470 from elpaso/template-convert
[layout] Automatic conversion of 2.x composition templates to layouts
2018-02-27 09:14:03 +00:00
Alessandro Pasotti
27ab59c628 Fixed mask image and docs 2018-02-27 08:46:30 +00:00
Denis Rouzaud
cc6e2d46e7 update test masks 2018-02-26 17:26:39 -09:00
Alessandro Pasotti
5fbcb8e5ed Update mask images 2018-02-26 19:37:10 +00:00
Alessandro Pasotti
02e75a7347 Update control images 2018-02-26 19:04:11 +00:00
Alessandro Pasotti
3bdb6c2890 [layout] Automatic conversion of 2.x composition templates to layouts 2018-02-26 18:01:13 +00:00
Denis Rouzaud
03edc407b1 rename QgsSettings::enumSettingValue to enumValue
no python API break
2018-02-26 02:32:44 -09:00
Nyall Dawson
703898e923 Update test masks 2018-02-25 12:47:58 +11:00
Nyall Dawson
033e2e6436 Add unit test for calculator filter 2018-02-25 07:30:26 +11:00
Nyall Dawson
f35745fc70 Follow up map layer action changes
- Switch to flags instead of boolean argument
- Move logic for layer validity to canRunUsingLayer
- Add unit test

Also remove settings flag to hide duplicate features action
2018-02-24 20:15:13 +11:00
Blottiere Paul
46eb6e34b2 Update mask image 2018-02-23 15:42:00 +00:00
Blottiere Paul
42ca67e3fd Add test 2018-02-23 13:51:39 +00:00
Martin Dobias
64aa400ffc Respect selection in layers in vertex tool (fixes #17782) (#6421)
This fixes issues in situations when there are multiple vertices in one location:

1. when clicking a location, if there are selected features,
   the closest vertex from a selected feature will be used with priority.

2. when dragging a rectangle, if there is a selected feature,
   only vertices from selected features will be used.

If there is selection in any editable layers, but away from the location where
user clicked to pick vertex (or dragged rectangle to pick multiple vertices),
the existing vertex tool behavior is not affected (so it cannot happen that
vertex tool suddenly appears to have stopped working just because there is
selection somewhere possibly outside of the current map view).
2018-02-23 14:33:40 +10:00
Nyall Dawson
3e86804d64
Merge pull request #6395 from lbartoletti/advanced_shape_digitize_toolbar
Make Regular Shape Digitizing Toolbar disabled by default / renamed Shape Digitizing Toolbar
2018-02-23 11:42:12 +11:00