130 Commits

Author SHA1 Message Date
Nyall Dawson
bdb5904283 Fix more malformed docstrings, enforce correct format in sipify 2025-04-09 14:04:24 +10:00
Nyall Dawson
3f6b490218 Sipify 2025-04-02 11:11:10 +10:00
Nyall Dawson
4a10066b69 Fix grammar errors in class docstrings 2025-04-01 09:44:00 +10:00
Nyall Dawson
afd2e4f42d Fix doxygen class briefs which aren't full sentences 2025-04-01 09:44:00 +10:00
Nyall Dawson
6d122f0038 Sipify 2025-03-30 20:48:07 +10:00
Nyall Dawson
ac71664a83 Fix multiparagraphs in initial class docstrings 2025-03-30 20:48:07 +10:00
Nyall Dawson
602ef6c691 Don't start class briefs with "This class contains settings..."
It's unncessarily verbose, use just "Contains settings..." instead.
2025-03-30 20:48:07 +10:00
Nyall Dawson
b81e0d83f6 Fix non-compliant class brief documentation 2025-03-30 20:48:07 +10:00
David Koňařík
4d86676c35 Fix SIP build errors by using /NoTypeName/
The typedef is only present in the .sip file, but without this
annotation SIP assumes it also exists in QGIS headers. This didn't
completely break the build, since we concatenate multiple SIP headers
into larger files, so the typedefs from one part "fixed" another. Run
sip-build without --concatenate to see the issue clearly.

This fix is currently sadly not fully effective due to a SIP bug:
https://github.com/Python-SIP/sip/issues/66
2025-01-06 21:31:40 +01:00
Julien Cabieces
ed64834106 api(deprecated): add message to deprecated SIP annotation 2024-12-17 09:06:42 +01:00
Nyall Dawson
37478db0c1 Fix more function links 2024-12-03 12:57:44 +10:00
qgis-bot
64e79914dd auto sipify 🍺 2024-10-09 03:49:26 +00:00
Nyall Dawson
ef0289f3ec Fix formatting of Python ..deprecated annotations in docstrings
Fixes https://github.com/qgis/pyqgis-api-docs-builder/issues/174
2024-09-02 11:42:12 +10:00
Nyall Dawson
519959154a Fix some overly verbose class "brief" descriptions 2024-08-28 11:58:21 +10:00
Nyall Dawson
3a578d6712 Header update 2024-08-13 20:28:55 +10:00
Nyall Dawson
c2c75f3b19
More no-value dox removal 2024-07-25 09:04:22 +10:00
Even Rouault
15ea5c46bc
Header files: remove all mentions of '\since QGIS 3.0' 2024-02-18 20:57:23 +01:00
Juergen E. Fischer
d0e006861c fix windows build 2024-01-19 14:18:28 +01:00
Julien Cabieces
062ce03b6d [PyQt6] remove QTextCodec and rename pyqt5_from_qvariant_by_type
QTextCodec is no longer existing in PyQt6 (only in QtCoreCompat in C++)
2024-01-11 04:52:01 +10:00
Nyall Dawson
13235351cd Perform backward compatibility of settings only for changed settings
The backward compatibility code is very expensive, as it triggers
a huge number of QSetting object creation and destruction.

We only need to perform this for settings which have changed,
so add API to flag changed settings and only perform backward
migration of changed settings.

This dramatically improves QgsApplication shutdown time (cuts
1.5 seconds off shutdown on a release build!!)
2024-01-10 18:19:56 +10:00
Nyall Dawson
50a31065ab Add framework to temporarily halt flushing of QgsSettings to ini
This adds a mechanism where flushes of QgsSettings to the underlying
ini storage file can be temporarily suspended. It is intended for
code paths where many settings entries are consecutively read/written,
to avoid the very expensive cost of constructing and destructing
multiple QgsSettings objects for each in turn.

When QgsSettings::holdFlush() is called, then a temporary thread local
QgsSettings object will be created and ALL access to settings entries
will use this same object (preventing flushing of it to ini files).
An accompanying QgsSettings::releaseFlush() call MUST be made from
the same thread to destroy the thread local QgsSettings, flush it
to disk, and resume normal operation.

This helps avoid the VERY costly backward migration of settings,
and cuts the run time for qgis_process commands like `qgis_process list`
by at least half (and considerably more in common setups).
2024-01-08 18:58:14 +10:00
Denis Rouzaud
30a641111d
Merge pull request #52847 from 3nids/settings-treewidget
Settings editors
2023-05-02 21:31:35 +02:00
Yoann Quenach de Quivillic
3dcfbe8cc3 Fix QgsSettingsTreeNode constness 2023-05-01 01:47:24 +02:00
Denis Rouzaud
7498d0994c fix dox 2023-04-27 10:29:09 +02:00
Denis Rouzaud
9f3ac79b8b sipify + CMakeLists 2023-04-23 07:19:47 +02:00
Nyall Dawson
50c76929e1
Followup 30700f1, ensure links to Qgis members are set in docstrings 2023-03-31 10:46:24 +10:00
Denis Rouzaud
d01d2af619 [settings] method to delete all items of a named list 2023-03-20 07:03:52 +10:00
Denis Rouzaud
238353d380 remove obsolete sip file 2023-02-23 16:07:14 +01:00
Denis Rouzaud
ea53aa3ce2 move settings tree enums to Qgis 2023-02-23 16:07:14 +01:00
Denis Rouzaud
8dc67afdf3 allow full access from Python 2023-02-19 07:19:17 +01:00
Denis Rouzaud
0cdc9b9ba3 fix dox 2023-02-19 07:19:17 +01:00
Denis Rouzaud
a2271b9b3e [settings] allow read-only access to the tree
this allows accessing settings from Python
2023-02-19 07:19:17 +01:00
Denis Rouzaud
f23bdbdad1 fix typo 2023-02-03 09:05:37 +01:00
Denis Rouzaud
3b5b6936fc fix bindings 2023-02-03 09:05:37 +01:00
Denis Rouzaud
ed1c61b549 add licence 2023-02-03 09:05:37 +01:00
Denis Rouzaud
34eb0826c3 change QgsSettings to QgsSettingsTree in code base 2023-02-03 09:05:37 +01:00
Denis Rouzaud
34ca2d9e3b move settings tree away from QgsSettings to QgsSettingsTree
* to avoid any dependency on QgsSettings class
* reduce overhead by limiting includes of qgssettings.h
2023-02-03 09:05:37 +01:00
Denis Rouzaud
bcd2432d31 remove QgsSettings dependency in QgsSettingsEntry 2023-02-03 09:05:37 +01:00
Denis Rouzaud
f9e21602d2
add name method for settings + improve dox (#51661) 2023-01-31 15:48:08 +00:00
Denis Rouzaud
7d628998d5 follow-up rename QgsSettingsTreeElement to QgsSettingsTreeNode 2023-01-30 10:03:39 +10:00
Denis Rouzaud
448eaa3810 deprecate settings registry 2023-01-26 08:52:33 +01:00
Denis Rouzaud
fb49e6e99f
Revert "remove transfer annotations" (#51553)
This reverts commit fcbf76ec1cf0e707b69d27b967448f8058cffb30.
2023-01-24 09:42:27 +01:00
Denis Rouzaud
e059f3dd72 add 64 bits integer settings (not available in Python) 2023-01-18 14:30:01 +01:00
Denis Rouzaud
fcbf76ec1c remove transfer annotations 2023-01-17 16:52:48 +01:00
Denis Rouzaud
7efec3e8f3 settings entries are meant to be const, options cannot be adjusted 2023-01-17 16:52:48 +01:00
Denis Rouzaud
7fa484dbf6 sipify 2023-01-17 16:52:47 +01:00
Denis Rouzaud
2a5838433b rename QgsSettingsTreeElement to QgsSettingsTreeNode 2023-01-17 11:53:39 +01:00
Denis Rouzaud
0529d6077b fix leftover and missging SIP_THROW and better dox 2023-01-17 06:56:57 +01:00
Denis Rouzaud
9271ed5682 fix SIP annotation 2023-01-16 16:46:57 +01:00
Denis Rouzaud
8aa189806e fix dox 2023-01-16 09:00:52 +01:00