Commit Graph

44 Commits

Author SHA1 Message Date
Mark Liversedge
87f0729d43 Revert RideMetric::imperialPrecision()
.. introduced within bae36e6b
2015-02-09 22:07:29 +00:00
Damien
7ce398a251 Garmin Cycling Dynamics : Switch on Power Phase 2015-01-06 18:44:27 +01:00
Damien
bae36e6b2a BasicRideMetrics: Add metrics for Garmin Cycling Dynamics - part 1 (Avg) 2015-01-05 23:00:44 +01:00
Damien
5284447498 FitRideFile: Add new FIT fields
Especially for Vectors new metrics
	- Left and Righ Platform Center Offset - eg: -8mm and -11mm
	- Left and Right Top dead Center  - eg: 10° and 11°
	- Left and Right Bottom dead Center  - eg: 203° and 210°
	- Left and Right Peak Power Phase Start - eg: 83° and 76°
	- Left and Right Peak Power Phase End - eg: 115° and 125°
2015-01-05 08:01:33 +01: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
eb3b245dab Remove old references to SummaryMetrics
.. cleaning up from last few commits.
2014-12-18 19:10:47 +00:00
Mark Liversedge
e7ef34a122 Retire getAggregated + getBests
.. from SummaryMetrics
2014-12-18 14:22:36 +00:00
Mark Liversedge
8a462b43fe Migrate RideSummary (Compare) to use RideCache
.. ride summary window is now free of metricDB

PHEW!
2014-12-17 18:36:49 +00:00
Mark Liversedge
656e8f9363 Measures code cleanup
.. 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.
2014-12-12 10:59:45 +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
Mark Liversedge
f4d902dcbb Add Garmin Running Dynamics Data
.. read from FIT/TCX
.. write to JSON
.. view in Editor

NOTE: They are not on any of the charts yet.
2014-09-25 14:31:06 +01:00
Mark Liversedge
b1d4bd1239 Change 'Classic' theme
.. it needed color selections that worked better on
   a light background
2014-06-30 20:08:32 +01:00
Joern
21f30cb14e Compare Pane - treatment of duration & problem when adding new metrics
... treat both Time & Duration equally (don't use QTime->toString), but
convert into seconds (since duration can be above 23:59:59 - especially
in Trends view
... table widget looses columns when dynamically adding columns in
Options->Metrics (fixed by setting columnCount to (0) first before
defining the new number of columns)
2014-06-30 12:56:03 +02:00
Joern
5eba402166 Compare Pane - sorting improvements
... when sorting first and adding new items, table data is partly empty
and when you next click on item GC dumps (fixed by de-activating the
sorting while refreshing the QTableWidget)
... date fields did not sort due to different formats strings used in
"toString" and "fromString" conversion / added info to translators
... duration and time fields did sometimes not sort (dependent on
time/duration having hours or not)
2014-06-29 18:48:41 +02:00
Joern
fd61805bd7 Bikescore (TM) unique Handling (Part 2)
... have the same consistent handling for (TM) at all visible places
... do not allow Translation of BikeScore (since it's a TM and might
cause unexpected behavior)
... Have (TM) sign everwhere visible - only in Searches just use
"BikeScore" as Symbol
2014-06-11 18:55:23 +02:00
Mark Liversedge
87504f3062 Fix ComparePane quickfire drag and drop crash 2014-06-09 21:42:50 +01:00
Mark Liversedge
334d46bf61 Compare Pane Table better color support
.. headings color and remove frame
2014-06-08 19:22:31 +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
Joern
21b6b4993a Translation Enablement & consider "seconds" translation
... multiple tr() added for Intervals. Compare Pane
... in Compare Pane - in time metrics check for both "seconds" and
translated tr(seconds) (following the concept for time as at most other
places where units == "seconds" are checked

(cherry picked from commit 6c78b00b65a1d794eb99038f21d6e705d119d29e)
2014-06-07 19:52:24 +02:00
Mark Liversedge
3479d19d4f Fixup Compare to Use RideFile(Ride*)
.. to get CP and Weight tags etc
2014-05-21 13:17:03 +01:00
Damien
84928380bd Add hemoglobin SmO2% and tHb data series (Moxy) 2014-04-19 09:22:06 +02:00
Mark Liversedge
ffb7907376 Compare Pane honours color prefs 2014-04-16 17:39:45 +01:00
Mark Liversedge
cc70788085 Add Vector/Rotor TE and PS data series
.. Added the torque effectiveness and pedal smoothness
   data series to the RideFile structures.

.. The only file formats that support it at this stage
   are Fit and  GoldenCheetah JSON.

.. As more file formats support it we will add it here.

.. The charts/editor now need to be updated to support
   these new data series.
2014-04-11 13:46:10 +01:00
Mark Liversedge
358a3511f1 Replace Tabbar with a Scopebar
.. Only tested on Linux

.. Now going to check on Mac and Qt5

.. Also does not yet support re-ordering tabs
   nor scrolling when there are too many to show.
   This will come in future updates.
2014-03-08 11:36:05 +00:00
Mark Liversedge
92e7d6090b Compare RideFileCache Optimisation
.. need to only create when needed and also need to
   delete when done.
2014-01-17 11:42:34 +00:00
Mark Liversedge
0076a4c68e Compare Pane Don't Add Metrics already there
.. distance and duration are default metrics on the
   summary, so we need to make sure we don't double
   up on the compare pane.
2014-01-17 10:30:05 +00:00
Mark Liversedge
a98212d093 CompareInterval ridefilecache
When an interval is added to the compare pane we now
compute the RideFileCache so it can be re-used in the
Histogram and CP charts without computing it each time.
2014-01-14 21:35:01 +00:00
Mark Liversedge
6ebfe79c73 UI Nits: Colorblind
.. tweaked color sequencing in compare to avoid using
   red/green as it should be avoided -- red/green color
   blindness is relatively common.

.. this is just a hack in the absence of a good algorithm
   to generate distinct hues automatically.
2014-01-06 14:02:24 +00:00
Mark Liversedge
530c12435f Sneak in for dev builds
.. full plot controls always visible in compare mode.
2014-01-05 18:03:46 +00:00
Mark Liversedge
00645d6381 Fixup ComparePane to derive xPower, NP et al
.. so they can be plotted alongside other data
   series in each chart.
2014-01-03 16:43:50 +00:00
Mark Liversedge
df15888b0b AllPlot Compare Mode
.. extending the interval compare to the allplot chart.
2014-01-03 14:59:20 +00:00
Mark Liversedge
863415ba26 Fix compare pane sorting
.. sorts according to the expected format for each column
   but if in doubt assumes its numeric
2013-12-30 21:15:47 +00:00
Mark Liversedge
74e7c44c55 Handle Compare Pane Sort
.. if the user sorts the compare pane contents by clicking
   the header the order they are stored is changed too.

NOTE: The table sort is broken since it is alpha not numeric!
      This needs to be fixed too.
2013-12-30 20:00:38 +00:00
Mark Liversedge
38a59badf7 RideSummary Honours CheckBoxes
.. if intervals or date ranges are not checked in the
   compare pane then we shouldn't summarise them

.. also fixed up compare pane so first entry ie. what we
   are comparing to is always checked.
2013-12-30 19:06:33 +00:00
Mark Liversedge
b6885ae979 Fix SEGV on date range compare pane
.. when click color or checkbox for a season.
2013-12-29 17:04:46 +00:00
Mark Liversedge
bd37801225 DateRange Compare Pane
.. now can drag and drop any date range onto the
   home view compare pane to compatre different
   seasons, and even across athletes.

.. we setup the metrics and measures in the context
   so the charts don't have to, but we still need to
   reference the source context for bests and ridefilecache
   data

NOTE: We need a mechanism for 'locking' source tabs/athletes
      when they are part of a compare to avoid crashing when
      a context is deleted whilst we are comparing

NOTE: We till need a way to remove entries from the compare
      pane, possibly call it when an athlete is closed too
      (see note above).
2013-12-29 13:00:46 +00:00
Mark Liversedge
b0a0d7bb17 ComparePane Qt5 fixups 2013-12-28 23:17:17 +00:00
Mark Liversedge
8afa57cc39 UI Nits: Interval Compare Pane
.. on Mac tidied up and also fixed up the way the
   table is resized to contents -- to do it AFTER
   the contents are set (!)
2013-12-28 22:11:21 +00:00
Mark Liversedge
508e4afa68 Interval Compare Pane
Now allows you to add intervals and select them and
change colors they will use.

It will maintain the data as a CompareInterval which
also includes a RideFile representation of the interval.
This is stored in Context in a QList as compareIntervals
and can therefore be re-used across all charts.

We now need to think about putting some widgets onto the
Compare 'bar' for turning compare mode on and off and
deleting / reordering / clearing items.
2013-12-28 21:24:52 +00:00
Mark Liversedge
95b993617a Drag onto athlete tab to switch tabs
.. this allows us to drag and drop between athletes or
   to switch athlete if dropping from outside of GC.

.. also added context to the mime data so the compare pane
   will know where the dragged object has come from (ie. it
   may be from a different athlete).
2013-12-28 10:58:32 +00:00
Mark Liversedge
b03c10e6fd ComparePane: setDropAction on drop event
.. so it can be accepted and the data is not wiped
   or removed in the source treewidget.
2013-12-28 08:21:51 +00:00
Mark Liversedge
8257a9c6e8 Fixup Compare Drag-N-Drop
We have two new mime data types;

application/x-gc-intervals
application/x-gc-seasons

With packing routines into QMimeData declared
in IntervalTreeView and SeasonTreeView.

To get around an issue with overwrite mode on
drag and drop from the seasons / interval trees
we DO NOT ACCEPT the drop (even though we do
actually process the data).

All we need to do now is unpack the QMimeData in
ComparePane and then add the GUI elements to it etc.
2013-12-24 11:48:19 +00:00
Mark Liversedge
6e304cd0d4 Compare Pane Mechanics
.. compare pane now appears and disappears on both
   the analysis view and home view

.. it also is notified of drag/drop events and can
   accept the objects dropped

.. it is now time to write the widget for collecting
   and managing compare sets
2013-12-01 10:28:27 +00:00
Mark Liversedge
e7afcbb028 Basic Compare Pane Hide/Show
.. just committing before adding animation and the compare pane content.
2013-11-28 21:07:43 +01:00