33 Commits

Author SHA1 Message Date
Nyall Dawson
3f6b490218 Sipify 2025-04-02 11:11:10 +10:00
Nyall Dawson
6d122f0038 Sipify 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
Nyall Dawson
3a578d6712 Header update 2024-08-13 20:28:55 +10: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
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
9f3ac79b8b sipify + CMakeLists 2023-04-23 07:19:47 +02:00
Denis Rouzaud
34eb0826c3 change QgsSettings to QgsSettingsTree in code base 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
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
9271ed5682 fix SIP annotation 2023-01-16 16:46:57 +01:00
Denis Rouzaud
799ef3925c move QgsSettingsEntryGroup to a separate file and deprecate it 2023-01-16 09:00:52 +01:00
Denis Rouzaud
166ad00f6c avoid overriding method in subclass 2023-01-16 09:00:52 +01:00
Denis Rouzaud
80e3f35e88 migrate plugin manager settings and replace settings in app 2023-01-16 09:00:52 +01:00
Denis Rouzaud
b93967adf6 fix typo 2023-01-16 09:00:50 +01:00
Denis Rouzaud
e088ea47ae migrate a color setting to avoid a/r/g/b keys 2023-01-16 09:00:50 +01:00
Denis Rouzaud
46dec7ee24 add allowAlpha option for color settings + better dox 2023-01-16 09:00:50 +01:00
Denis Rouzaud
44039d164c sipify them all 2023-01-16 09:00:49 +01:00
Denis Rouzaud
b983c5afeb fix docs 2022-12-16 09:09:57 +01:00
Denis Rouzaud
da4865872c [settings] add new type for variant map: QgsSettingsEntryVariantMap 2022-12-16 09:09:57 +01:00
Julien Cabieces
012b6a46db constify methods 2022-04-29 08:21:47 +10:00
Denis Rouzaud
6dd66759cd sipify 2022-04-29 07:57:25 +10:00
Denis Rouzaud
91f631171c be sure that PyQGIS constructors always create a key as a plugin 2022-03-08 14:38:00 +01:00
Denis Rouzaud
19ca6636d1 sipify 2022-03-08 14:37:59 +01:00
Denis Rouzaud
fbd27bde8f explicitely call a checkValue method for a more meaningfull API 2022-03-01 12:09:47 +01:00
Denis Rouzaud
3f88bd5002 further simplifications of template and implementations 2022-03-01 12:09:47 +01:00
Denis Rouzaud
08ada3aadf sipify + move sipify config file to ./python 2022-03-01 12:09:47 +01:00