32094 Commits

Author SHA1 Message Date
Nyall Dawson
ece46d1c43 Fix margins on photo and web view edit widgets 2016-04-06 21:05:00 +10:00
Nyall Dawson
76282d5022 Fix layout issues with color button editor widget
- widget was not left aligned
- widget would shrink to a small vertical height in crowded forms
2016-04-06 21:04:51 +10:00
Nyall Dawson
4c704be606 Add geometry methods for calculating the distance to a specified
vertex from the start of the geometry
2016-04-06 20:55:26 +10:00
Nyall Dawson
d464f86290 [FEATURE] Null ("No symbol") renderer
Using this renderer no symbol will be drawn for features, but labeling,
diagrams and other non-symbol parts will still be shown.

Selections can still be made on the layer in the canvas and selected
features will be rendered with a default symbol. Features being edited
will also be shown.

This is intended as a handy shortcut for layers which you only want
to show labels or diagrams for, and avoids the need to render
symbols with totally transparent fill/border to achieve this.

(fix #12131)
2016-04-06 20:55:26 +10:00
Nyall Dawson
86ec27e08e Use real values when interpolating color components in gradients 2016-04-06 20:55:26 +10:00
Nyall Dawson
fd7a4bd900 [FEATURE] New project(point, distance, bearing) expression function
Projects a point geometry by the specified distance and bearing
2016-04-06 20:55:26 +10:00
Nyall Dawson
2e44c11914 Some QgsPoint improvements
- Modernize QgsVector, improve docs, add some methods missing from
Python bindings
- Add method to QgsPoint to project a point by a specified distance
and bearing
- Add distance methods to complement existing sqrDist squared distance
methods
- Rename QgsVector::normal to normalized (avoid confusion with normal
vectors)
- Add more QgsPoint operators
- Add some more QgsPoint and QgsVector tests
2016-04-06 20:55:26 +10:00
Nyall Dawson
3a1f6c429d Improve documentation for QgsGeometry::closestVertex 2016-04-06 20:55:26 +10:00
Nyall Dawson
5247673cda Add some provider tests for empty rectangles 2016-04-06 20:55:26 +10:00
Nyall Dawson
619b32de5b Fix build with Qt5 <5.5 2016-04-06 20:55:26 +10:00
Matthias Kuhn
4586a787b0 Move AutoTransaction setting to project properties
Was in global app settings
2016-04-06 12:17:38 +02:00
Matthias Kuhn
dd54cf28c0 Better support for LabelOnTop in multicolumn attribute form layouts 2016-04-06 09:33:01 +02:00
Matthias Kuhn
226339cc9c Allow adding a new entry from the relation reference widget 2016-04-06 09:01:35 +02:00
Matthias Kuhn
8f7a6aaa6c Make string translatable 2016-04-06 09:00:25 +02:00
Nyall Dawson
f7c5c2bca1 Merge pull request #2976 from nirvn/more_markers
[symbology] add half triangle markers
2016-04-06 06:34:30 +10:00
Even Rouault
9040ec1baf [FEATURE] [WFS provider] Major overhaul to add WFS 1.1 and 2.0 support
First part of https://github.com/qgis/QGIS-Enhancement-Proposals/issues/53
(QEP 35: WFS provider enhancements)

Improvements:
- Version autodetection
- On-disk caching of downloaded features
- Background download and progressive rendering
- WFS 1.1 and 2.0 support
- WFS 2.0 GetFeature paging
- Add provider tests

Fixes:
- #10106: Panning a non-cached WFS layer causes selection to change
- #9444: WFS client not requesting new features when not-cached
 #14156: WFS non cached: infinite flashing
- #9450 : New WFS connection option - Max number of features returned
- #14122: Implement WFS 2.0 client provider (partial. no joins or stored queries)

Not in scope: WFS-T 1.1 and 2.0. But WFS-T 1.0 kept (and tested)
2016-04-05 21:49:53 +02:00
Even Rouault
62bd4061fe Add QgsDataProvider::invalidateConnections() and implement in Spatialite provider
This invalidates all cached connections to the given database name.
This will be used by the WFS provider to cleanup any cached connections before
removing its temporary Spatialite DB
2016-04-05 21:49:52 +02:00
Even Rouault
c178aef451 [Spatialite] Handle a pragma='pragma_name=value' URI parameter.
This will be used by the WFS provider to improve commit time to its
temporary Spatialite DB.
2016-04-05 21:49:52 +02:00
Even Rouault
c3760ec448 [Spatialite] Handle connection invalidation
This will be used by the WFS provider, so it can properly invalidates
(=close) all connections to the temporary Spatialite database it uses
for caching. Closing those connections is needed to be able to remove
the file.
2016-04-05 21:49:51 +02:00
Even Rouault
e792576d02 Improve QgsVectorLayer::countSymbolFeatures() responsiveness.
The method can display a progress dialog when it takes a long time to
complete.
- Attach this dialog to the QGIS main window.
- Use the interruption checker mechanism of iterators so that the
  to-be-committed improved WFS feature iterator can use it
- Call QCoreApplication::processEvents() for better UI responsiveness.
2016-04-05 21:49:51 +02:00
Even Rouault
114c1087eb Feature iterators: add a mechanism to check if it must be interrupted.
Add a setInterruptionChecker() method on iterators that provides an interface
that can be called by iterators to check if they must return as soon as
possible. This is set by QgsVectorLayerRenderer::render() to connect to
QgsRenderContext::renderingStopped(). This is useful for some iterators,
like the to be-committed QgsWFSFeatureIterator that can wait for a long
time before returning. By regularly checking if it must be interrupted,
this improves the GUI responsiveness a lot.
This is an enhancement and existing iterators do not need to be modified.
2016-04-05 21:49:51 +02:00
Even Rouault
9fe6a9fe48 QgsOgcUtils: add support to generate WFS 1.1 and 2.0 filters
Fixes #14119: Ensure the OGC filter XML expression contains the GML namespace references
2016-04-05 21:49:45 +02:00
Even Rouault
57ae4fee25 QgsGML: expose lower level streaming parser, add handling of GML3
- Add a low-level QgsGmlStreamingParser class that doesn't do any
  network activity, but builds features from GML data in a streaming way
- Add handling of GML3 for WFS 1.1 and 2.0.
- Add tests
2016-04-05 20:51:09 +02:00
Webmaster
7b233e514c [symbology] add half triangle markers 2016-04-05 22:28:52 +07:00
Matthias Kuhn
9c0a291046 Deprecate QgsProject::dirty( bool ) in favor of QgsProject::setDirty 2016-04-05 14:47:56 +02:00
Nyall Dawson
8948607f7d Followup 31d7be
Tweak some API and docs, and fix overlapping UI widgets
2016-04-05 22:13:16 +10:00
Nyall Dawson
fe54a78d60 Merge pull request #2974 from nirvn/diagram_line_unit
[diagram] add unit type setting for outlines (fixes #14614)
2016-04-05 21:56:50 +10:00
Nyall Dawson
410a43814b Allow relative links in composer labels
Allow relative links in composer labels
2016-04-05 21:37:46 +10:00
Matthias Kuhn
f6838032fa QgsMaplayerRegistry function to get only vector or raster layers 2016-04-05 13:19:54 +02:00
Nyall Dawson
c58a198b09 Simplify some editor widget parenting 2016-04-05 20:39:03 +10:00
Nyall Dawson
0c161950a9 Various fixes for photo editor and external resource widgets
- Clear picture when changing from a feature with a picture to
a feature with no picture set
- Don't try to load "NULL" as a filename
- Fix calculation of widget size so that widget can collapse
its size to nothing when it doesn't have a picture set
- Avoid incorrect scaling and cropping of pictures
2016-04-05 20:24:36 +10:00
Nyall Dawson
e571885ef1 UX improvements to photo, web view and external resource widget config
- Better explanatory text
- Change '0' values to 'Auto'
- Ad 'px' suffix to values
- Allow resetting sizes to Auto with clear button
2016-04-05 20:24:36 +10:00
Nyall Dawson
bcb2c736d5 Make sure QgsFileWidget emits fileChanged when value is cleared
Fixes external resource widget not updating document display
when link is cleared.
2016-04-05 20:24:36 +10:00
Juergen E. Fischer
73572680c0 make wfs/ogc error message translatable 2016-04-05 11:32:28 +02:00
Juergen E. Fischer
10a26e6acd don't crash when reply is destroyed while it's waiting for credentials to be entered 2016-04-05 11:25:39 +02:00
Nyall Dawson
acb9281956 Add missing binding 2016-04-05 18:23:11 +10:00
nirvn
dc5d7ab985 [diagram] make use of unit widget for diagram size 2016-04-05 15:21:54 +07:00
volaya
673a86040d [processing] extended 'menus' section in options, to allow adding buttons 2016-04-05 09:55:42 +02:00
volaya
5131e93e1f [processing] extra checks to avoid issues with previous versions values 2016-04-05 09:55:41 +02:00
Matthias Kuhn
1eb87e5f6f Cleanup ValueRelation widget 2016-04-05 09:13:00 +02:00
nirvn
31d7be4034 [diagram] add unit type setting for outlines (fixes #14614) 2016-04-05 13:49:46 +07:00
Nyall Dawson
22f1a1dee7 Implement QgsEditorWidgetWrapper::showIndeterminateState() for setting
editor widgets into an indeterminant "unknown value" state

Works for all editor widgets except date time, range and uuid widgets.
2016-04-05 13:06:25 +10:00
Nyall Dawson
16274d555b Fix missing docs 2016-04-05 13:05:30 +10:00
Nyall Dawson
ca642e44ff Add easy methods for temporarily blocking signals
- QgsSignalBlocker: RAII signal blocking class. Used for temporarily
  blocking signals from a QObject for the lifetime of QgsSignalBlocker
  object.

- easy shortcut "whileBlocking( QObject* )" function. Temporarily
  blocks signals from a QObject while calling a single method from the
  object.

  Usage:
    whileBlocking( checkBox )->setChecked( true );
    whileBlocking( spinBox )->setValue( 50 );

  No signals will be emitted when calling these methods.

based on Boojum's code from
http://stackoverflow.com/questions/3556687/prevent-firing-signals-in-qt
2016-04-05 10:50:42 +10:00
Nyall Dawson
882f6f8c3c [symbology] Add some more dispersed marker symbols (half/quarter squares) 2016-04-05 09:28:55 +10:00
Nyall Dawson
ad16fb4790 Show simple marker symbol name in tooltip 2016-04-05 09:15:52 +10:00
Blottiere Paul
dae423d30f fix polyline rendering when layer draws effects (fix #14611) 2016-04-05 07:22:49 +10:00
Juergen E. Fischer
f968f994ea debian packaging: no internal future only stretch sid wily xenial
(fixes #14577)
2016-04-04 20:40:32 +02:00
Denis Rouzaud
ec01f679ed Merge pull request #2971 from DelazJ/patch-9
typo fix
2016-04-04 16:44:23 +02:00
Harrissou Sant-anna
14c7900e1a typo fix 2016-04-04 16:26:13 +02:00