This adds support to display vertices lines over the profile graph to
display indicator at the location of the vertices of the trace.
This is mainly achieved by adding
`QgsElevationProfileCanvas::setSubsectionsSymbol()`. This method
allows to set the line symbol of the vertical lines. Then, It sets the
subsections symbol of the profile renderer of the plot item. It the
renderer does not exist yet, the subsections symbol is set when a new
profile renderer is created.
Previously the widget would always just use a generic hardcoded
list of field types. This isn't appropriate for all destination
providers, which may not support certain field types.
Add API so that an explicit list of supported destination
field types can be set for the widget, restricting the choices
available to users for destination fields.
This adds support for saving and loading SQL queries to a .sql text
file to the Execute SQL dialog and Update SQL dialogs.
Effectively, it ports this functionality from the DB Manager plugin
over to the core browser-based database connection facilities.
The UX has been designed to mimic the same functionality from
other standard parts of QGIS, eg the Processing Script Editor. Toolbar
actions are used accordingly, instead of the old text button approach
used in DB Manager.
Sponsored by City of Canning
Adds a toolbar to the Execute SQL window, with common actions
for cut/copy/paste/undo/redo/toggle find/clear
This matches the UI for the Execute SQL dialog to other similar
QGIS dialogs, eg the Processing script editor dialog
The typedef is only present in the .sip file, but without this
annotation SIP assumes it also exists in QGIS headers. This didn't
completely break the build, since we concatenate multiple SIP headers
into larger files, so the typedefs from one part "fixed" another. Run
sip-build without --concatenate to see the issue clearly.
This fix is currently sadly not fully effective due to a SIP bug:
https://github.com/Python-SIP/sip/issues/66