120 Commits

Author SHA1 Message Date
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
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
801760f182 use const inline variables for settings + return existing tree element 2023-01-16 09:00:51 +01:00
Denis Rouzaud
41b687b2b4 use new API for already migrated settings 2023-01-16 09:00:51 +01:00
Denis Rouzaud
87fd5e26ee rename SettingsLocation to SettingsOrigin 2023-01-16 09:00:51 +01:00
Denis Rouzaud
b93967adf6 fix typo 2023-01-16 09:00:50 +01:00
Denis Rouzaud
552684c777 fix dox 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