Project: QGIS

Version: 3.32

Feature: Settings editor updates

The interface for settings editors have seen a major overhaul and the advanced settings interface has the following user facing changes:

  • A choice of using the old or the new settings widget, which is remembered
  • A "hidden" setting allows to bypass the warning before showing the settings tree
  • Settings have dedicated editors (spin box, checkbox, colorbutton, etc.)
  • The modification of settings is now only executed when apply is pressed
  • Current settings are displayed in italic, whereas settings to which changes will be applied are displayed in red

In addition, the settings API has undergone significant changes including:

  • Removal of the QgsSettingsEntryByValue class, using the by reference only
  • The old QgsSettingsTreeWidget has been renamed to QgsSettingsTreeWidgetOld (in app)

New API classes introduced include:

  • QgsSettingsTreeWidget and QgsSettingsTreeModel: tree widget + model to show and edit the settings
  • QgsSettingsEditorWidgetWrapper (pure virtual): a base wrapper class to create and handle a setting editor widget
  • QgsSettingsEditorWidgetWrapperTemplate (pure virtual): the base class for the wrapper of settings declared in C++ API (using typed methods)
  • Classes for settings editors: QgsSettingsStringEditorWidgetWrapper, etc.
  • QgsSettingsEditorWidgetRegistry: a registry of the setting editor wrappers

This feature was developed by Denis Rouzaud