Commit Graph

50 Commits

Author SHA1 Message Date
Alejandro Martinez
b28ef13b3c Use Distance as a PMC metric
Fixes #570
2013-04-14 18:10:12 -03:00
Mark Liversedge
edb93e96e0 Use Work as a PMC metric
.. twas very trivial to add.

Fixes #564.
2013-04-11 19:39:35 +01:00
Mark Liversedge
1d0c8c5ae8 Deprecate the old INITIAL[SL]TS settings
Since you can no longer edit them but they were
still being used by stress calculator to seed initial
Short Term and Long Term Stress.
2013-04-09 14:35:31 +01:00
Mark Liversedge
01c4b436e6 Search/Filter on toolbar applies to Charts
When the user free text searches or applies a data filter in
the top right toolbar search box it gets applied to any charts
that plot data from many rides, including;

- CP curve
- Calendar
- Histogram
- LTM
- TreeMap
- Summary

I need to update on a Mac to no longer use a Mac text search box
but now use a search filter box on the top right.
2013-04-05 16:23:16 +01:00
Mark Liversedge
5c3a662b29 LTM: Add fill curves option
.. so you can fill below the curve.
.. also added a 'version' field for the file format for metric
   details, so we can add more fields later.
2013-03-16 11:17:09 +00:00
Mark Liversedge
3739d3e734 LTM tooltip for groupby weeks is misleading
.. it lists start date for this week to start date for next week
.. now changed to say 'Week commencing <date>'.

Fixes #501.
2013-03-08 12:50:42 +00:00
Mark Liversedge
d385657f29 LTMPlot fix baseline setting
.. it was lost when fixing bar style drawing.
.. maybe we should also allow fill under curves?
2013-03-02 09:26:11 +00:00
Mark Liversedge
b6ea47808f UI Nits: Less vibrant gradients
.. go back to more GC-like color defaults, which became a little
too vibrant in a recent update to introduce linear gradients to
the CP, Histogram and LTM plots.
2013-02-23 16:34:09 +00:00
Mark Liversedge
e191b46205 Code Cleaning: LTM sources
Addressing or removing 'XXX' code alerts across the Long Term
Metrics source files.

This is part of a code cleanup prior to V3.0 release.
2013-02-07 12:04:44 +00:00
Mark Liversedge
92df1ce694 Add reveal controls to LTM chart
Allows user to quickly change the settings for
- group by (week, month, year etc)
- shading (power / hr zones)
- show events (chart markers)
2013-02-05 13:23:23 +00:00
Mark Liversedge
570c9af752 LTM Show Events Checkbox
Adds a checkbox to the LTM plot to enable and
disable the plot markers for season and events.
2013-02-04 12:51:30 +00:00
Damien
5963feea94 Translation update
Use metric symbol insteed of name for summary metric data
2013-02-03 21:55:05 +01:00
Mark Liversedge
72c921cf13 fix compiler warning in LTMPlot
.. about unused variable 'middle'.
2013-01-16 19:19:42 +00:00
Mark Liversedge
c8c56a271d UI Nits: LTMPlot remove old markers
.. when there is nothing to plot between the
date ranges selected.
2013-01-16 19:08:30 +00:00
Alejandro Martinez
f46952bee2 Translate axis labels LTMPlot
Fixes #29
2012-12-29 10:27:32 -03:00
Andy Bryson
53391f76fc Remove Boost Dependency - The Easy Bits
Replace boost stuff with QT or C++ equivalents
2012-12-27 17:04:36 +00:00
Mark Liversedge
cf23bd2e89 LTMPlot linear gradient was upside down 2012-12-22 11:12:27 +00:00
Mark Liversedge
cdf50ff56c UI Polish: Bit more linear gradient
Add s subtle linear gradient to the bars on the
LTMPlot.
2012-12-22 00:00:25 +00:00
Mark Liversedge
2ac13f3867 Fix user units lost in translation
LTMPlot translation lost the user defined units
which made the default PMC (amongst others) look
odd since each data series used a different axis.
2012-12-20 14:07:08 +00:00
Mark Liversedge
6abbda2f89 Merge pull request #378 from amtriathlon/home
Enable HomeWindow Translations
2012-12-16 14:08:48 -08:00
Alejandro Martinez
5b7131b283 Translate metrics names and units 2012-12-16 18:41:23 -03:00
Damien
6ed7585eec Remove some warnings 2012-12-15 17:18:44 +01:00
Alejandro Martinez
1a56d01fef Enable LTM Translations
Includes translation of default chart names, these
should be in sync with those defined in charts.xml
2012-12-07 21:04:21 -03:00
Mark Liversedge
805de260ac Merge pull request #368 from amtriathlon/metadata
Enable Metadata translation
2012-12-04 23:07:19 -08:00
Alejandro Martinez
c0372290d7 Enable Metadata translation
This patch keeps the original english name of SpecialFields and SpecialTabs
as internalName, to preserve compatibility, while it uses a translated
displayName for user interfase in other languages.
2012-12-04 22:00:59 -03:00
Damien
cc8863130d Add label for seasons with same start date 2012-12-04 23:18:50 +01:00
Mark Liversedge
b1e25f351d Events on LTM work for different group by
The last patch to show events on the LTM chart only
worked when grouping by weeks. This is because the
groupby x dimension is baselined to the starting date;
i.e. groups always start from 0.

This patch fixes displaying events when grouping by
days, months or years.
2012-11-29 17:38:47 +00:00
Mark Liversedge
f24c57e658 I Nits: LTM Sidebar (Part 3 of 3)
Events are now maintainable in the sidebar and this
update now plots them on the LTM plot.

Events and season markers are shown so long as they
fall within the chosen date range.
2012-11-29 16:24:15 +00:00
Damien
8eee2ddb25 Choose Metric/Imperial units in New Athlete dialog
fixes #34
2012-11-26 23:35:35 +01:00
Mark Liversedge
2dea77e1ae UI Nits: LTM Sidebar (Part 1 of 3)
We now have a date range selector in the sidebar.  The
sidebar has a date range selector and summary. It is
used to set the date range for the charts in the view.

As a result we can now add summary charts to the home view
and LTM/CP/Histogram charts to the Diary view. The weekly
summary chart is now deprecated.

Creating seasons has also been disabled on metric charts. We
will need to decide what clicking on an LTM chart should do,
and look at whether we want to keep the popup bubble or
adjust it.

There are some unfortunate performance degradations as a result
of this patch when selecting date ranges and switching between
charts in tab view. This needs to be addressed as a priority.

Follow up patches, part 2 and 3 will need to;
1. address performance degradations & cache results
2. introduce events in sidebar and as annotations on charts
3. implement click functionality on LTM charts (annotate vs
  define a new season/range)

NOTE: existing HOME, ANALYSIS and DIARY chart setups will need
      to be rebuilt since chart ids and properties have changed
      in this patch -- do not raise a bug until you have deleted
      and re-added the offending chart.
2012-11-26 20:20:36 +00:00
Mark Liversedge
d0b009c922 Data Filter (Part 3 of 3)
Last part of the search/filter functionality;

* SearchBox now incorporates filter and search
  with a new widget. We can update this widget
  to include more fancy UI/Interactions without
  having to change the ride list or charts etc.

* Added search/filter widget to the relevant charts
  and screens; Metrics, TreeMap, CP, Histogram,
  Activity Log, Ride list (refactored out of MainWindow)

* Added namedsearches.xml and adding/selecting them
  from a drop down menu on the search box.

* Fixed some performance bugs related to duplicate
  signals and redraw/reprocessing. Also ensured that
  CLucene remains optional -- but means no search or
  filter functionality unless it is available.
2012-11-05 15:44:01 +00:00
Damien
c44758c5ad Qwt 6.0.1 Support
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.
2012-02-12 10:43:15 +00:00
Mark Liversedge
58e670e2c3 Add Temperature to Ride Summary
More complex than I had hoped for, to add
Temperature I needed to;

* introduce two new metrics Avg/Max temperature
* adjust metric conversion to include a conversionSum
  for the C to F conversion
* handle temperature as a metadata field as well as a
  ride data series
* handle the RideFile::noTemp value rather than just
  averaging or calculating max.

Fixes #603.
2012-01-15 16:27:09 +00:00
Mark Liversedge
82fbbfe1c8 Fix Metric Chart Fencepost Bug
The patch to support stacked charts inadvertently
broke the other chart types by adjusting 'count'
but at a different level of scope. This caused the
other styles to miss the last nth value. So, if
there is only 1 value in the date range you would
not see any data (for example).

The LTMPlot code is now getting a bit hairy, it is
almost an application in itself. Consider refactoring
in a later release.
2011-08-07 14:31:34 +01:00
Mark Liversedge
8f42f84db1 Fix LTM plot to always bin in Mon-Sun weeks
Fixes #120.
2011-08-05 12:06:37 +01:00
Mark Liversedge
4ab96e16d1 Sidebar, Ride List and Aeshetics
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.
2011-06-01 16:34:24 +01:00
Mark Liversedge
a48f7c00d1 Clean compile time nits
Lots of nitty fixups, largely for uninitialised temporary
variables.

I have left the use of boost::function and boost::bind in the
DownloadRideDialog alone, so it will vomit when compiled
with boost 1.46 and gcc 4.5 or higher. Will look into this
more carefully at a later stage.

I am working up to resolving issues identified from -pedantic next.
2011-05-12 22:12:36 +01:00
Mark Liversedge
519f5fcc5e Improved Season Support
This fixes issues with date range editing in the Metrics controls
and provides support for Season load planning (under development).

Creating and selecting seasons is largely managed within the
Metrics tool. This has not been changed with this patch. Athlete
seasons are now managed as a member of the MainWindow class (although
this will move to an Athlete/Cyclist class when MainWindow is
refactored).

A Season identifier (UUID) has been introduced to enable Seasons to
be referenced independently of their name or date ranges. The LTM
tool now keeps track of changes to Seasons (when new seasons are
created, changed, deleted). Additionally, the Season XML file now
supports storage of a Season Load Plan.
2011-02-05 12:46:54 +00:00
Mark Liversedge
edc8b412bb Tidy up bar chart in metrics
Simple, but oh my, what a difference. This two line
patch removes the nasty line artefacts on a bar chart.
Those are the lines that get 'left behind' when a bar
is drawn next to another one.
2011-01-04 20:10:21 +00:00
Mark Liversedge
1db39c5536 Fix homewindow bugs
Fixes;
- drag and drop ride works again
- segv on an empty measures curve in metric plot
- remembers all LTMsettings
- further cosmetic/visual tweaks
2011-01-02 13:14:34 +00:00
Mark Liversedge
3aba7dd788 Inital V3 Branch 2010-12-30 17:35:23 +00:00
Mark Liversedge
66d32bbebf tweak LTM bar chart gaps. 2010-11-29 10:42:16 +00:00
Mark Liversedge
7f55855f2d Plot bars side-by-side on Metric charts
This patch plots bars next to each other, rather than overlaying
them making the data much easier to interpret. The code is inspired
from Robert Carlsen's weekly summary.

The "transparency" for the bar colors has been adjusted to make
the coloring more vobrant since we no longer need to 'see through'
bars to see what is underneath.
2010-11-29 10:08:06 +00:00
Mark Liversedge
72604b6cb3 Prettify Bar Charts in LTM
The bar charts on the metrics tab are a bit on the
quirky side. This is an artefact of the qwt library's
lack of a bar chart style.

This patch adopts the same approach used in weekly
summary charts and the histogram 'by zone' plots.

Fixes #185.
2010-11-09 19:53:02 +00:00
Damien GRAUSER
830e4efd3d HR Zones and TRIMP Metrics
This patch introduces new functionality for working with
Heartrate based data.

* HR Zones can be defined, from Resting, Maximum and Lactate HR
* TRIMP metrics are calculated; TRIMP, TRIMP100 and Zonal TRIMP
* TRIMP metrics can be used to drive the PMC
* Time In Zone metrics for HR have been added
* Histogram window will now work with Power/HR zones
* User Settings have been added to record gender, weight and others
* RideFile has a new tag "Athlete" which is set to the athlete name

Fixes #140
2010-10-31 18:08:48 +00:00
Mark Liversedge
c4f82e19b6 Better Zones Configuration Page
The zone ranges configuration page caused a SEGV when deleting the
last zone. On inspection the zone configuration needed to be
revised since the UI was confusing and didn't allow fine grained
user editing (relying upon manual editing of the power.zones file).

The UI has been redesigned and fine grained editing of ranges, zones
and default zones is now supported.

The Zones class has been slightly modified to support the new UI and
existing members are better commented. In addition, the read/write
functions have been updated to always include the DEFAULTS section and
to set defaults according to manual zone setups when it is not present
(legacy support).

There are now 10 TimeInZone metrics to match the maximum of 10 zones
the user can define.

Fixes #78.

Fixes #34.
2010-06-06 18:36:50 -07:00
Mark Liversedge
38df7c28bd User Configurable Colors
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.
2010-04-01 10:29:13 -04:00
Mark Liversedge
778d651f00 User Configurable Metadata
User configurable data entry for recording information about
each workout.

FEATURES:
* Config UI for defining tabs and fields to maintain
* Config UI for defining keywords and colors
* Data maintenance UI on RideSummaryWindow
* "Special" Metadata fields are related to current variables
* Read/Write new fields/metric overrides via GcRideFile
* Metadata extraction in WKO files
* Calendar uses keyword and color config
* Numeric metadata is plottable on the Metric charts
*Metric refresh has been optimised
2010-04-01 10:29:13 -04:00
Mark Liversedge
f8ab4b03dc Honour metric precision in LTM
The metrics plot did not honour the metric precision setting
when displaying a hover tooltip. This resulted in BikeScore and
other values being rounded inappropriately and inconsistently.

This patch utilises the metric->precision() setting and displays
values consistently when compared to the ride summary. In addition,
the precision for LTS/STS on the LTM PM has been set to 1 decimal
place where previously it was zero.

fixes #50
2010-03-21 08:39:14 -07:00
Mark Liversedge
7bb9cf5462 Long Term Metrics
A user configurable chart for showing ride metrics and
other calculated values over time.

* Uses SQLITE database to store metrics
* Supports any metric available from the metric factory
* Adds new MaxHr, VI, Peak Power and Time In Zone metric
* Also includes LTS/STS/SB for PM charting
* Aggregates in days, weeks, months or years
* Reads and Updates seasons.xml
* Adds cycles and adhoc date ranges in seasons.xml
* Date ranges can be selected on the plot with shift-left click
* Allows users to customise preferences for color, symbols et al
* Allows user to customise metric names and unit names
* Supports smooth curves and topN highlighting
* Has a linear regress trend line function
* Allows users to save charts to charts.xml
* A default charts.xml is built-in
* A chart manager to import/export/rename/delete charts etc
* Provides a tooltip to provide basic datapoint information
* Performance Manager adjusted to use the MetricDB
* User configurable setting for SB calculation (today/tomorrow)
2010-02-25 08:01:43 -08:00