... shift plot if start date is earlier than any Power Estimates exist
... enhance grouping (calculation of averages for month/years/all
grouping)
... adjust estimates calculation
... to calculate non-overlapping weeks data
... to not create any "infinite" data for weeks before the first Power
based actitivity exists
.. 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.
.. LTM stress curves had the same symbol name and
so some were not deleted when the date range changed
leaving curves on the plot
.. we now set the best symbol for stress curves so we
have a unique name for each curve
.. does all labels etc and integrates in with the rest
of the LTM chart and CurveColors classes.
.. underMouse() seems weird when legend is updated, might need
to find a better way to work out if/which legend was clicked.
.. 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)
.. removes across the code base
.. need to fixup RideFileCache and Lucene refresh
within the RideItem/RideCache framework, they will
NOT be refreshed at present
.. need to look at how charts get refreshed on data
changes now RideItem provides a more granular
mechanism (look for XXXREFRESH in code)
.. New Intervals code will definitely NOT compile
and needs to be redesigned/reimplemented to fit
in with the ride cache
.. if a filter was being applied we created a local PMC
but also filtered on dates, this caused the PMC data
that was generated to only represent the activities in
the period selected !
.. thanks to Ale Martinez for pointing this out.
.. 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.
.. removing any remaining references to measures in the
code. We now use withings only and that is handled
in a non-generic manner.
.. measures and equipment are likely to get put into
v3.3 once we've done planning.
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
... introduce new "home" Folder structure object representing the
previous flat-folder
... adjust relevant QDir home - access to use the sub-folder method of
the new object
Note: the new structure is not yet active ! - everything is written to
the main folder still
To Do:
... add upgrade procedure for existing folder content to merge to the
new folders
.. 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