1151 Commits

Author SHA1 Message Date
Yoann Quenach de Quivillic
ef6de1ff2c Add format code action in Python Console Editor 2023-03-17 10:52:08 +10:00
Nyall Dawson
885c0b6136 Add a "refreshing" icon overlay for layout items which are
being redrawn/updated in the background

Gives immediate visual feedback to users that the current appearance
of those items are outdated and to wait while they update.
2023-03-14 04:24:19 +10:00
Nyall Dawson
8108f1f517 Add icons for rectangles, ovals algorithm and offset lines algorithm 2023-02-28 15:15:29 +10:00
Yoann Quenach de Quivillic
556fbee056 Update dev splashscreen 2023-02-22 12:20:32 +10:00
Nyall Dawson
33a431b3cc Show an icon for geometry fields 2023-02-15 04:31:35 +10:00
Nyall Dawson
9caa96f7d5 Add a toolbar to elevation profile widget with button to copy settings
from a elevation profile dock

(Slightly hacky approach is required to allow the gui based item widget
access to the docks which live in app, without creating an interface
api for a single use case)
2023-01-27 14:43:26 +10:00
Vincent Cloarec
3ca858af66
Global map terrain shading (#51535)
* QgsShadingRendering and pipe to render global elevation map

* gdal utils with datatype and resampling method enum

* raster layer elevation map

* optimize raster elevation map with rotation

* handle  no data value in the map elevation raster pipe

* mesh layer and some little fixes

* fix nodata and hillshading z factor

* render shading on layout

* activate/deactivate the shading from ui

* shading only for layer that have elevation

* apply Z scale and offset of layer elevation properties

* ui settings

* allow elevation from point cloud even edl is deactivate for pointcloud

* fix ui

* sipify

* Shading renderer widget in styling panel

* icone for shading renderer settings widget

* two methods to combin elevation

* rewording

* remove check box at the bottom of canvas

* use band of elevation properties

* fix styling pannel

* render shading in layout

* keep EDL point cloud shading individually

* add shading rendering tests

* add missing code for local EDL for point cloud

* shading inactive by default

* rework raster layer resampling

* improve nodata in elevation map

* don't allow elevation map with != size to be combined

* remove EDL from point cloud

* renaming

* sipify

* colorize tests

* renaming

* RGB32

* renaming leftover

* some ui fixes

* fix border for EDL alg

* fix EDL closed next to nodata value

* fix first shading when activated

* renaming and typo

* fixes for doc, doxygen, indentation and spelling

* remove leftover member

* fix clang-tidy

* fix edl tests

* fix dll export

* minor fixes

* adapt images of tests

* fix narrowing

* fix indentation

* sipify

* WIP

* minor ui changes
2023-01-26 15:02:16 +01:00
Giovanni Allegri
863d6fd615
Geonode provider removal (#2)
* Removal of GeoNode provider
2023-01-25 15:51:21 +01:00
Nyall Dawson
b8196b57a8 Tweak icon 2023-01-17 15:36:03 +10:00
Nyall Dawson
42368d4587 Additional icon for elevation profile 2023-01-17 15:36:03 +10:00
Nyall Dawson
cf4df17d86 Icon for elevation profile item 2023-01-17 15:36:03 +10:00
Mathieu Pellerin
874c2a629a Better filter icon 2023-01-13 11:25:24 +07:00
Mathieu Pellerin
1025006034 Address comment, optimize and hard-code conditional styling of constraints 2023-01-13 10:11:42 +07:00
Mathieu Pellerin
cd5eddfb59 [attributes table] Brand new feature with failing constraints view 2023-01-13 10:11:42 +07:00
Nyall Dawson
5dc2ab9574 Rework GPS add track point icon 2022-11-19 15:47:19 +10:00
Alessandro Pasotti
100757000f Address PR comments 2022-11-09 05:54:16 +10:00
Alessandro Pasotti
c7e62d619c Identify on mouse move, no mouse click
Adds an option to allow for identify on mouse move
without clicking on the canvas.

This option behaves almost like the default identify
option, the only difference is that the used doesn't
need to click to trigger the identify action.

A 300ms timer takes care of triggering the actual identify
to avoid performance issues when moving the mouse.
2022-11-09 05:54:16 +10:00
Nyall Dawson
3aae524c69 Icon for GPS destination layer 2022-11-07 18:24:52 +10:00
Nyall Dawson
b09f6a8c32 Slight rework of connect/disconnect icons 2022-11-07 18:24:52 +10:00
Nyall Dawson
a0fd78481c Revise track related icons 2022-11-04 11:24:05 +10:00
Nyall Dawson
151b1f2218 Move disconnect overlay to bottom right 2022-11-04 11:24:05 +10:00
Nyall Dawson
6af57f76c2 Add icons for GPS toolbar 2022-11-04 11:24:05 +10:00
Tudor Barascu
627f43b495
Add Icon for "Select within distance" + add it to Vector -> Research Tools menu under "Select by location" (#50446)
* add Select within distance icon

* add select within distance to Vector -> research Tools Menu

* rework image according to review

* align image to grid
2022-10-25 10:35:02 +07:00
Nyall Dawson
42cfcbd5e0 Fix broken path in svg raises Qt warnings while rendering 2022-09-29 08:41:07 +02:00
Nyall Dawson
f1cb8eb62e Better icon for relationships in browser 2022-08-15 12:28:10 +10:00
Nyall Dawson
484e1e6b0c Better icon 2022-07-18 12:50:18 +10:00
Nyall Dawson
14bf57d36a [feature] Add "Font" tab to options dialog, with setting for users
to configure a set of automatic font name replacements to use
when loading projects or styles

Allows users/administrators to configure a list of alternative fonts
to automatically match when a font referenced by a project/style is
not available on the current system.
2022-06-20 13:01:55 +10:00
Nyall Dawson
dbdacac777 [feature] Add temporal manager support for WMTS layers with TIME dimension
This enhancement exposes any WMTS "time" dimensions for use in the
temporal framework, including allowing these layers to be animated
and controlled via the temporal controller.

There's some complexity involved here, because the WMTS specification
does NOT dictate how a time dimension should be exposed by services.
So different WMTS services are all handling this in different ways,
and we need to try to be as tolerant as possible.

Specifically, WMTS dimension values are just free-form strings, so
I've encountered a range of datetime formats -- e.g. "2021", "20210203",
"2021-02-03", "2021-02-03T12:13:14Z", and even WMS(T) style time
period designations ("2021-01-03T12:13:14/2021-01-05T12:15:11/P10M")!
These different formats all need special handling in order to correctly
interpret them as a date time value, and to be able to re-encode
an arbitrary datetime value back to the format string required
by the service. It's highly likely that we'll encounter additional
format strings when this feature is rolled out, and we'll need to
handle each individually.

When we do detect a time dimension on a WMTS layer, we no longer
expose this in the same way as other non-time dimensions. The browser
panel does not show the dimension values, and adding the layer
via Data Source Manager no longer prompts the user to pick from
the available time values. Instead, these layers are indicated with
a new "time capable raster layer" icon, and are added to a project
WITHOUT the user picking a specific time value.

Just like a WMS(T) layer, when a time-dimension enabled WMTS layer
is added to the project, it will default to the "automatic" temporal
mode, meaning that the layer will follow the temporal controller's
current time range by default. A user can then opt to show a specific
static time value for the layer through the layer's Temporal properties
page, by unchecking "Dynamic Temporal Control" and picking a specific
available time range from the "Predefined date" option. (Basically,
the user interaction and experience with a WMTS time enabled layer
is identical to with a WMS(T) layer).

Fixes #48364
2022-06-18 10:22:48 +10:00
Nyall Dawson
221e63cdfa Add icon to QgsProviderMetada 2022-06-16 13:55:09 +10:00
bdm-oslandia
faa8877160 add new 3Daxis option page in 3d settings
* add Qgs3DAxisSettings class to handle 3d axis parameters
* remove 3daxis configuration from 3d navigation widget
2022-06-02 16:58:30 +02:00
Nyall Dawson
e5c0a14ecd [feature] Add a new classification method for "Fixed interval"
Allows users to create graduated breaks using a specific interval
width for classes (instead of the total number of classes)

Sponsored by SLYR
2022-05-06 13:44:31 +10:00
Alessandro Pasotti
041e18a85c
Merge pull request #48107 from elpaso/db_logger_2
Implementation of QEP: Add SQL Logging in the debugging/development panel
2022-04-28 10:11:31 +02:00
Nyall Dawson
940175fc66 [feature] Add option to render raster and mesh elevation surface levels
using a fill symbol below the elevation surface

This can be easier to interpret in some cases, and helps match expected
symbology conventions in certain disciplines.
2022-04-27 17:30:14 +10:00
Alessandro Pasotti
f388ef7a34 More on query logging 2022-04-26 14:02:27 +02:00
Nyall Dawson
c7cfb40d84 Add action to toggle visibility of layer tree 2022-04-22 13:07:16 +10:00
Nyall Dawson
230d92ad5e [feature] Add a tool to profile dock to generate an elevation profile
for an existing line feature

When active, users can click any line feature on the map to generate
a profile curve along that line. If multiple features are present
at the clicked point then a menu will popup allowing users to
select from these (i.e., same behaviour as the identify tool uses)
2022-04-12 11:33:33 +10:00
Nyall Dawson
19c2c3d3e2 Add a dedicated x-axis zoom tool for elevation profile widget 2022-04-07 19:22:19 +10:00
Nyall Dawson
e33336be5c Remove DB2 Provider
This provider has been marked deprecated and hidden from the UI
for a number of QGIS releases. No maintainers have stepped up
to take over maintainance of this provider, and accordingly it
is now subject for removal.
2022-02-23 15:15:21 +10:00
Denis Rouzaud
36a1019582
refactoring of QgsMapToolCapture to integrate shape map tools (#46687)
* make QgsMapToolCapture capable of capturing point/line/polygons

This moves part of the code from QgsMapToolDigitizeFeature to QgsMapToolCapture so the tool can actually capture point, line and polygons. It's mainly the 'cadCanvasReleaseEvent` which has been transfered.

* use a current CaptureTechnique in QgsMapToolCapture

QgisApp has been adapted to switch between the different techniques

* add point/line/polygon specific handlers for capture map tool

* convert add part map tool to use QgsMapToolCapture capabilities

* fix use of deprecated methods

* also create a virtual handler for QgsMapToolDigitizeFeature::featureDigitized

* more dox

* use const abstract geom in virtual handlers

* add new class QgsMapToolCaptureLayerGeometry to handle layer specific operation in capture map tool

such as avoiding intersections

* allow to add linear geometries on curved geometry layers

* make actions exclusive

* add settings registry to app

* add a registry for shape map tools

* abstract class for shape map tools

* adapt QgsMapToolCapture to correctly support shape map tools

* clean up of QgisApp

* new class QgsMapToolsDigitizingTechniqueManager to handle actions in app related to capture map tools

* clean up QgisInterface

* sipify

* refactoring of existing shape tools

* refactor add ring to fully support capture map tool

* add missing folder to Doxygen

* fix layout

* fix erasing at iterator pos

* fix unused warning

* fix more dox

* fix cpp check warning

* fix unused warning

* fix annotation map tool does not support shape + set tool name

* correctly handle case when the capture is not done on a vector layer (annotation, mesh, …)

* enable shapes in annotation map tool

* correctly undo and clean

* adapt existing shape tests

the deletion test with circular vertices has been dropped since the capture map tool behaves differently

* fix warning

* refactor fill ring to support shape digitizing

* fix win build

* fix more tests

* avoid detach warnings

* fix app test + clean up

* harmonize new settings with existing ones

* fix categories

* support adding multi lines as a part

* fix adding curve part to multi line

* also handle points

* code a bit clearer

* cast not always valid

* allow adding curved polygon to multipolygon

* add test for QgsGeometry::addPart with curved parts on non-curved geoms (lines and polygons)

* fix with Python < 3.9

* better dox for deprecated interface actions methods

* remove files leftover

* remove leftover circular string curve point tool

* add default Z/M values when calling QgsGeometry::coerceToType

* Apply suggestions from code review

Co-authored-by: Nyall Dawson <nyall.dawson@gmail.com>

* fixes from review

* move layer specific part to specific tool

* fix typo

* fix leak

* fix dox

* fix segmentization

* call map tool implementation of addCurve when adding trace curve to avoid point duplication

* call sub-class implementation

* fix since 3.24 -> 3.26

* fix test

* add test to avoid extra curves when using tracing

* fix headers

Co-authored-by: Nyall Dawson <nyall.dawson@gmail.com>
2022-02-22 07:59:50 +01:00
nirvn
d41ed99545 [ui] Fix missing array field types in new memory layer dialog (and fix binary field type missing) 2022-01-29 09:04:52 +07:00
nirvn
05d97e6d55 [ui] Fix missing json field type in the new geopackage layer dialog 2022-01-28 20:24:09 +07:00
Denis Rouzaud
e2a80d97fe use a current CaptureTechnique in QgsMapToolCapture
QgisApp has been adapted to switch between the different techniques
2022-01-28 06:30:23 +01:00
Raymond Nijssen
1120335f59 Fix broken QGIS logo and "Made with QGIS" svg files 2022-01-17 08:33:24 +10:00
Joonalai
e0a3a21123 [layouts] use missing_image.png for raster format
(fixes #45481 and #45477)
2021-10-18 08:30:48 +10:00
PeterPetrik
0aaecf30bd minify svgs 2021-09-30 09:33:24 +02:00
PeterPetrik
762373063a add icons for rich editor to default theme 2021-09-30 09:18:29 +02:00
Vincent Cloarec
176ab29658
Make mesh edit tools more consistent with vector layers tools (#45040)
[mesh] UX fixes:
* move mesh elements click->move->click instead press-> drag->release
* allow to select by drawing a polygon and select an existing polygon in the same map tool like for vector layer)
2021-09-14 07:52:25 +02:00
nirvn
a300d3b13c Further tweaks to new text on point annotation icon 2021-09-13 04:18:55 +07:00
nirvn
b6d6707512 [ui] Relocate 'traditional' annotation toolbar actions into the new annotations toolbar 2021-09-13 04:18:55 +07:00
Vincent Cloarec
4e0d0f6692
Select by existing geometries (#45006)
[mesh] [feature] mesh select  element by existing selected polygon
2021-09-10 08:00:55 +02:00