Allows for detailed metadata to be set in project properties,
including abstracts, keywords, contact details, links, etc.
Developed for Arpa Piemonte (Dipartimento Tematico Geologia e Dissesto)
within ERIKUS project
A new base class QgsMetadataBase has been split off QgsLayerMetadata,
containing all non-layer specific metadata items.
This allows us to reuse the common metadata settings for other
non-layer items, e.g. projects.
Since the attribute table dialog object name is set to match
the layer/featureid combo, this commit was causing the attribute
form dialog to remember its position and size for each
feature/layer combo individually.
That's NOT what we want!
Fixes#18426
Temporarily sets a QApplication override cursor for the lifetime
of the object, then removes it
Makes it easier to ensure that the override is always removed
regardless of the exit path taken.
Now it will accept arrays as well as string representations of arrays
Added a test
Fixes#16967 value relation widget with Allow multiple selection doesn't resolve the values anymore
options->color tab
This brings all of QGIS' color scheme handling to a more logical and
user-discoverable place. Previously this functionality was only
available inside the color dialog itself (i.e. users would have to start
changing a color before they could create and edit schemes)
Creates a new QgsProxyStyle subclass of QProxyStyle which
automatically sets the base style to match the current
application style (creating a new QStyle object, since
setting the base style takes ownership). Additionally,
QgsProxyStyle correctly parents the style to a parent
widget, avoiding leaks since calling QWidget::setStyle
doesn't transfer ownership.
Fixes incorrect theme used for layer tree view since
addition of indicator icons.
the use of QStyle::subControlRect was returning only the rect of the arrows and not of the whole clickable area. QStyle::hitTestComplexControl has been used instead
The search widget wrappers for relations have two issues
* They recursively load whatever relations are defined. With self-referencing this leads to 💀
This is addressed by only loading one level of relations in search widgets.
* They would load even when hidden, leading to long load times on attribute table opening.
We now only actually load the form on the show event
The int range widget so far assigned NULL to the minimum value when allowNull was activated. This made it impossible to enter the minimum value into a range widget.
This also fixes some signals which in case of a NULL value would emit a slightly-below-minimum value for double and int spinboxes.
Fix#18297