Commit Graph

100 Commits

Author SHA1 Message Date
Mark Liversedge
896c3e5574 Library LTM Chart subtitle
.. changes when using a preset.
2015-08-14 08:24:32 +01:00
Mark Liversedge
25a58eb9c4 Tidy up LTM Chart configuration
.. move use sidebar settings to basic page and
   disable the other pages if its using sidebar
   settings

.. when working in the sidebar, hide the basic
   page since it is not shared

.. make the add chart dialog bigger if the screen
   is large enough, since it needs to show a chart
   and the config pane which has grown a little
   over time.
2015-07-27 17:16:13 +01:00
Mark Liversedge
f61e746118 Enable Export of LTM Chart Configuration
.. and fix import of >1 chart file !
2015-07-26 09:48:09 +01:00
Mark Liversedge
aaa03aa34a LTM no span slider in tile view
.. too much going on !
2015-05-29 14:43:41 +01:00
Mark Liversedge
de1262b010 Fix SEGV Mac with LTM spanslider style
.. applying to buttons before they had been created.
2015-04-25 15:18:22 +01:00
Mark Liversedge
bc87b16acf Add SpanSlider to LTM Chart
.. so we can zoom / span on charts.

.. have not applied to stack or compare mode
2015-04-25 13:49:23 +01:00
Mark Liversedge
c934e8b4d0 Aesthetic Tweaks
.. 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.
2015-01-23 12:06:03 +00:00
Mark Liversedge
80e53dcf2f Fix LTM library SEGV
.. didn't set the specification when updating the
   LTMSettings when using a sidebar preset
2015-01-07 22:59:42 +00:00
Mark Liversedge
13b093ff23 LTM refresh on Ride Save
.. in case the peak powers have changed in the
   ridefilecache.
2015-01-01 15:58:17 +00:00
Mark Liversedge
5692d362d0 ConfigChanged Part 1 of 3
.. 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)
2014-12-29 13:41:50 +00:00
Mark Liversedge
98720f099e Use C++ <cmath> not C <math.h>
.. it clashes, and also its deprecated for C++ sources
2014-12-25 20:38:18 +00:00
Mark Liversedge
e08955d599 Fix fencepost in LTM data table
.. seems wrong but is right.
2014-12-25 14:10:12 +00:00
Mark Liversedge
1bb4c3264b Clean unneeded refs to metricDB
.. starting to sunset the code now. Need to sort the sqlModel
   for the ridecache and then it can be retired completely.
2014-12-22 22:39:36 +00:00
Mark Liversedge
5f39c9e226 Migrate LTM DataTable to use RideCache
.. and actually uses the LTMPlot functions to aggregate
   data so should be easier to maintain and also match the
   charts.
2014-12-22 12:03:21 +00:00
Mark Liversedge
8f8e2a63ad Migrate PMC data to Athlete
.. 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.
2014-12-19 16:35:24 +00:00
Mark Liversedge
d1d1d885de Migrate LTM Compare and Bests to use RideCache
.. still PMC fixups to remove SummaryMetrics left

.. Data Table now broken, needs fixing too.
2014-12-18 18:45:35 +00:00
Mark Liversedge
279ec56d13 Migrate LTM TimeofDay Curve to use RideCache
.. picking off the LTM charts piece by piece !
2014-12-18 15:41:12 +00:00
Mark Liversedge
8f034fa5b2 RideCache::refreshUpdate(QDate)
.. updated to now pass the date at which the update has
   got to. So charts on need to refresh if the data they
   need is prior.
2014-12-18 13:57:06 +00:00
Mark Liversedge
40db32a56d LTM refresh during update
.. 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.
2014-12-17 23:45:07 +00:00
Joern
0610575a7c Enable Context Help (Shift+F1) using "QT's - What's This"
... 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
2014-12-14 18:55:42 +01:00
Mark Liversedge
3a1c7309f3 Migrate refreshPDEstimates
.. from MetricAggregator to RideCache

.. will need to wipe out your rideDB.json before
   running to ensure present is set correctly.
2014-12-12 14:56:48 +00:00
Mark Liversedge
22584288ca Ridecace Measures deprecated from SQLite
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.
2014-12-08 16:48:58 +00:00
Claus Assmann
35eb416bd2 Fix comment spelling errors
.. lots of them !
2014-11-24 15:37:56 +00:00
Joern
3fc8bee85f Fix Metric/Imperial - conversion issues
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
2014-11-16 19:20:25 +01:00
Joern
0993739d9c Translation Enablement
... some last tr()s
... translation for new "Chart Titles"
... translation for new "Default Charts"
2014-07-21 21:09:07 +02:00
Mark Liversedge
f0f4f8d3c6 Export LTM Chart Data Option
.. forgot to commit before RC1
2014-07-06 10:37:58 +01:00
Mark Liversedge
0ad73f7567 Fix Estimates on LTM Data Table
Fixes #867
2014-07-04 10:53:15 +01:00
Joern
1cea0b2585 LTM Popup - further enhancements
... 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()
2014-06-22 13:08:44 +02:00
Mark Liversedge
7c7989a803 Fix Average Temperature Issues
.. Don't include -255 in average

.. Don't show -255 in ride navigator

.. Don't show a value on summary if not preset
2014-06-20 12:59:03 +01:00
Mark Liversedge
cf445e87bd Metric Aggregation ::aggregateZero() method
.. 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.
2014-06-20 11:19:55 +01:00
Mark Liversedge
c94b7a5bb2 Add Group By ALL to LTM
.. 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
2014-06-19 10:40:48 +01:00
Mark Liversedge
eb10b2e8d1 Chart Library Part 2 of 3
.. 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).
2014-06-11 17:55:07 +01:00
Mark Liversedge
e70d6c302e Fix crash on apply preset with BESTS data
.. settings.bestresults was not being set
2014-06-10 14:47:14 +01:00
Mark Liversedge
53ad9f898b Fix Preset maintenance in 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
2014-06-10 12:59:47 +01:00
Mark Liversedge
97b1eb4010 Move LTM Preset charts to Athlete class
.. 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
2014-06-10 11:45:56 +01:00
Joern
7222182bf7 Translation Enablement & "seconds"
... 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)
2014-06-08 17:55:24 +02:00
Mark Liversedge
0f1a2bf231 Scrollbars on LTM
.. think that is the last of them.
2014-05-26 20:16:48 +01:00
Mark Liversedge
288f1e8fa8 Temp FIX for SEGV on data table for estimates
.. needs to be fixed pronto.
2014-05-10 23:26:28 +01:00
Mark Liversedge
76caadeeae Introducing GCColor::css() to style HTML
.. wherever we use it, but mostly for the summary
   charts to use the plot marker color. for now.

.. we can get more sophisticated later !
2014-03-27 19:57:08 +00:00
Mark Liversedge
134b976d5f More Charts honouring Colors Preferences
.. 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.
2014-03-11 17:58:41 +00:00
Mark Liversedge
6a43f0ded6 Little More Background Honour
.. updated a few more of the charts to honor the chart
   background property so the chart and chrome are all
   in the color the user specified.
2014-03-10 20:55:45 +00:00
Mark Liversedge
83cb089908 LTM Compare Fixup Tooltip
.. now shows a tooltip on the stack charts so will also
   fix normal mode stacked too.
2014-02-06 16:33:02 +00:00
Mark Liversedge
d213a90324 LTM Compare Fixup Markers
.. 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
2014-02-06 15:52:47 +00:00
Mark Liversedge
7a83da2ee6 Compare mode for LTM
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
2014-02-05 20:40:24 +00:00
Mark Liversedge
16eb9637fe LTM Stack Zoom Slider
.. to adjust the size of the charts in stack mode.
2014-02-03 19:04:12 +00:00
Mark Liversedge
6f0b7901df LTM Stack refresh on first click of 'show stack' 2014-02-03 18:07:00 +00:00
Mark Liversedge
8b5bcd0902 LTM Stack Plot Mode
.. 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.
2014-02-03 16:23:47 +00:00
Mark Liversedge
f8145fd66a LTM Data Table headings fixup
.. 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').
2014-02-03 11:42:05 +00:00
Mark Liversedge
ecaacca5b3 LTM Data Table Fixups
.. fix PMC SEGV
.. fix for summary of NO data

Will now skip all zero values when summarising
by day, but not for week, month or year.

Fixes #782
2014-02-01 21:50:04 +00:00
Mark Liversedge
ca2536b017 LTM Data Table Fixups
.. lots of crashes fixed

.. AVOID data table for PMC for now as they are a mess and
   will fix tomorrow night
2014-01-30 00:03:21 +00:00