Unlike in 2.x, Layouts in 3.0 adopt the standard UX of dragging
out rulers to create guide lines (instead of clicking on a ruler
position to create a guide)
The class is a QAbstractListModel subclass, making it easy
for creation of different views showing the guides in a layout.
Additionally, a QSortFilterProxyModel (QgsLayoutGuideProxyModel)
has been created to filter QgsLayoutGuideCollection to guides
with matching page numbers and orientations.
Tools can now indicate (via setFlags()) if they desire snapping
to be active for the tool. When a tool has the flag set,
any QgsLayoutViewMouseEvents it receives will have a snappedPoint()
available which returns the mouse event point snapped using
the layout's snapping settings.
over widgets
Hopefully helps Python processing users match the parameters
in the gui to the parameter names to use when calling via
API
(Blender style!)
While the toolbar buttons were shown in the correct size, the
actual icon image in the buttons was not correctly scaling to
match the button size.
Hardcoding the svg icons in the py file seems to be the only
way to avoid this.
It makes no sense to have two classes covering this use case, with
partial functionality in each. Smash the two together so we can
safely use QgsFileWidget for all use cases in future.
* Use tabbed view for python console settings. Allow fonts larger that 15pt in console and python editor.
* Make the python console settings list look more like the C++ implemented settings dialogs.
* Use scroll areas in python console settings to prevent widget squashing
* Fix python console settings icons
* updating python console settings to be part of main QGIS settings
* Revert "updating python console settings to be part of main QGIS settings"
This reverts commit a811d7d7b184fece419f6610321a98f1acc9238f.
processing tests
Some algorithms will return results in different orders, e.g.
due to the use of dicts or other methods which do not guarantee
a fixed return order.
Using a primary key to do the feature match allows us to flexibly
handle these situations and provide tests for these algorithms.