.. train view resize performance was terrible because each time
a telemetry item was resized it would recalculate the right
pixel size for the font.
this was only a problem in hidpi displays, but these are
becoming more and more popular.
.. standard colors now belong to groups:
* Chart - chart decorations e.g. grid lines
* Data - data series e.g. Power
* Gui - Gui elements e.g. toolbar background
.. when selecting colors in user and trends charts we
now filter out any colors that are not data related
to make it easier for users to find a standard color.
.. when enter/leave full screen mode the view sidebar is
hidden and shown to increase screen real estate (and
especially useful in train view).
.. since the user may want to show/hide for other reasons
the view menu now also has an option to show/hide the
view sidebar selector too.
.. the renumbering of columns removed empty columns. This was not
desirable since in some instances where spanning tiles are used
the user may have deliberately done this.
.. thanks to Alan Benstead at the forums for an example chart to
test this fix against.
.. when a spanning tile moves the layout needs to restart to
take into account its new position (since it will displace
other tiles).
.. to enable us to restart the layout we needed to refactor
the updateGeometry() method to separate out the creation
of animations from layout changes (because an item may be
moved several times as spanners take precedence).
.. tile column numbers also need to be renumbered from 0 when
arranging since it is possible to get out of sync as items
are dragged around.
.. this refactor should also make it slightly easier to fix
any other layout tweaks (now the previous issues have been
resolved).
This reverts commit a023e0efc0.
There are a number of issues with this commit that need
more work and further testing, most notably:
* moving an item causes jarring and unneccessary updates
* moving an item to before the first column causes a SEGV
.. when a spanning tile moves the layout needs to restart to
take into account its new position (since it will displace
other tiles).
.. to enable us to restart the layout we needed to refactor
the updateGeometry() method to separate out the creation
of animations from layout changes (because an item may be
moved several times as spanners take precedence).
.. this refactor should also make it slightly easier to fix
any other layout tweaks.
.. annoying heritage issue with metric names that contain an
apostrophe (') breaking the parser. So we need to add them
as special cases to the lexer.
Fixes#4057
Add support for FTMS devices with Power and Slope control plus Power, Cadence and Speed telemetry
Implement a priority for controllable devices
Avoid connecting Cycling Power Service if there's another source
When CdA is not set, it is estimated at every sample, using cadence. Beforehand, it was computed with the first sample
Co-authored-by: Peret <mail@mail.com>
.. a new checkbox setting for the user chart to refresh when interval
selection changes.
since there is a performance overhead the user must select this
if they are plotting intervals-- most of the time it is not needed.
.. the defaults for opacity was set to 1% and line width of 0px
when adding a series to a user chart were inappropriate.
Some users wouldn't notice and wonder why curves rendered in
a ghostly manner.
Also made worse by the fact that when opengl rendering is
enabled for a series (fast graphics) the opacity and width
are ignored.
This led to a false diagnosis of rendering issues
when the root cause was the configuration of the curve.
.. disable forcing of ANGLE for rendering, which helps where folks
have multiple GPUs but cannot configure them for use in GC.
.. some reports in the forums of issues related to this.
.. add a linear regression to the plot for the current series.
style is solid, dash, dot, dashdot or dashdotdot
"colorname" is a color e.g. "red" or a hex rgb "#fefefe"
DataFilter evaluation requires an activity to get context,
so don't try to evaluate one when there is no current activity
to avoid crashes. It is a marginal edge case without practical
value, but better don't crash when a new user is playing around.
Reported at the forum, easily reproducible creating a KPI tile
in Trends Overview Chart.
The added check is already present in remaining evaluate versions.
.. annotate(hline|vline, "text", style, value) to add a horizontal or
vertical line to the plot for the current series on a UserChart.
style is one of solid, dash, dot, dashdot or dashdotdot which are
the standard Qt pen styles for drawing lines.
I also took the opportunity to refactor how annotations are passed
from the datafilter down to the generic plot. This should make it
far easier to add annotations in the future.
.. fixed a SEGV in the voronoi annotation, which was related to memory
management and the sqrt_nsites variable (honestly, I am amazed it
ever worked).
.. labels in Python and R charts are now broken, will fixup shortly when
worked out how it should work (annotations are related to a series).
To enable source file names and line numbers in stack traces
generated after crashes in crash*.log files.
Intended to make crash report from users easier to analyze.