15686 Commits

Author SHA1 Message Date
Alessandro Pasotti
631ac63e57 Call QgsRasterBlock destructor from SIP (add factory)
Fixes #31343 memory leak
2019-08-23 06:32:32 +10:00
Matthias Kuhn
2e5e009445
Merge pull request #31280 from DelazJ/addtoolbarsWidgets
Allow more actions from toolbar to be listed/managed in the customization dialog
2019-08-22 10:48:46 +02:00
Nyall Dawson
77191597ff Spelling 2019-08-22 17:36:43 +10:00
Nyall Dawson
3583e7ad0c More explicit documentation of geometry classes, with warnings
that calculations are Cartesian only and point users to QgsDistanceArea
for ellipsoidal calculations

Fixes #31275
2019-08-22 17:36:43 +10:00
Alessandro Pasotti
fad258e37a
Merge pull request #31319 from elpaso/db_interface_new_constructors
New ctors for connections interface
2019-08-22 09:03:17 +02:00
Sandro Santilli
ae0721891b Restore TopoViewer functionality
This was broken in commit d7166404030292b9536e649795e9efec49225dfd
2019-08-21 17:27:48 +02:00
Alessandro Pasotti
a092a82b52 New ctors for connections interface
Tries to make it clearer what are the use cases for the two
constructors (name and uri).
2019-08-21 15:45:21 +02:00
Nyall Dawson
d014d63ede Don't show canvas specific formatting settings in layer tree model
used outside of main canvas

E.g. we shouldn't show scale based visibility text format changes
or the editable toggle in models used for snapping dialog, project
properties, etc.

These properties are only associated with the main map canvas.
2019-08-21 20:33:02 +10:00
Nyall Dawson
2ca302999d [FEATURE] "Center of segment" placement mode for marker and hash line symbol layers
Adds a new placement option to place markers/hash lines at the center
point of individual line segments

Refs #29785
2019-08-21 19:41:58 +10:00
Nyall Dawson
dbf9d917dd [FEATURE][layouts] Option to export multiple map themes while
creating GeoPDF documents from layouts
2019-08-21 05:15:04 +10:00
Nyall Dawson
3bb93fc00f Correctly georeference layout geopdf exports 2019-08-21 05:15:04 +10:00
Nyall Dawson
417f8d97a4 Hookup other pdf export settings to settings dialog 2019-08-21 05:15:04 +10:00
Alessandro Pasotti
0897b4e7fe
Merge pull request #31299 from elpaso/server-python-catch-plugins-exceptions
Server: catch Python exceptions from plugins
2019-08-20 13:50:19 +02:00
Peter Petrik
07841c4e2e fix sip 2019-08-20 13:40:26 +02:00
Alessandro Pasotti
c9c2d3ed27 Server API: simplify contentTypes handling and allow overrides 2019-08-20 12:22:32 +02:00
Nyall Dawson
b47dea0cc6 Spelling 2019-08-20 14:58:14 +10:00
Nyall Dawson
5a252a3b81 Expose map theme info to export layer details 2019-08-20 14:58:14 +10:00
Nyall Dawson
f49389d751 [layouts] API framework to allow rendering multiple map themes to layered exports 2019-08-20 14:58:14 +10:00
Alessandro Pasotti
dab7481083 More Python exception bubbling and SIP enum fix 2019-08-19 20:50:01 +02:00
Alessandro Pasotti
4cc7a0ffa6 Server: catch Python exceptions from plugins
Make sure Python exceptions are converted into
QgsServerException and catched by the main
service executor.

Without this patch, the server process is terminated
(aborted).
2019-08-19 18:32:03 +02:00
Nyall Dawson
446eb066d5 [needs-docs] Expose choice of GeoPDF export format to users
Either "ISO3200 extension" or "OGC 'best practice'" options are availab.e

ISO3200 format is recommended, and results in Geospatial PDF files compatible
with the built-in Acrobat geospatial tools.

The OGC Best Practice format results in GeoPDF files compatible with the TerraGo
suite of tools, but can break compatibility with the built-in Acrobat
geospatial tools (yes, GeoPDF format is a mess!).
2019-08-19 15:23:53 +10:00
Nyall Dawson
8d89dd99cd [FEATURE] Add option on whether to include RDF metadata during
save map to GeoPDF operations
2019-08-19 15:23:53 +10:00
Juergen E. Fischer
19220b9e06 fix windows build including some warnings 2019-08-17 11:58:04 +02:00
Harrissou Sant-anna
2f5d544e3e Set objectName of items to allow their children status restoring 2019-08-17 10:12:26 +02:00
Nyall Dawson
93342a33ce [FEATURE] GeoPDF export in map renderer task (e.g. save as canvas)
Not exposed to UI yet
2019-08-17 14:53:11 +10:00
Nyall Dawson
b1e3d047d6 Make QgsMapRendererStagedRenderJob thread safe 2019-08-17 14:53:11 +10:00
Nyall Dawson
a4d1b293a0 QgsMapRendererTask was NOT thread safe! ouch 2019-08-17 14:53:11 +10:00
Nyall Dawson
1a294df22a Start on GeoPDF exporter class 2019-08-17 14:53:11 +10:00
Alessandro Pasotti
a3c4eb9947
Providers connections interface API
This is the implementation of the new DB connections API (grant proposal 2019).
Summary

The new API makes it available to QGIS core a new interface for provider connections and will allow to:

    replace the provider specific QgsSettings management in QGIS4 (save/load connections from the settings) NOT IN SCOPE FOR NOW.
    provide a unified API for common operations on DB connections:
        executeSql and get the results
        list tables names and properties and schemas
        create a new vector table (no rasters for now)
        create/rename/drop schemas and tables
        vacuum
       ....
2019-08-16 20:44:05 +02:00
Matthias Kuhn
3245376e64
Merge pull request #31167 from signedav/default-values-update
Update widgets with default values on attribute form
2019-08-16 16:42:39 +02:00
nirvn
bdf18ee0fd Add a QgsStringUtils function to substitute characters with vertical representation counterparts 2019-08-16 13:56:19 +07:00
Matthias Kuhn
fc482cbe05
Merge pull request #31158 from m-kuhn/geom_gaps_allowed
"Allowed gaps" layer for gap check
2019-08-16 08:00:42 +02:00
David Signer
38e4bacb7d missing sip 2019-08-15 11:03:19 +02:00
Matthias Kuhn
0659dd7236 Dox 2019-08-14 10:04:51 +02:00
lbartoletti
8ff30072da topological editing: fix copy/move feature 2019-08-14 09:03:51 +10:00
lbartoletti
e5cd1aa913 Topological editing: fix vertex tool (Z support) (#31163) 2019-08-14 09:00:58 +10:00
Nyall Dawson
2074f2c9fc Warnings 2019-08-14 06:46:19 +10:00
Nyall Dawson
be4e7b1088 More attempt to fix doxygen warning 2019-08-14 06:46:19 +10:00
Nyall Dawson
b4a172f87e Dox fixes 2019-08-14 06:46:19 +10:00
Nyall Dawson
f0d60952bf Dox++ 2019-08-14 06:46:19 +10:00
Nyall Dawson
4f81a88812 [layouts] Add flags to control whether labels are split to multiple
layers in multi-layer exports
2019-08-14 06:46:19 +10:00
Nyall Dawson
de3b886313 Fix generation of layer names for exported multi-layer map exports 2019-08-14 06:46:19 +10:00
Nyall Dawson
56609123fc [layouts] Rework API for item export to multi-layered exports
Reworks the QgsLayoutItem API for handling multi-layered exports
to work as an iterator. The advantage with this is that it avoids
items needing to calculate in advance how many layers they require
in the output file.
2019-08-14 06:46:19 +10:00
Nyall Dawson
244eb92a82 Add QgsMapRendererStagedRenderJob
This map renderer job subclass is designed for step-by-step rendering
of a map to different QPainters.

It exposes an API which lets callers iterate over parts of a map
(e.g. individual map layers, labels), specifying a destination
QPainter for each step in the iteration.

This is designed to improve the existing print layout export to
layered output map rendering, where currently the maps are rendered
by multiple renderer jobs, each only rendering one layer at a time.
This current approach of rendering individual layers are separate
jobs is fundamentally broken (and cannot be fixed), because it
prevents any handling of interactions between map layers (e.g. shifting
colliding labels).
2019-08-14 06:46:19 +10:00
Nyall Dawson
da2df20712 Start splitting out parts of QgsMapRendererCustomPainterJob to an intermediate base class 2019-08-14 06:46:19 +10:00
Nyall Dawson
dd27f72b0e Convert doxygen \throws to Sphinx :raises: syntax in sipify 2019-08-14 06:45:54 +10:00
Nyall Dawson
a46803844a [layouts] Add an indicator in the status bar while a map redraw is
occurring in the background

Otherwise there's no way to tell if a redraw is humming away in
the background, or is completed...
2019-08-13 18:27:38 +10:00
nirvn
f623c52fdf [needs-docs][layout] Give user explicit option to georeference (or not) PDF exports 2019-08-12 19:21:17 +07:00
Nyall Dawson
b3c1719e98 Fix unnecessary layer reloads triggering after project load, which
also causes a leak
2019-08-12 16:41:31 +10:00
Nyall Dawson
ba800662a0 Use reference instead of pointer 2019-08-12 16:12:03 +10:00