90 Commits

Author SHA1 Message Date
Alessandro Pasotti
0ca4cf90d3 Add test for FlagDontStoreOriginalStyles 2020-12-01 09:04:07 +01:00
Alessandro Pasotti
9aa281abb4 Server: skip initial style storage
Background: at project load time for all layers a copy of the style
is loaded and stored as a DOM document. This was implemented for
broken layers to make it possible to store the style back to the
project if a broken layer was kept in the project.

Of course this is not needed nor useful in a server context.

By introducing a new project load flag and using it in the server
config (projects) cache we allow to skip the initial storage of
styles for the server and cut the startup times of our test "monster"
project (~1000 PG layers) from 26 seconds to 15.

Before you ask: I chose to always store the original style
with the idea that we might have been able to use the original
style copy also to "restore" styles to their initial state.
This was never implemented, so I guess we might be good to
make the initial style copy selectively available for broken
layers only in order to speed up project loading in the general
case (desktop).
2020-11-30 18:44:44 +01:00
Alessandro Pasotti
3f11294dfd
Merge pull request #39778 from elpaso/bugfix-gh39757-shared-locale-sort
Bugfix gh39757 shared locale sort
2020-11-13 10:38:49 +01:00
Nyall Dawson
9b8da23896 Add missing file 2020-11-13 02:59:05 +10:00
Alessandro Pasotti
414d938117 Fix raster paletted and pseudocolor various issues 2020-11-05 12:11:24 +01:00
Nyall Dawson
8b7fe3174b Add since 2020-11-04 18:49:11 +10:00
Nyall Dawson
f7b0a2d090 Add Point Clouds to QgsProviderMetadata::FilterType 2020-11-04 18:49:11 +10:00
Nyall Dawson
4f6f163ead Move geocoder classes to core 2020-10-30 14:31:04 +10:00
Peter Petrik
29113a89c1 fix some checks and building 2020-10-27 05:29:14 +10:00
Peter Petrik
8ea34de8a2 restore accidentally deleted files 2020-10-27 05:29:14 +10:00
Peter Petrik
8536c564fb add ept provider 2020-10-27 05:29:14 +10:00
Peter Petrik
de6f4d6ad8 hook point cloud layer type to the rest of the code 2020-10-27 05:29:14 +10:00
Denis Rouzaud
e87ba45edc make QgsRelation::RelationStrength a Q_ENUM and simplify code 2020-09-10 14:27:42 +02:00
Nyall Dawson
f62c6d5d56 [feature][labeling] Expose option to allow users to control whether
anchor point for line labels is a hint or a strict requirement

Strict: Labels are placed exactly on the label anchor only, and no
other fallback placements are permitted.

Hint: The label anchor is treated as a hint for the preferred label
placement, but other placements close to the anchor point are permitted.
2020-08-21 09:48:47 +10:00
Nyall Dawson
b31d315a52 Move another line label related setting and enum to QgsLabelLineSettings 2020-08-17 11:12:33 +10:00
rldhont
3c7d6616d1 New Project Reading flag to trust layer metadata 2020-08-11 18:14:15 +02:00
Nyall Dawson
21a2599d0d Move annotation layer renderer to own file 2020-08-05 16:27:09 +10:00
Nyall Dawson
35d9a657c8 Add AnnotationLayer to layer item type enum, silence warnings 2020-08-05 16:27:09 +10:00
Alessandro Pasotti
1ac91c1f2e Add geom col capabilities and create spatial index 2020-07-16 09:40:18 +02:00
Denis Rouzaud
1c9211a2d9 remove scoped enum 2020-07-13 15:52:12 +02:00
Denis Rouzaud
56bfeac158 fix build with Qt < 5.12 2020-07-13 15:16:18 +02:00
Denis Rouzaud
4502f1fade change flag declaration 2020-07-13 08:48:31 +02:00
Denis Rouzaud
256044cf2c rephrase shown to visible 2020-07-13 08:48:31 +02:00
Denis Rouzaud
ccb3b8ec80 make more buttons configurable in relation editor
fixes #37718
2020-07-13 08:48:31 +02:00
Nyall Dawson
5b8af77578 Rename enum values for clarity 2020-07-02 12:07:51 +10:00
Nyall Dawson
04f51371fc Create new class QgsMapClippingRegion, for encapsulation of an area
and method to use to clip a map render
2020-07-02 12:07:51 +10:00
Nyall Dawson
5b85cb93c1 Sipify 2020-06-30 12:07:21 +10:00
Nyall Dawson
81a9db9f57 [sipify] Fix creation of cross references 2020-06-15 13:43:58 +10:00
Nyall Dawson
c795ddb1e9 Updates 2020-06-11 13:29:59 +10:00
Nyall Dawson
bf71382065 Don't try to reuse True value in enum, causes Python issue 2020-05-12 10:33:30 +10:00
Nyall Dawson
cb1e8445d3 Expose some more classes to Python, but mark as unstable API 2020-05-12 10:33:30 +10:00
Andrea Giudiceandrea
27f345f0bf
Fix tick-style scalebar when subdivisions ticks height > segments ticks height
Take the subivisions ticks height into accout, for ticksscalebar box size calculation and horizontal line and labels position, only if the number of subdivisions to draw is greater than 1
2020-05-11 09:14:24 +10:00
Nyall Dawson
8699f83d98 [FEATURE][layouts] Allow customisation of division and subdivision symbol
as distinct symbols vs the scalebar line symbol

Allows for styling division and subdivision symbols in a different
way compared with the horizontal line symbol in a tick scalebar

Sponsored by SLYR
2020-05-07 10:56:50 +10:00
Andrea Giudiceandrea
a3397a8a2e
[feature][layouts] Add subdivisions in ticks scalebar right segments
Adds the ability to create subdivisions for segments included in the right part of the ticksscalebar

Fixes #20341
2020-05-06 09:12:37 +10:00
Nyall Dawson
66a3b090da Maybe even LESS enum classes will help? 2020-05-04 05:38:48 +10:00
Nyall Dawson
6ec369e6b7 Travis says no to enum class 2020-05-04 05:38:48 +10:00
Nyall Dawson
9fb85d3bc8 [FEATURE][labeling] Permit data defined control over placing labels outside
polygons

Options are:
- 'yes': allow placing outside the polygon if needed
- 'no': don't allow outside placements
- 'force': only ever put this label outside the polygon
2020-05-04 05:38:48 +10:00
Nyall Dawson
51820badc1 [FEATURE][labeling] Add option to allow polygon labels to be placed
outside of polygon features when required

When a label can't be placed inside the polygon and this option is checked,
then it will be automatically placed at a nicely selected location
just outside of the polygon

Sponsored by QGIS Swiss user group!
2020-05-04 05:38:48 +10:00
Mathieu Pellerin
c0a29051b4 [FEATURE][digitizing] Add avoid intersection/overlap mode
This commit adds a new avoid intersection mode setting when
digitizing new features. The three available modes are:
- allow intersections/overlaps
- avoid intersections/overlaps on active layer
- avoid intersectonss/overlaps on layers list

The third mode is what QGIS has had for a while, except
its UI/UX is a bit messy. The layers list is setup by
the user via the advanced snapping configuration widgets,
but isn't connected at all with whether snapping is
enabled / disabled.

This new approach makes it explicit to user whether
newly-added features might be clipped or not, and
if so by which layer(s).

Finally, the new 'avoid intersections/overlaps on
active layer' is likely a far more useful behavior
than having a list of layers (for e.g., you might
be digitizing on a layer that can't have overlap
with itself but is fine to overlap with another
layer, the latter also in need of avoid overlap
_with itself_).
2020-04-10 13:42:07 +07:00
obrix
c7f7c9829d Regenerate qgssnappingconfig.py 2020-04-07 09:27:08 +02:00
Martin Dobias
5ec1890643 Moved to proper QgsMapLayer subclass + icon + optional tile borders 2020-03-27 12:08:40 +01:00
Nyall Dawson
d10267f3aa Spelling 2020-03-23 03:08:50 +10:00
Nyall Dawson
b63018520e Cleanup scalebar widget enabling code by adding flags to QgsScaleBarRenderer
subclasses, so that the subclass itself can indicate what settings
it respects and we can avoid all the hardcoded logic in the configuration
widget
2020-03-23 03:08:50 +10:00
Nyall Dawson
b2016551b3 Add missing file 2020-03-16 10:08:46 +10:00
Denis Rouzaud
a93db7d7c5
add a completer for the file widget when creating a new GPKG (#35072) 2020-03-15 22:22:18 +01:00
Nyall Dawson
1ae7344830 Promote temporal units to first class citizen of QGIS
Adds temporal units to QgsUnitTypes, and adds associated helper API
2020-03-12 20:06:25 +10:00
lbartoletti
dfa5cb68aa
New snapping modes: Centroid and middle of a segment (midpoint) (#33622)
Snap on centroid and midpoint segment [FEATURE][needs-docs]
2020-03-02 09:02:35 +01:00
Matthias Kuhn
f33762a50f Fix invalid escape sequence
/usr/lib/python3/dist-packages/qgis/core/__init__.py:195

  /usr/lib/python3/dist-packages/qgis/core/__init__.py:195: DeprecationWarning: invalid escape sequence \s

    QgsProcessingUtils.LayerHint.Mesh.__doc__ = "Mesh layer type  \since QGIS 3.6"

/usr/lib/python3/dist-packages/qgis/core/additions/qgsfunction.py:167

  /usr/lib/python3/dist-packages/qgis/core/additions/qgsfunction.py:167: DeprecationWarning: invalid escape sequence \*
2020-02-17 08:07:14 +10:00
Denis Rouzaud
9441fcc947
drag'n'drop improvements part 3 (#34479)
* drag'n'drop improvements

part 3

this completely removes hidden config accessible under double click
now a widget groupbox (by opposition to the field config) is shown on top of the right panel
2020-02-14 23:19:42 +01:00
Denis Rouzaud
18a7cd0659
[FEATURE] Add an option to set the default project file format (qgs/qgz) (#33872) 2020-01-17 12:12:02 +01:00