2225 Commits

Author SHA1 Message Date
Nyall Dawson
b4bc7cbffd iface.newProject() should return False if a new project could not
be created (e.g. if the user opts to cancel when prompted to save the
current project)
2019-12-04 19:02:46 +10:00
Nyall Dawson
66456a30e7 [labeling] When a layer is set to "blocking" mode, expose the obstacle
settings widget to allow users to tweak the obstacle behavior

Previously these settings were stuck inside the disabled label settings
widget, which meant that to edit them you had to temporarily enable simple
labels, tweak the setting, and then set back to obstacle mode... woot.
2019-12-04 14:47:36 +10:00
Nyall Dawson
d63714ae63 Fix spelling 2019-12-04 14:47:36 +10:00
Nyall Dawson
02fffdc64b [needs-docs] Move label obstacle settings to "placement" tab
and show detailed settings in a stacked panel widget

Because:

1. The settings belong next to the placement settings, because they
affect label placement directly (and are closely associated with the
label priority setting in this tab)

2. The label settings widget is ridiculously complex and overwhelming
even for experienced QGIS users. By moving detailed settings into
stacked panels we can avoid the initial complexity of the label settings
whilst also allowing us more flexibility to expose additional settings
in future without adding to the mess. So in future, I propose we move
all detailed settings to sub panels, and leave only the initial "enable"
setting at the top level (e.g. [x] "Repeat levels" -> click settings -> see
all repeat settings).
2019-12-04 14:47:36 +10:00
Nyall Dawson
ed93ebd91c Add QgsLabelObstacleSettingsWidget widget for customising label obstacle settings 2019-12-04 14:47:36 +10:00
Nyall Dawson
de2b60d7ef Hookup data defined properties support for QgsLabelSettingsWidgetBase 2019-12-04 14:47:36 +10:00
Nyall Dawson
060cfb4eeb [api] New class QgsLabelSettingsWidgetBase
Base class for widgets which allow customisation of label engine properties,
such as label placement settings.
2019-12-04 14:47:36 +10:00
Alessandro Pasotti
d89745aec6
Merge pull request #33103 from elpaso/relation-reference-restore
Relation-reference widget: load dependencies
2019-11-28 10:25:55 +01:00
Nyall Dawson
2800798fef [FEATURE][layouts] Allow drag and drop of pictures onto layouts
E.g. drag an svg from a file explorer onto the layout to create a
new picture item containing that svg image.

Convenience++!
2019-11-28 18:38:31 +10:00
Alessandro Pasotti
37c42c3665 Relation-reference widget: load dependencies
Same behavior of value-relation widget.

Funded by: ARPA Piemonte
2019-11-27 17:54:16 +01:00
Alessandro Pasotti
bcdbc3a85d Attribute table pass fid on ctx menu signals
instead of passing an index that could belong to
one of the (three) models that live in the dual
view.

This hopefully makes the code a bit less error
prone and readable.

Fixes #32952
2019-11-21 05:00:27 +10:00
Nyall Dawson
9a2e015158 Move QObject declaration to header 2019-11-20 10:08:13 +10:00
Matthias Kuhn
be121984bf Apparently sip doesn't like double QObject inheritance
If a list of objects (QList<QgsMapCanvasItem *>) is converted to a list of python objects, sip fails if items inherit from QObject.
Fix #32700
2019-11-11 04:12:47 +10:00
Matthias Kuhn
cb688cbbcc Revert "Remove SIP convert to subclass code for QgsRubberBand and QgsVertexMarker"
This reverts commit 4b014e6e84093fc59ce9ee085657161b56be189c.
2019-11-11 04:12:47 +10:00
Nyall Dawson
4b014e6e84 Remove SIP convert to subclass code for QgsRubberBand and QgsVertexMarker
These conversions just crash sip (woo. sip. yay. good times.). I can't find
any alternative approach which avoids this crash, so just remove the cast
to avoid the crash.

Fixes #32700
2019-11-09 13:43:37 +10:00
Hugo Mercier
845894b313
[FEATURE] Selective masking (#30747)
* [FEATURE] Selective masking

Advanced rendering feature that allows the definition of 'masks' areas around labels or with a new typ of symbol layer. These masks will "un-draw" symbol layers of other layers underneath.
It modifies the rendering process by adding an optional second pass.
2019-11-07 08:17:25 +01:00
Alessandro Pasotti
696c4075da
Merge pull request #32487 from elpaso/value-relation-restore
[feature] Value relation restore missing layers from DBs
2019-11-04 12:03:40 +01:00
Matthias Kuhn
4294dda083 Resipify 2019-11-03 21:05:34 +01:00
Alessandro Pasotti
64949dc227 Check vector layer widget broken dependencies 2019-10-30 14:41:34 +01:00
Matthias Kuhn
f96e1922ca [FEATURE] Parallelize snap index build 2019-10-30 09:32:28 +01:00
Nyall Dawson
351970e1c2 Dox, spelling 2019-10-28 14:34:30 +10:00
Nyall Dawson
b5e92d41f5 [FEATURE] Random marker fill symbol layer type
This commit adds a new fill symbol layer type "Random marker fill". It
allows polygon features to be rendered using a marker symbol placed
at random locations within the polygon boundary.

Options include:
- number of marker symbols to render for the polygon
- whether markers rendered near the edges of polygons should be clipped
to the polygon boundary or not
- an optional random number seed, to give consistent placement
of markers whenever maps are refreshed (also allows random placement
to play nice with QGIS server and tile-based rendering)

Sponsored by the SLYR project
2019-10-28 14:34:30 +10:00
Juergen E. Fischer
b81d306047 spelling fixes (closes #32408) 2019-10-26 10:50:30 +10:00
Even Rouault
6d47b5d847 [OAPIF] Rename WFS_VERSION_API_FEATURES to WFS_VERSION_API_FEATURES_1_0 2019-10-26 06:47:59 +10:00
Even Rouault
681229a48a [OAPIF provider] Integrate provider within WFS provider GUI
Funded by Planet
2019-10-26 06:47:59 +10:00
Julien Cabieces
e4da0ac8c9 Revert "Merge pull request #31374 from troopa81/parallelize_snap_caching"
This reverts commit 87b1aa9a5d6efb279693aea68dc2dcb5b51b3e86
2019-10-18 14:50:33 +10:00
Denis Rouzaud
2406837650
replace deprecated in by deprecated since (#32260) 2019-10-15 15:56:54 +02:00
Denis Rouzaud
758d7cff4a run sipify to update deprecation annotations 2019-10-15 13:17:38 +02:00
signedav
172956adb7
Merge pull request #32158 from signedav/null-strings-datetime
Null representation in QgsDateTimeEdit on getting focus
2019-10-11 21:20:32 +02:00
Even Rouault
4762e6ae06
OGR sublayers: add a 'Description' column in the GUI
Some OAPIF/WFS3 datasets uses UUID as the layer name, so this is highly
impractical for the user. However they publish a user friendly name in
the TITLE metadata, so use that.
2019-10-07 19:46:36 +02:00
David Signer
1df5213da6 if the lineEdit contains the Null Representation it should replace the text with the current date 2019-10-07 17:20:47 +02:00
Denis Rouzaud
97435d38ee
Merge pull request #32095 from 3nids/from_init_python_url_v2
allow to use remote content for init code file path in attribute form
2019-10-03 17:48:12 +02:00
lbartoletti
aa99f89caf deprecate methods in qgsvectorlayereditutils. Better deprecated dox. 2019-10-03 13:33:46 +10:00
lbartoletti
b75518fa15 update dox 2019-10-03 13:33:46 +10:00
lbartoletti
31e416c4a9 rename QgsPointSequence QgsMapToolCapture::points() const; to QgsPointSequence QgsMapToolCapture::pointsZM() const; 2019-10-03 13:33:46 +10:00
lbartoletti
2e529e1bd9 deprecate addTopologicalPoints methods with QgsPointXY
deprecate other methods
2019-10-03 13:33:46 +10:00
Etienne Trimaille
3159d6f199 update docstrings in qgsdatetimeedit.h 2019-10-03 13:17:04 +10:00
Etienne Trimaille
d61fab7783 implement date() and time() in QgsDateTimeEdit to handle NULL values 2019-10-03 13:17:04 +10:00
Denis Rouzaud
86550e9837 create a method in QgsGui to determine if running Python macros is allowed 2019-10-02 15:53:15 +02:00
Nyall Dawson
86c83537f9 [layouts] Update map settings variables in UI when map extent/rotation changes
Fixes #24136
2019-09-28 08:40:41 +10:00
Nyall Dawson
2b31e03ad0 [layouts] Ensure variable panels are updated when layout or atlas
properties change

Fixes #26402
2019-09-28 08:40:41 +10:00
Denis Rouzaud
abb08c2988
[locator] allow to trigger locator search from the API (#32017) 2019-09-27 09:58:47 +02:00
Nyall Dawson
b9310ca47b Spelling 2019-09-26 12:41:04 +10:00
Nyall Dawson
a8d145a80a Use a proper panel widget for conditional formatting configuration widget
Fixes a number of UI issues, including poor hi-dpi compatibility.
2019-09-26 12:41:04 +10:00
Nyall Dawson
b9b690caac Remember splitter width for conditional formatting panel in attribute table 2019-09-26 12:41:04 +10:00
Nyall Dawson
425afaa270 A little dox improvement to test sip prepare-commit changes 2019-09-24 03:43:42 +10:00
Nyall Dawson
39cfd0f935 [needs-docs] Show color button style "Pick color" and "Chooe Color" actions
in symbol button menu

Synchronizes the behavior of the color and symbol buttons

Fixes #25696
2019-09-24 03:41:51 +10:00
Nyall Dawson
2ff91d24a9 Move methods to sample screen pixels to QgsGui 2019-09-24 03:41:51 +10:00
BogDan Vatra
f96c4a2308 Block the events while showing a dialog
When showing a file dialog, Qt can choose to use the "system" file
dialog, which will make QgsExternalResourceWidget to loose the focus.
This patch blocks all the events that are sent to
QgsExternalResourceWidget while a dialog is shown, this way it will keep
the focus until the dialog is closed.

Sponsored by the QGIS project (qgis.org)

Fixes: #26948
2019-09-22 12:28:52 +03:00
Alessandro Pasotti
240bfb2a3f
Merge pull request #31871 from elpaso/bugfix-gh31635-spinbox-double-changed-event
Fix double event fired by QSpinBox in slow graduated
2019-09-20 09:04:34 +02:00