2777 Commits

Author SHA1 Message Date
Matthias Kuhn
e1d4cf9f44
Merge pull request #40248 from vcloarec/selectContextMenu
select feature context menu
2020-12-03 09:29:34 +01:00
Nyall Dawson
762ee09e81 Spelling, sip 2020-12-03 07:23:44 +01:00
vcloarec
ac19bd3212 typo, lambda and other minor fixes 2020-12-03 01:25:41 -04:00
vcloarec
c79123bcb8 cppcheck-suppress memleak and fix typo 2020-12-02 11:08:15 -04:00
Nyall Dawson
c4f2892bbc Ensure point cloud renderer widgets correctly open inline in panels 2020-12-02 15:54:24 +10:00
Alessandro Pasotti
4d26e109a1
Merge pull request #40321 from elpaso/bugfix-gh40316-filtering-error
Do not silently fail while filtering on exp error
2020-11-29 16:05:38 +01:00
Nyall Dawson
89a7e3c7f7 Implement responsive map refresh when canvas z range changes 2020-11-28 16:45:54 +10:00
Nyall Dawson
d95820bac7 [FEATURE] Add new "View Settings" tab to project properties,
and add option to manually set the full extent for a project

This extent will be used instead of the extent of all layers
when zooming to full map extent. It's useful when a project contains
web layers/national layers/global layers yet the actual area of
interest for the project is a smaller geographic area
2020-11-28 08:13:50 +10:00
Alessandro Pasotti
d79e1a9795 Do not silently fail while filtering on exp error
Fixes #40316
2020-11-27 16:07:14 +01:00
Nyall Dawson
62f751e103 Working key interaction
In horizontal mode left/right,pageup/pagedown changes active slider position
while up/down flips between selecting the upper, lower or range control

In vertical mode up/down/pageup/pagedown changes the active slider position
while left/right flips between the subcontrols
2020-11-26 13:11:00 +10:00
Nyall Dawson
b41a9a8441 Add step properties to widget 2020-11-26 13:11:00 +10:00
Nyall Dawson
20b0491c0f Rename inverted appearance methods to flippedDirection in order to
clarify that they aren't quite the same as their QSlider counterparts.
2020-11-26 13:11:00 +10:00
Nyall Dawson
c5e0513ba7 Fix size hints (sync with QSlider) 2020-11-26 13:11:00 +10:00
Nyall Dawson
2683a57142 Add alternative constructor 2020-11-26 13:11:00 +10:00
Nyall Dawson
f0cbbae2ae Port hover/pressed state handling from QSlider 2020-11-26 13:11:00 +10:00
Nyall Dawson
580ab84bf8 Add a dual handle range slider widget
This widget implements a slider which allows users to set a value
range, with a lower and upper value.
2020-11-26 13:11:00 +10:00
Nyall Dawson
f6f03cd8e1 [api] Add z range filtering option to QgsMapSettings/QgsRenderContext/QgsMapCanvas
Allows for map renders to be filtered by a z or elevation range,
such that only parts of the layer which are considered within
this range will be rendered.

Implements https://github.com/qgis/QGIS-Enhancement-Proposals/issues/201

*Requires support for respecting the QgsRenderContext zRange to be added
to the relevant map layer renderers
2020-11-26 04:18:01 +10:00
vcloarec
62125514b0 change to a parallel thread approach 2020-11-24 20:59:33 -04:00
vcloarec
39b111615f select feature context menu 2020-11-23 23:06:45 -04:00
Nyall Dawson
d47a65474a Use notify instead 2020-11-22 04:58:42 +10:00
Nyall Dawson
13951b2be4 Make it easier to use the correct timeout for messages in message bars,
and ensure that correct timeouts are used for all created messages
2020-11-22 04:58:42 +10:00
Nyall Dawson
1951489f25 Working gui for setting point cloud opacity and blend mode 2020-11-16 19:38:07 +10:00
Nyall Dawson
1758ca143f Add shell for 2d renderer config to layer styling dock 2020-11-16 19:38:07 +10:00
Nyall Dawson
055716064f More point cloud renderer widget framework 2020-11-16 19:38:07 +10:00
Nyall Dawson
090afdd636 Initial shell for QgsPointCloudRendererWidget 2020-11-16 19:38:07 +10:00
Even Rouault
a1c09b3eea qgsquerybuilder.h: add missing documentation on existing methods 2020-11-16 11:09:06 +10:00
Even Rouault
24eb319af2 [FEATURE] Add a subset string editor provider concept and registry
The aim of this work is to be able to provide custom subset string editor
GUI according to the layer. Typically, so that a WFS layer uses the same
editor than in its select source, or that a plugin can provide a custom
editor.

* Add QgsSubsetStringEditorInterface: abstract interface to define a dialog
  that can edit a subset string
* Make QgsQueryBuilder implement QgsSubsetStringEditorInterface
* Add QgsSubsetStringEditorProvider: interface for thos who want to provide
  a dialog to edit a subset string.
* Add QgsSubsetStringEditorProviderRegistry: keeps a list of subset string
  editor providers. Transposed from QgsDataItemGuiProviderRegistry
* Add QgsGui::subsetStringEditorProviderRegistry()
2020-11-16 11:09:06 +10:00
Even Rouault
b878ac9c85
QgsQueryBuilder: improvements for easier subclassing
- Make test() method virtual so it can be overriden in a derived class
- Make enabling/disabling of "use unfiltered layer" checkbox automatic
  when layer's subsetString is changed (for example by an overriden
  test() implementation)
- Add a codeEditorWidget() method that returns the sql editor widget,
  so that custom behavior can be added.
2020-11-14 13:22:36 +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
3798f14673 Add filtering by attribute type to QgsPointCloudAttributeComboBox 2020-11-12 17:33:37 +10:00
Luigi Pirelli
c4306e18e8 Fix crash due to style cache issue in QT<5.12.4. Fixes #39693 #39725 2020-11-12 08:14:57 +07:00
Nyall Dawson
00b9da6474 Private 2020-11-10 02:17:10 +10:00
Nyall Dawson
59601bf17d Add QgsPointCloudAttributeComboBox widget
A reusable widget for selecting an attribute from a point cloud layer
2020-11-10 02:17:10 +10:00
Alessandro Pasotti
02552e489a Raster shader: store label precision 2020-11-09 15:40:43 +01:00
nirvn
dcc53852c4 [temporal] Update the identify tool to take temporal range context into account 2020-11-09 13:10:55 +07:00
Alessandro Pasotti
3e398e2ab4
Merge pull request #39577 from elpaso/hidden-layers
Hidden layers
2020-11-05 16:13:10 +01:00
Alessandro Pasotti
26a9cdf5fd Hidden layers -> Private layers 2020-11-05 12:59:27 +01:00
Alessandro Pasotti
414d938117 Fix raster paletted and pseudocolor various issues 2020-11-05 12:11:24 +01:00
Alessandro Pasotti
dec0af6b65 Store unmodified double value in widget items
Also add a custom delegate.

Try to fix #39757
2020-11-03 12:18:15 +01:00
Nyall Dawson
9935bbe05e Add adapter class QgsGeocoderLocatorFilter
This class implements the required logic to bridge a
class which implements the QgsGeocoderInterface interface to a
QgsLocatorFilter. It allows easy creation of a locator filter
from a geocoder.

E.g.

    class GoogleGeocoder(QgsGeocoderInterface):
      ... class which implements QgsGeocoderInterface...

    my_google_geocoder = GoogleGeocoder(api_key)
    my_google_locator_filter = QgsGeocoderLocatorFilter('google', 'Google Maps', 'google', my_google_geocoder, iface.mapCanvas())
    iface.registerLocatorFilter(my_google_locator_filter)

Note:

There's an abstract base class QgsAbstractGeocoderLocatorFilter which
lives in core. This base class has the guts of the geocoder to filter
adapter logic, but it does NOT implement the part which actually zooms
the canvas to the geocode results (because it's in core!)

This abstract base class is in place for applications like QField,
where the GUI library and QgsMapCanvas is NOT used. Those applications
can then implement their own concrete class based on QgsAbstractGeocoderLocatorFilter
with the correct logic to zoom their interface to a region. Ultimately,
a single QgsGeocoderInterface could be usable across QGIS desktop, QField,
with almost all logic shared via the common abstract adapter class.
2020-11-02 11:22:48 +10:00
Alessandro Pasotti
884bd9a42e Fix crash on nested dataChanged from set current index
Add new methods and tests, try to make it clear when
a method expects a model index and when it expects
a proxy model index.
2020-10-29 14:31:38 +01:00
Will Cohen
8172c5ed9d Revert ordering of PreviewMode's Grayscale/Mono 2020-10-27 16:41:22 +10:00
Will Cohen
da5bc3068c PreviewGrayScale->PreviewModeGrayscale, captions 2020-10-27 16:41:22 +10:00
Will Cohen
ea628e3129 Revert CVD function names to avoid API breakage 2020-10-27 16:41:22 +10:00
Will Cohen
7bd81dfc60 [FEATURE] Improved color vision deficiency sim
This modifies the previous support for grayscale
and LMS-based simulation for protanopia and
deuteranopia, and brings it in line with the
methodology currently used in Chromium and Firefox
(https://bugs.chromium.org/p/chromium/issues/detail?id=1003700,
https://bugzilla.mozilla.org/show_bug.cgi?id=1655053).

QGIS now uses updated grayscale luminance
calculations (renamed to achromatopsia), a
precomputed protanopia matrix (renamed from
protanope), a precomputed deuteranopia matrix
(renamed from deuteranope), and an additional mode
for tritanopia using a similarly precomputed matrix.

This commit addresses issue #29760.
2020-10-27 16:41:22 +10:00
Peter Petrik
b796dbb07b add some basic skelet for point cloud data providers 2020-10-27 05:29:14 +10:00
Peter Petrik
9c27d4ae91 bunch of other file skeletons 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
Alessandro Pasotti
8924596e62 Leftover 2020-10-26 15:01:25 +01:00
Matthias Kuhn
a720a18006
Merge pull request #39540 from m-kuhn/test_doxy_layout
Test doxy layout
2020-10-24 16:45:21 +02:00