.. tile mode highlights on mouse over for a more
fluid feel, and better feedback
.. can customise the trend view charts background
.. fixed a SEGV on apply preset in chart setup
.. this is part of a set of updates to update the
standard setup to be more complete so the user
can pretty much run off a standard config.
.. introduce concept of configChanged(what) to
pass details of what config has been changed
.. fixed zones changes to re-read after write
to correct the save twice to get changes to
zones bug.
.. next parts need to spot changes (part 2) and
then action appropriately (part 3)
.. so it is shared across charts when no filtering
is applied.
.. when filtering is applied then LTMPlot manages
the PMC data itself.
.. now we use the ridecache the PMC update is really
fast anyway.
.. just playing with the concept, not neccessarily how
things will pan out.
.. If you delete rideDB.json and start GC then switch
to a PMC whilst the cache is being computed and look
at all dates you will see the chart refresh as data
arrives.
... adds "What's this" to (hopefully) most of the widgets (please report
on missing ones)
... defines draft "Whats' this" texts including a
context specific WikiLink
.. Help Key for all platforms is <Shift>+<F1> + in some widgets
"RightMouse - Click"
... Tested on Win and Mac (On Mac QtMacButton seems not supporting
"What's this") - so here <Shift>+<F1> has no result.
... ToDo: Create final texts and links based on the to be updated 3.11
Wiki
This is quite a big patch with lots of nasty interdependencies
all collected together but essentially it deprecates;
* Measures are no longer stored in SQL tables
* Zeo support has been dropped (they went bust)
To achieve this there are a large number of updates;
* Withings json is now cached in /cache and in the Athlete
class. So can be traversed in memory rather than SQL
* All "measures" on LTM have been removed and the only metric
left is "Athlete Weight" that cascades from withings to ride
"Weight" metadata value to athlete settings to a 80kg default
* RideCache is now refreshed, but only for metadata. This is needed
to cache the "Weight" metadata from rides when calculating weight.
* JsonRideFile parser is now re-entrant since it will run in parallel
during RideCache refreshes (using the QtConcurrent::map()
framework).
BUT NOTE
* This is about deprecating the Measures table more than anything
else. Functionally we are in pretty much the same place; just that
data is stored in a different place.
e.g. metric/imperial handling of weight is not fixed yet, no
metrics are in the cache yet, load/save of the cache is not done
so startup is slow etc.
In LTM Plot and on Summary Windows conversion
... data already converted for the curves was converted again
... for "Best" Summary the conversion was missing
Referring to issues #1067#1071 (see also comments on issue #1069
... make window "minimumSize" - so that resize in case of many columns
works
... handle LTM_TOD when called from LTM-Chart (list the rides in the
hour, considering DateRange)
... consider HomeFilter and Search/Filter in result list
... also show Rides of only 1 ride is selected (since Rides contain
Date/Time) and the Metrics (which mostly are not part of the Summary
HTML)
... do not allow MouseSelection of only 1 Ride is shown
... some more tr()
.. when aggregating metrics across rides we were being inconsistent
with regards how we handled zero values; we sometimes included them
and sometimes didn't.
.. now added a metric method bool aggregateZero() that returns true
if aggregates need to include zero values
.. this has been implemented where averages are aggregated.
.. can see the total / average or bests for the date range selected
NOTE: Data Table mode is currently a bit broken .. need to revisit it
and fix it up, not just for ALL mode but also for Estimates
.. LTM chart now has a 'use sidebar settings' checkbox
and will display the chart that is selected in the sidebar
.. as the sidebar selection changes the window will plot it
using data for the current date range configured / selected
.. part 3 will now come later to let you manage the charts from
the sidebar menu (it is already in the LTM tool).
.. but the read and write functions are so far out
of date that applying a saved chart causes a crash
.. so we need to fix the read/write functions for charts.xml
.. lots of work to do to clean this up, especially
keeping the presets updated when renaming is done.
.. also need to save away after changes.
.. also need to create a much better default set of
presets taking into account the more recent additions
such as Estimates amd Bests and new metrics
... more tr() changes
... added comparison for both "seconds" OR tr("seconds") to all other
occurences found
... added "Lap" text for Intervalls imported in Garmin FIT format (this
is what Garmin delivers)
(cherry picked from commit ad790f05a386e3ae5c5b9dc129a216ac451b8cfc)
.. Further updates to the charts to honour the background
color preferences:
* Google Maps
* Ride Summary
* Scatter
* Details (Metadata)
* LTM Data View
* Editor
.. still a few left to do and not entirely happy with how
things look on the editor but we can fix this up over
time.
.. show event and season markers on the compare plot
helps to provide context against the week/month offsets
.. also fixed up how bars are lined up and that each plot
in the compare stack has the same x-axis
You can now compare seasons / date ranges across or between
athletes on the LTM charts.
This is only shown on the stack chart as we need one chart
per data series - in a similar vein to the AllPlot chart.
There are some tidy ups left to do over the next few days;
- Data table needs updating to support compare mode
- Event markers need to be shown and in the right color
- PMC curve data is slow, needs some kind of optimisation
- The tooltip is missing and needs to be put back
- Ensure the new stack frame looks correct when using a
dark plot background (or anything other than white)
- Consider how to handle zooming when there is only one
data series and hence only one chart for compare
.. mostly in preparation for compatre date ranges
on an LTM chart, but also for plotting lots of
values at once without having too busy a chart.
NOTE: Need to sort out tooltips and optimising the
refresh as well as making it possible for the
user to set the plot height like in AllPlot.
.. to use uname not name and also to avoid duplicating units
when they are the same as the metric name (e.g. the metric
'Relative Intensity' has units 'Relative Intensity').
.. show the metric data as a table as well as a chart, its quite
useful to configure a summary table of metrics.
Ironically, the ability to configure the summary page in WKO+ was
one of the things that pissed me off and started me down the road
of extracting data from .wko files. I then found the data I wanted
wasn't even in the files and started developing for GoldenCheetah
.. the rest, as they say, is history.
Reverted the update to the QWT 6.1 code to make QwtPlot::canvas()
return a QwtPlotCanvas -- it now returns QWidget.
This means our local copy of Qwt is the same as the published version
so we should be able to stop maintaining our own copy when Uwe pushes
the multiaxis stuff with 6.2.
Also fixed the LTM tooltip - the zoomer has been removed.
Fixup crashes and major issues created by porting
to QT5. These have included;
* Fix CP plot log scale
* AllPlot axes and tooltip
* DBAccess prepare/bind bug
* LTMSettings crash
* LTMWindow zoomer/picker crash
* LTMPlot axes hack
There are still issues remaining but we can start
working through them at leisure -- the product now
builds and runs.