1062 Commits

Author SHA1 Message Date
Alexander Bruy
da8b574bf1
Merge pull request #30716 from alexbruy/fix-sip
fix SIP file
2019-07-15 19:11:22 +03:00
Matthias Kuhn
5f0447b397
Fix sip file (#30714) 2019-07-15 15:01:42 +02:00
Alexander Bruy
39124dad04 update SIP file 2019-07-15 15:59:25 +03:00
Alex
248af94ba9 Symbol aware legend expression (#9648) 2019-07-15 07:12:24 +02:00
Nyall Dawson
64ecc06fed Store publish_to field locally 2019-07-15 12:52:20 +10:00
Nyall Dawson
a1d116ebb6 More dox 2019-07-15 12:52:20 +10:00
Nyall Dawson
a0e41f98e8 Spelling and dox 2019-07-15 12:52:20 +10:00
Nyall Dawson
dc8ab9a8ca Implement right click menu for news items, allows feed to be disabled 2019-07-15 12:52:20 +10:00
Nyall Dawson
da601982e1 Add dismissAll API 2019-07-15 12:52:20 +10:00
Nyall Dawson
a8fdcc0550 Store news images locally to be bandwidth efficient 2019-07-15 12:52:20 +10:00
Nyall Dawson
fcb620d972 [FEATURE] Show news items on welcome page
The curated QGIS news feed is now shown on the welcome page. This finally gives
us a direct channel to push project news to ALL our users!
2019-07-15 12:52:20 +10:00
Nyall Dawson
4540685545 Add a proxy model to apply correct sorting to news feed entries 2019-07-15 12:52:20 +10:00
Nyall Dawson
298e2fe25e Add a model for news feeds 2019-07-15 12:52:20 +10:00
Nyall Dawson
da2e8fe38c Allow entries to be dismissed 2019-07-15 12:52:20 +10:00
Nyall Dawson
af365c6144 Create QgsNewsFeedParser class for parsing QGIS style news feeds
Designed to work with the server specs from https://github.com/elpaso/qgis-feed
2019-07-15 12:52:20 +10:00
Alexander Bruy
5709f84b2f [processing] add createByDefault argument to directory output
constructor
2019-07-15 08:51:01 +10:00
Nyall Dawson
956c6d694e Add python subclass code 2019-07-11 13:03:12 +10:00
Nyall Dawson
b84d294412 Dox++ 2019-07-11 13:03:12 +10:00
Nyall Dawson
b10fc70d37 Don't get distracted... 2019-07-11 13:03:12 +10:00
Nyall Dawson
22ae228a9d Dox 2019-07-11 13:03:12 +10:00
Nyall Dawson
2cb8f72161 Data defined control over whether a callout is drawn 2019-07-11 13:03:12 +10:00
Nyall Dawson
1d2dfda254 Add minimum length property for callouts, setup framework for data
defined properties of callouts
2019-07-11 13:03:12 +10:00
Nyall Dawson
8575f95c89 Use a registry for callouts 2019-07-11 13:03:12 +10:00
Nyall Dawson
b298a197e7 Start on registry 2019-07-11 13:03:12 +10:00
Nyall Dawson
4cb31b0694 Experiment with a manhattan line callout style 2019-07-11 13:03:12 +10:00
Nyall Dawson
fb1a610007 Early prototype of label callouts 2019-07-11 13:03:12 +10:00
Nyall Dawson
142308e712 Add a start/stopRender method to QgsPalLayerSettings
This allows us a chance to correctly call start/stopRender on all
symbols which are used as part of the labels and ensure they are
nicely prepared and cleaned up.

Also adapt labeling engine to add calls to startRender/stopRender where
appropriate.
2019-07-10 10:05:06 +10:00
Nyall Dawson
be23525a5e Use a non-const QgsRenderContext& when preparing labeling providers,
for compatibility with symbology (which requires non-const context)
2019-07-10 10:05:06 +10:00
Nyall Dawson
51ed8c95b2 Dox++ 2019-07-10 08:10:49 +10:00
Nyall Dawson
0cdad2307b Add api to allow reading a QgsProject file without loading any layers
This causes the project to be read, but no data providers created for
layers (i.e. the same result as loading a project in the app and
choosing to leave bad layers in the project).

It's intended for occasions when you want to efficiently access properties
of a project without the (often very expensive) cost of actually
loading layers. E.g. to just read project metadata, parse the
layer tree structure, extract print layouts or renderer properties, etc.
2019-07-10 08:10:49 +10:00
Nyall Dawson
e65acadc3a [processing][API] Add methods to retrieve lists of files from
QgsProcessingParameterMultipleInput

These need to be handled differently to map layers, and none of
the existing API works for this use case.
2019-07-09 11:22:36 +10:00
Ismail Sunni
edd921c428 [FEATURE] Measurement tool in 3D map view (#30299)
* Add measurement tool bar.

* Add class for measure line.

* Get coordinate of clicked point.

* Add clicked point to string line.

* Store clicekd points to layer.

* Try to render the measurement line.

* Render the measurement line (with some problems).

* Store points in vector.

* Make identify and measure tool exlusive to each other.

* Add measurement dialog.

* Fix only one action must active.

* Some code suggestion from Martin.

* Revert code to show the line.

* Show segment length and the total.

* Implement close dialog means restart 3d measurement.

* Add new button.

* Add unit combo box.

* Fix shadowing private member of class.

* Add slot to combo box unit changes.

* Hide ellipsoid and cartesian radio button.

* Add measure line for QgsPoint.

* Add unit changes feature.

* Add help (pointed to 2D measurement tool).

* Add finish measurement using right click.

* Remove keypress event, it does not make sense.

* Add remove-last-point with middle button.

* Add crsChanged event.

* Remove confusing tooltip.

* Add pan (camera control) action tool for clear state of 3d map tool.

* Change 3D identify tool cursor.

* Fix distance 2D to 3D.

* Remove unclear method.

* Add unit test for measureLine3D.

* Add 3D measurement setting.

* Add header.

* Make extra 3D renderers refresh the scene when they are updated

+ update the 3D renderer every time the measurement line layer is modified

* Set Altitude clamping to absolute.

* Remove options for 3D measurement line.

* Remove help button in 3D measurement dialog.

* Merge duplicate code for handle clicked position.

* Use color for 3d measure line from 2d one.

* Remove unneeded reimplementation method.

* Remove 2D canvas reference.

* Unify update measurement layer.

Use local variable for feature and line

* Create measurement layer once.

* Use data provider to change the geometry.

* Add length3D for QgsLineString.

* Simplify distance calculation and presentation. Remove QgsDistanceArea measurement.

* Descaled z value based on the terrain vertical scale.

* Remove line when tool is deactivated.

* Enable changing the line color from setting, but after re-activation.

* Update color of measurement line after saving option.

* Remove debug message.

* Remove 3D length calculation from distancearea.

* Handle 2D case for length3D, more unit test, and docstring.

* Fix typos.

* Addressing Martin's and Nyall's review.

* Remove setMeasurement to avoid confussion.
2019-07-08 15:21:00 +02:00
Nyall Dawson
e9a1eab694 [processsing][API] Add api to allow QgsProcessingParameterFile parameters
to have a file filter string defined

Previously only an extension was settable, which prevented use when
multiple extension types are possible. A file filter string allows
for flexible file selection instead.
2019-07-08 15:07:42 +10:00
Nyall Dawson
d03c9d5053 Show bounds of operations in transform selection dialog 2019-07-08 12:42:02 +10:00
Nyall Dawson
dd9dfb0d08 Show authority:code identifiers on transform selection dialog
Many scopes/remark cross reference these, so by showing them in the
table of available operations we give users more clues how to pick
the correct one.
2019-07-08 12:42:02 +10:00
Nyall Dawson
ac0326a351 [API] Add useful PyQGIS additions to QgsSymbol
Adds:
- __len__ : returns number of symbol layers in symbol
- [ ] getter: returns a specific symbol layer, also allows negative indices to retrieve from end of symbol
- del [ ]: removes a specific symbol layer, also allows negative indices
- raise IndexError when an invalid symbol layer is requested
- allow iteration over symbol layers using
  for layer in symbol:
     print(layer.color())
2019-07-08 08:41:59 +10:00
Nyall Dawson
f3dcd8211e Dox, comments 2019-07-06 12:36:54 +10:00
Nyall Dawson
4f5f6b5607 Add a generic method for adding style entities to a QgsStyle 2019-07-06 12:36:54 +10:00
Nyall Dawson
590d1aae9d [FEATURE][API] Visitor API for style entities
Adds a new visitor pattern API for creation of visitors which visit
all the style entities (symbols, color ramps, text formats, and
label styles) associated with different objects. Can be used on a
renderer, map layer, or project wide level.

E.g. on a project wide level, allows collection of ALL the style
symbols/color ramps/text settings inside a project, including those
in layouts or annotations!
2019-07-06 12:36:54 +10:00
Alessandro Pasotti
3a05312121
Merge pull request #30548 from elpaso/bugfix-gh30387-gpkg-project-relative-paths
Fix relative storage for GPKG projects
2019-07-05 14:21:12 +02:00
Alessandro Pasotti
75defad55c Remove warning 2019-07-05 13:33:27 +02:00
Nyall Dawson
7f491513e7 Further improvements to transform selection dialog
- Show area of use information, which gives users much more context
and clues for selecting the right transform from the list
- Fix missing scope and remarks for single operations
2019-07-05 05:53:13 +10:00
Alessandro Pasotti
b92012ccae Fix relative storage for GPKG projects
Fixes #30387
2019-07-04 11:23:56 +02:00
Nyall Dawson
39724c2a48 When building on proj >= 6.2, show the full scope and remarks
for coordinate operations

Gives much more useful information to users to allow them to make
informed choices about suitable operations
2019-07-03 05:11:31 +10:00
Nyall Dawson
13fe327eb9 Fix cloning a vector layer loses all features if the layer is a memory layer 2019-07-02 10:10:11 +10:00
Nyall Dawson
b0d7c2927e Expose contentAsString to QgsNetworkContentFetcherTask 2019-07-01 15:38:45 +10:00
Nyall Dawson
bb9fb49887 Add auth support to QgsNetworkContextFetcher 2019-07-01 15:38:45 +10:00
Nyall Dawson
d96c7386b1 Allow creation of color parameters with no opacity control 2019-07-01 06:32:21 +10:00
Nyall Dawson
38bb5fb260 [FEATURE][processing] New parameter type for colors
Allows for algorithms which require a color value as an input
2019-07-01 06:32:21 +10:00
Blottiere Paul
ee6642477e
Merge pull request #30071 from lbartoletti/wms_tile_buffer
[server]New parameter for WMS service: tile_buffer
2019-06-28 16:22:05 +02:00