Fixes edits to a joined field value aren't immediately shown in attribute tables,
and instead appear as though they were discarded (until the attribute table is
reloaded)
* Enabled using default path for external resources.
Value (filepath) can be relative to either project path or default root according field setup/config
* [QgsQuick] Added signal of event when a captured photo is confirmed. That enables custom handling of the action by externalResourceHandler.
Renamed Ok Button of PhotoPanel.
* [QgsQuick] Cleaning source of preview image after closing it
It was causing unpleasant effect when last taken photo has been shown for a short while before previewing another.
* [QgsQuick]
Evaluate and use defaultRootPath in a config of the external resource widget.
Added a function to evaluate expressions for QgsQuick
* [QgsQuick] Use Loader to load photo panel only when its going to be used.
Also prevents for asking camera permissions on form open, when photo panel was initialized as well.
* [QgsQuick] Better wrapping of a long filenames text in the external source widget if an image is not available.
* [QgsQuick] Use canonical path in function
Symlinks are used a lot on Android, therefore its better to use canonical paths.
* [QgsQuick] formatted code.
* [QgsQuick] External source widget - changes requested in review
Fixed test and added one test case for getting relative path.
* [QgsQuick] External widget update
Added function that returns absolute path of image according widget's config - takes into account relative/absolute setting for value and default path.
Added docs about how a path can be configured and used.
* [QgsQuick] External widget update
* removed lefover property
* corrected getAbsolutePath function
* [QgsQuick] Corrected function and fixed test
Do not use canonical path for non-existing file while getting relative path.
* Fix WMS GetMap 8bit mode with transparency
* Correct indentation
* Remove french text in qgs test project
* Correct render checker for 8bit image
* Remove empty line
Avoids situations like
1. Line length of 3cm
2. Repeat distance of 2cm
3. Label size is 1.5 cm
2cm 1cm
/--Label--/----/
i.e. the labels are off center and gravitate toward line starts
Instead, we first calculate how many complete repeats we can fit
in, and then divide the line into even sections of this length,
avoiding the situation where some leftover segment of the line
end isn't big enough for the label to fit.
QgsPathResolver::setPathPreprocessor allows setting a custom path pre-processor
function, which allows for manipulation of paths and data sources prior
to resolving them to file references or layer sources.
The processor function must accept a single string argument (representing the
original file path or data source), and return a processed version of this path.
The path pre-processor function is called before any bad layer handler.
Example - replace an outdated folder path with a new one:
def my_processor(path):
return path.replace('c:/Users/ClintBarton/Documents/Projects', 'x:/Projects/')
QgsPathResolver.setPathPreprocessor(my_processor)
Example - replace a stored database host with a new one:
def my_processor(path):
return path.replace('host=10.1.1.115', 'host=10.1.1.116')
QgsPathResolver.setPathPreprocessor(my_processor)
Example - replace stored database credentials with new ones:
def my_processor(path):
path= path.replace("user='gis_team'", "user='team_awesome'")
path = path.replace("password='cats'", "password='g7as!m*'")
return path
QgsPathResolver.setPathPreprocessor(my_processor)
which controls a distance from the feature where callout lines end
Makes for visually more appealing callouts vs drawing them right
up against the edges of features
that these are automatically respected whenever the format is
rendered using QgsTextRenderer
This is done transparently to the caller - so by porting away
from the raw QPainter text apis to use QgsTextRenderer instead,
then they immediately gain the ability to use data defined
properties in their text formats.
This setting (accessed through the project label settings dialog)
allows unplaced labels to be shown on the map. These are rendered
using a red color by default (but the color can be changed from
the label settings dialog too), allowing users to determine whether
any important labels are missing from their maps (e.g. due to
overlaps or other constraints).
methods
While unused for now, this gives us flexibility in future to specify
additional useful contextual information about how a callout should
be rendered without breaking API (e.g. label text alignment, label
font settings, etc)