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)
changes
Since this is a view operation, not an edit operation, we don't
mark it as changing the project state. (Much like how loading a
doc in a word processor and scrolling to the last page isn't
changing the document state).
When INFO_FORMAT is not an image format there is no
need to make image WIDTH and HEIGHT mandatory.
2.x accepted that, 3.x raised an exception.
This is a partial fix: SRS is still mandatory because
fixing this would require a deeper refactoring and
I believe we can live with it, because SRS will be
required if filters are combined with geometry filters,
while passing a WIDTH/HEIGHT when we don't want an image
back is always useless.
A test was also added.
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.
When an attribute table is set to a "Layer features" source, this
allows the underlying vector layer from which to source features
to be data defined.
(All existing table attributes (column settings) are left intact,
so setting a data defined table to a layer with different fields
will result in empty columns in the table.)
Sponsored by Kartoza/Inasafe
project dirtying for the lifetime of an object
Python code can then call:
project = QgsProject.instance()
with QgsProject.blockDirtying(project):
# do something
Use QgsProjectDirtyBlocker to prevent projects being marked as
dirty while creating a new project or while loading an existing
project -- avoids the titlebar temporarily showing the project
state as unsaved while it is being loaded.