1433 Commits

Author SHA1 Message Date
Nyall Dawson
d62d0b82e3 Port model help editor dialog to c++ 2022-02-28 17:33:49 +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
Antoine
66b45c2d69 change version to 3.26 2022-02-22 10:17:54 +01:00
Antoine
1d96d07774 modify method name getCapacities 2022-02-22 10:17:54 +01:00
Antoine
64ab38b9e4 modify code to simplify tests 2022-02-22 10:17:53 +01:00
Antoine
e0e9600857 static default Z/M value methods 2022-02-22 08:52:54 +01: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
Denis Rouzaud
efcf169a09 fix since 3.24 -> 3.26 2022-02-21 17:05:13 +01:00
Denis Rouzaud
49b5926570 move layer specific part to specific tool 2022-02-21 10:33:26 +01:00
Denis Rouzaud
e9fc54c0bd fixes from review 2022-02-21 09:45:27 +01:00
Nyall Dawson
118b3d32c1 Create QgsFieldDomainDialog dialog for configuring a field domain 2022-02-20 06:48:03 +10:00
Nyall Dawson
9c4bcf0092 Add widgets for creation of field domains 2022-02-20 06:48:03 +10:00
Nyall Dawson
8f34557037 [processing] When closing a model with unsaved changes, if the user
accepts the prompt to save the changes BUT then cancels the file dialog
asking for the destination file name, don't treat this as though the
user has opted to discard the model
2022-02-07 12:01:07 +10:00
Nyall Dawson
b5d2ebd696 Fix build 2022-02-05 11:05:51 +10:00
Nyall Dawson
a169055277 [processing] Improve UX when saving models
- When saving a model to a file, don't require that the model already
has a name entered. Instead, if no model name has been entered then
set the model name automatically to match the selected save filename.
E.g. if the user saves the model as "Process incoming features.model3",
then the model name will be set to "Process incoming features".
- When first saving a model, IF the user HAS already entered a model
name then make the default file name suggested by the dialog match
this model name
2022-02-05 11:05:51 +10:00
Nyall Dawson
91cf8954f4 [processing] Default to "Model Input" sources for map layer parameters
when configuring a new algorithm

While the previous behaviour of defaulting to a static value makes
sense for things like numeric parameters, this is a very rare use
case for map layer parameters. For better new user experience we can
default instead to showing model inputs for these parameter types.
2022-02-04 18:14:22 +10:00
Nyall Dawson
8486afbdd1 [processing] Fix model designer sometimes opens behind other windows 2022-02-04 16:34:53 +10:00
Nyall Dawson
3ae623137d Fix color widgets incorrectly change colors when mouse is hovered
over widget
2022-01-31 12:57:52 +10:00
nirvn
f223ef2112 Address review and tests failure 2022-01-30 16:36:06 +07:00
nirvn
a9d5ae2180 [processing] Add missing {string,integer,double} array types support in the aggregate algorithm 2022-01-30 14:27:51 +07:00
nirvn
36f513d7eb [processing] Rework the field mapping model class to allow for subtypes 2022-01-30 13:48:04 +07:00
Denis Rouzaud
be0fe08c2e better dox for deprecated interface actions methods 2022-01-28 06:30:26 +01:00
Denis Rouzaud
997197c6aa fix win build 2022-01-28 06:30:25 +01:00
Denis Rouzaud
e37e985b58 sipify 2022-01-28 06:30:24 +01:00
Denis Rouzaud
83c5e6fe04 add new class QgsMapToolCaptureLayerGeometry to handle layer specific operation in capture map tool
such as avoiding intersections
2022-01-28 06:30:24 +01:00
Denis Rouzaud
f577cf9ed2 use const abstract geom in virtual handlers 2022-01-28 06:30:24 +01:00
Denis Rouzaud
04d79bef6c more dox 2022-01-28 06:30:24 +01:00
Denis Rouzaud
c88a63f654 also create a virtual handler for QgsMapToolDigitizeFeature::featureDigitized 2022-01-28 06:30:24 +01:00
Denis Rouzaud
be561092cd add point/line/polygon specific handlers for capture map tool 2022-01-28 06:30:23 +01: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
Denis Rouzaud
864787e63f 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.
2022-01-28 06:30:23 +01:00
Denis Rouzaud
973b97af24 fix spell, layout and sip 2022-01-22 06:37:43 +10:00
Denis Rouzaud
0bccb17f9f fix re-implemented buttons being null 2022-01-22 06:37:43 +10:00
Harrissou Sant-anna
b8de4d389e
Add version mention 2022-01-20 21:37:13 +01:00
Harrissou Sant-anna
0ef51feccf
Dedicated method allowing to add plugins to the Mesh menu 2022-01-20 15:07:15 +01:00
nicogodet
0017f1ae94
fix see also of setClearValue (#46911) 2022-01-20 14:07:14 +01:00
Nyall Dawson
f4b7a93175 Fix scroll area child widgets wheel event lock lasts too long after
scrolling stops in some circumstances

Basically, if the user moves the mouse after scrolling the area
with the wheel, we should release the time based lock we use
to avoid unwanted widget changes mid-scroll immediately. Otherwise
it's impossible to scroll wheel->move mouse onto widget->wheel to change
widget value quickly.
2022-01-18 13:51:37 +10:00
Matthias Kuhn
c5a56d6f83
Merge pull request #46802 from domi4484/relationEditorGetMultipleFeatures 2022-01-14 15:18:42 +01:00
Nyall Dawson
f288ab1223 Add api to allow validation of QgsOptionsPageWidget before applying
options dialog changes
2022-01-14 16:06:23 +10:00
Nyall Dawson
7a7fb285cd Don't always reset custom crs format to wkt when it was originally
defined using a proj string
2022-01-13 13:58:00 +10:00
Damiano Lombardi
c8dd03bc96 Relation editor widget get list of editing features 2022-01-12 09:46:43 +01:00
Nyall Dawson
adc7b6a143 CRS selection dialog can now be opened inlined 2022-01-11 19:50:46 +10:00
Nyall Dawson
6e7e8d3d7d Promote CRS format enum to enum class, move to Qgis 2022-01-11 19:50:46 +10:00
Nyall Dawson
e692969896 Use combo box instead of tab in projection selection dialog
to select CRS type, and split widget out from dialog class
2022-01-11 19:50:46 +10:00
Nyall Dawson
d8de543872 Add "Custom CRS" tab to projection selection dialog
This allows users to just directly enter a custom CRS definition
(from proj or wkt), instead of requiring them to add a custom
CRS to their database.

It's much friendlier for users who just want to defined a custom
projection for e.g. an overview map.
2022-01-11 19:50:46 +10:00
Nyall Dawson
0ad1324780 Split off part of custom projection dialog into reusable
QgsCrsDefinitionWidget widget
2022-01-11 19:50:46 +10:00
Damiano Lombardi
2973735a6b Apply suggestions from code review 2022-01-10 08:36:44 +01:00
Damiano Lombardi
9f7353b91c switch to XY coordinate types when using label move tool 2022-01-10 08:09:28 +01:00
jakimowb
d7bf988817
Expose QgsFieldCalculator to public API (#46748)
* shows QgsFieldCalculator in public API

* removed unnecessary comment

* QgsFieldCalculator:
made public slots private and added code documentation

* fixed doc string

* Apply suggestions from code review

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

* updated sip file

Co-authored-by: Nyall Dawson <nyall.dawson@gmail.com>
2022-01-08 16:28:27 +01:00
Denis Rouzaud
6bf4aeb83d const method 2022-01-07 20:30:21 +01:00