As a personal habit I tend to use the C pre-processor to
comment out code blocks I don't want to remove. This is in
case the code will be required in the future.
I think it is now safe to say the code commented out is not
required -- most of it is legacy and marks the transition from
earlier designs or legacy code.
I've done this in one big commit since in theory it has no
functional change, and in future can look in this commit for any
code we may want to reinstate.
Tidied up and enhanced the manual ride dialog. It now
lets users add Sport, Workout Code and Notes (or leave
them blank if they don't use them).
Also added Average HR, Cad, Watts and Speed as well as
deriving TSS and Work.
If there are no rides in the last 'n' days it falls back
to the default for all rides logged.
It also now writes json format files.
Upgrade to QWT 6.0.1, but still uses a locally patched copy
since support for 8 axes has not been included, despite it
being a relatively simple patch.
Fixes#634.
Fixes#567.
The interval highlighter on the ride plot
uses the same axis as power, but if no
power is present in the activity the axis
is hidden, and therefore so is the interval
highlighter.
This patch will set the interval highlighter
curve axis to one that is in use.
Amazingly, the stack plot does not honour the chart
controls. If you select ony a single data series it
will still display all series.
There was a //XXX 'todo' placeholder in the code for
this which has now been completed.
Enhanced ride plot;
* Curves can be shaded (this is particularly
useful when only selecting a single curve)
* Span slider can be hidden (this is useful
when you want a 'smaller' plot, e.g for a
single curve, but multiple plots on tile view)
* Curve selection is set/unset from properties.
There is a repeated 'meme' with regards the ride
plot checkboxes for data series (hr, cad etc). They
are to choose the series to display and NOT to show
which series are available.
If you choose to display HR and HR is not present in
the ride file it is still VALID to set the checkbox,
but of course nothing will be plotted. In this way, you
can define a chart for a specific data series and it
will display whatever is VALID as you select different
rides.
The AllPlot smoothing algorithm is coded to smooth
to a sample rate that is /higher/ than the sample
rate within the ride.
As a result, when a shorter smoothing rate (e.g. 1s)
is a applied to a ride with a greater sample rate (e.g. 5s)
the algorithm breaks down.
This patch ensures that smoothing is only performed when the
smoothing rate is greater than the ride sample rate.
Fixes#416.
The legend wasted screen estate and was removed, this patch
colors the axis labels/ticks so no legend is required. This
approach could be adopted for other charts.
Also includes a fix to hide realtime view controls which
left a screen glitch because they should have been hidden.
After discussion on the list the utility and popularity of
the original tab view was restated. This patch reinstates
the tab view and attempts to unify the Qt tab widget with
the general look and feel of the application.
An update to the ride list on the left hand side
to enable the user to choose and sort or group-by
metrics, metadata fields and ride information.
In addition, the sidebar has been 'improved'
cosmetically and to require less screen estate.
Also, the ticks and frames on plots have been
adjusted to be more aesthtically appealling.
There is more to come on the look-and-feel front,
but this patch heralds some work on the sidebar
which needs to be resolved.
With realtime data there will often be samples with
timestamps like 940.002 and 940.998. This cuases an
issue on the ride plot, where it believes there is
no sample for 941 and therefore plots a zero value.
This patch rounds the timestamps to the nearest 100th
of a second, which is consistent with the mechanism
used in the ride editor.
When a manual ride is selected whilst on allplot
it will refresh the plots, but computes invalid
offsets into the ride data. this patch fixes this
crash.
Fixes#128.
The recent patch for allPlot zooming does not display the full plot
properly when the user has selected imperial units and is displaying
by distance (not time). This minor fix corrects this.
Introduce a span-slider on the normal Ride Plot chart to enable
users to select a range to plot and scroll left and right. The
zoom to interval function now uses this slider rather than setting
a zoom range. Tooltips are now displayed on the normal and stacked
views to assist in reviewing specific data points.
Old style zooming still works as expected, but scrolling at a zoom
level is not yet implemented.
The qxt widget 'QxtSpanSlider' has been placed in the top
level directory (GoldenCheetah/qxt) alongside the qwt widgets to
avoid adding another dependency.
A number of optimizations have also been introduced to speed up
plotting in general. A new color setting for the thumbnail plot
has also been introduced. Refresh of the plot when data is changed
in the editor has been fixed. The zoom scale up/down widgets are
also disabled when in normal mode to avoid the bug highlighted by
Robert Carlsen.
Fixes#122.
A new config pane for defining color preferences for chart
curves, shading, background and grid lines et al. Default values
echo the current hard-coded values.