3864 Commits

Author SHA1 Message Date
Denis Rouzaud
e4b2d591db
access dynamic key part list for editor wrappers 2024-10-09 12:10:25 +02:00
Denis Rouzaud
f7a191519e
fix mixup 2024-10-09 12:08:45 +02:00
Denis Rouzaud
d9296002fd
fix import 2024-10-09 07:19:55 +02:00
Denis Rouzaud
69993b4836
Python implementation of enum settings editor widget wrapper 2024-10-08 22:40:41 +02:00
qgis-bot
2febb72730 auto sipify 🍺 2024-10-07 11:58:50 +00:00
Denis Rouzaud
c75588d84a settings edtior wrappers: add direct constructor + add combo box editor for strings
this improves the usage from Python plugins
2024-10-07 13:55:31 +02:00
qgis-bot
7a16fc4efb auto sipify 🍺 2024-10-07 05:27:55 +00:00
Denis Rouzaud
ec839e9d7c
rename settings editor widget wrappers (#58974)
to allow more than 1 widget type to be supported for each type of setting
2024-10-07 07:24:40 +02:00
Denis Rouzaud
4afbf9e1bb const fixes 2024-10-02 07:05:46 +10:00
qgis-bot
1e24f487f1 auto sipify 🍺 2024-09-27 06:41:09 +00:00
qgis-bot
4550beadb5 auto sipify 🍺 2024-09-27 05:58:03 +00:00
Denis Rouzaud
ca3b40cb8c
Merge pull request #58568 from gacarrillor/stacked_diagrams
[feature] Introduce stacked diagrams
2024-09-27 07:54:49 +02:00
qgis-bot
6a488de21a auto sipify 🍺 2024-09-26 12:20:58 +00:00
Denis Rouzaud
590232d70a
add template method to return specific type of layers in map canvas (#58878)
* add template method to return specific type of layers in map canvas

* Apply suggestions from code review

Co-authored-by: Matthias Kuhn <matthias@opengis.ch>

---------

Co-authored-by: Matthias Kuhn <matthias@opengis.ch>
2024-09-26 14:17:36 +02:00
Germán Carrillo
eb201c56e6 [gui] Switch from string-based connections to functor-based ones 2024-09-25 19:41:35 -05:00
Denis Rouzaud
6bf3ee0f30 const correction 2024-09-20 11:06:45 +02:00
Nyall Dawson
f61e33da4e Doxygen comments should use "NULLPTR", not "NULL"
NULLPTR will get correctly formatted in both c++ and Python docs
2024-09-19 09:55:44 +10:00
qgis-bot
7e8fd29287 auto sipify 🍺 2024-09-18 20:21:08 +00:00
Alessandro Pasotti
5c76ebf092 Address PR comments 2024-09-19 06:17:55 +10:00
Alessandro Pasotti
2978f47951 [layout] Fix missing layer in fixed table editor
Fix #58774
2024-09-19 06:17:55 +10:00
qgis-bot
fce8f62ea1 auto sipify 🍺 2024-09-16 07:36:01 +00:00
qgis-bot
e7c0455296 auto sipify 🍺 2024-09-13 15:42:50 +00:00
Denis Rouzaud
281726250f
Merge pull request #58354 from gacarrillor/save_functions_in_project
[feature] Allow users to save expression functions in QGIS project file
2024-09-13 17:39:40 +02:00
qgis-bot
7b62a9bdce auto sipify 🍺 2024-09-12 22:26:31 +00:00
Mathieu Pellerin
39d6f8392c [ui] Fix addition of geometryless feature not working after first click on add record toolbar action 2024-09-13 08:22:09 +10:00
qgis-bot
a481c11040 auto sipify 🍺 2024-09-12 14:35:56 +00:00
Denis Rouzaud
0c8aee0234
[settings] support direct connection from widget value change to upda… (#58611)
* [settings] support direct connection from widget value change to update setting value

* support automatic setting update on dialog accept

* add settings entry

* better name + fix typo

* Update src/gui/settings/qgssettingseditorwidgetwrapper.h

Co-authored-by: Mathieu Pellerin <nirvn.asia@gmail.com>

* sipify

---------

Co-authored-by: Mathieu Pellerin <nirvn.asia@gmail.com>
2024-09-12 16:32:46 +02:00
qgis-bot
774399c3ea auto sipify 🍺 2024-09-12 07:21:24 +00:00
Alessandro Pasotti
987c38eda6
[auth][api] QgsAuthConfigurationStorage classes and tests (#57992)
Implementation of QEP 
Authentication System: allow Database storage for authentication DB
https://github.com/qgis/QGIS-Enhancement-Proposals/issues/248
2024-09-12 09:18:15 +02:00
Nyall Dawson
059a37f87d
Fix struct attributes descriptions missing from PyQGIS docs (#58672)
Fixes https://github.com/qgis/pyqgis-api-docs-builder/issues/177
2024-09-12 07:12:52 +02:00
qgis-bot
2861ba89f6 auto sipify 🍺 2024-09-10 16:09:57 +00:00
Nyall Dawson
15ed38644b Sipify 2024-09-11 02:06:41 +10:00
Nyall Dawson
3ec7665fec Add gui for configuring project advanced labeling rules 2024-09-11 02:06:41 +10:00
Nyall Dawson
b39f760cbc
Correctly handle multiline SIP_OUT param documentation 2024-09-10 11:11:25 +10:00
Nyall Dawson
f21722a0f1 [sipify] Minor cleanup to auto additions
Condense injections into a single block instead of multiple
separate blocks
2024-09-09 16:56:29 +10:00
Nyall Dawson
cfd251e7f7 Capture signal arguments 2024-09-08 16:06:22 +10:00
Germán Carrillo
c5286e4dcc [core] Address review: Move loadFunctionsFromProject and cleanFunctionsFromProject to QgsProject::read and ::clear, respectively. Introduce function pythonEmbeddedInProjectAllowed to ask for permissions to load both macros and expression functions, with a parameter enum and rename existing enum for macros. Sort includes. Drop not needed file. Add python/expressions/ to gitignore, to get rid of files produced by the introduced Python test. 2024-09-05 23:07:37 -05:00
Germán Carrillo
8f0ab844e4 Make sure python expression functions from project are only loaded if users allow it, just like we do with macros 2024-09-05 23:07:36 -05:00
Germán Carrillo
939dac948a Address review (don't expose to public API, remove const to a by value param, tr, string literals) 2024-09-05 23:07:36 -05:00
Germán Carrillo
c62746d1d1 Add missing docs and SIP files 2024-09-05 23:07:36 -05:00
Germán Carrillo
72da31baa5 Make sure project functions are correctly loaded from the project (always at the top of the list in the 'Function editor' tab) and never stored in a user profile file 2024-09-05 23:07:36 -05:00
Germán Carrillo
59ef0e5752 [feature] Allow to add/save/autosave/remove expression functions in a QGIS project 2024-09-05 23:07:36 -05:00
qgis-bot
bd9ecd53ad auto sipify 🍺 2024-09-04 23:22:09 +00:00
Nyall Dawson
4ec5290a46 [layouts] Add support merging cells in manual tables
Allows adjacent cells to be merged in layout manual table items.

From the table editor, select multiple cells in a rectangular
shape and then from the Table menu, click "Merge Selected Cells".
Merged cells can be un-merged via the "Split Selected Cells"
menu action.

Fixes #51694
2024-09-05 09:19:02 +10:00
qgis-bot
440539389d auto sipify 🍺 2024-09-04 09:09:38 +00:00
Nyall Dawson
519b82183c Fix numeric format configuration in dialog mode 2024-09-04 19:06:26 +10:00
Nyall Dawson
bfb6e1cc76 Address review 2024-09-04 19:06:26 +10:00
Nyall Dawson
1eb3d82c11 Pass proper expression context on to numeric format widget 2024-09-04 19:06:26 +10:00
Nyall Dawson
05003ba2fa [feature] Add "Linear Referencing" symbol layer type
This new symbol layer type allows placing text labels at regular
intervals along a line (or at positions corresponding to
existing vertices). Positions can be calculated using
Cartesian distances, or interpolated from z/m values.

Functionality includes:

- Labels can be placed using fixed cartesian 2d distances,
at regular linearly interpolated spacing calculated using
the Z or M values in geometries, or at existing vertices
- Labels can show either the running total distance, or
the linearly interpolated Z/M value
- Uses text rendered to draw labels, so the full range
of functionality is available for the labels (including
buffers, shadows, etc)
- Uses the QGIS numeric format classes to format numbers
as strings, so users have full range of customisation
options for eg decimal places
- An optional "skip multiples of" setting. If set, then
labels which are a multiple of this value will be skipped
over. This allows construction of complex referencing labels,
eg where a symbol has two linear referencing symbol layers,
one set to label every 100m in a small font, skipping multiples
of 1000, and a second set to label every 1000m in a big
bold font
- Labels are rendered using an angle calculated by averaging
the linestring, so sharp tiny jaggies don't result in
unslightly label rotation
- Optionally, markers can be placed at referenced points
in the line string, using a full QGIS marker symbol (this allows
eg showing a cross-hatch at the labeled point, for a "ruler"
style line)
- Data defined control over the placement intervals, skip
multiples setting, marker visibility and average angle
calculation length

Notes:

- When using the distance-based placement or labels, the
distances are calculated using 2D only, Cartesian calculations
based on the original layer CRS. This could potentially be
extended in future to expose options for 3D Cartesian distances,
or ellipsoidal distance calculations.

Sponsored by the Swiss QGIS User Group
2024-09-04 19:06:26 +10:00
qgis-bot
38c75784be auto sipify 🍺 2024-09-04 03:57:45 +00:00