Commit Graph

70 Commits

Author SHA1 Message Date
Mark Liversedge
4dc94b97b2 Athlete Bests on Summary
Configurable metrics to show top 10 bests for date
range selected.
2013-11-16 21:01:01 +00:00
Mark Liversedge
393fe9f0e7 Average aPower
Added an average aPower metric.

I also and found and fixed a couple of bugs along the way;

* intervals create a ridefile and need to explicitly call
  recalculateDerivedMetrics()

* the aPower calculation was using the calculated vo2max
  percentage the wrong way around (!)
2013-11-05 20:06:09 +00:00
Mark Liversedge
444a915705 Interval Summary Off By 1 Error
Intervals are off by 1 sample because when the temporary
ride is created it stops short of the last sample in both
the ride and interval summary window code.

Fixes #623.
2013-10-29 15:31:29 +00:00
Mark Liversedge
a2a962120c A lot less assert
There still some assert left in the code, but removed
a fair number of the examples where, its just as easy
to handle the condition gracefully, without crashing.

By 3.1 we will have eradicated assert from the code.
2013-08-04 11:06:07 +01:00
Mark Liversedge
0a51fdebb5 Move filters from MainWindow to Context
.. we notify search/filter updates via context rather
   than MainWindow
2013-07-27 13:51:09 +01:00
Mark Liversedge
d21ca376be MainWindow Refactor Part 3 of 5
Slowly migrating code  and data from the MainWindow
class to Athlete and Context classes.

This update moves the ride and interval lists and
data structures from MainWindow to Athlete.
2013-07-13 19:46:03 +01:00
Mark Liversedge
05f1d577db Refactor MainWindow Part 2 of 5
Decoupled classes from MainWindow to reference Context
and Athlete (and introduced a couple of new headers).

We no longer pass around a MainWindow pointer to children
but pass a context instead.

There are still a few pieces left in MainWindow that need
to move to a better place;
    * Setting/clearing filter selection
    * Working with Intervals
    * Adding/Deleting Rides
    * Save on Exit

As mentioned previously there are lots of other parts to
this refactor left to do;
    * break MainWindow Gui elements into Toolbar and Views

    * migrate from RideItem and Ridelist to ActivityCollection
      and Activity classes that are not tied into gui elements.

    * introduce Application Context and AthleteCollection
2013-07-11 14:02:02 +01:00
Mark Liversedge
e407237ac0 MainWindow Refactor Part 1 of 5
Breaking the MainWindow 'god object' into
separate classes for Athlete and Context.

Further updates will need to;
- break MainWindow Gui elements into Toolbar and Views

- migrate from RideItem and Ridelist to ActivityCollection
  and Activity classes that are not tied into gui elements.

- introduce Application Context and AthleteCollection

Once these are done we will be in a position to decouple
most classes from mainwindow and also introduce tabbed
athletes.
2013-07-07 15:50:28 +01:00
Mark Liversedge
196250ec56 Intervals indexes crash / parser error
2 bugs:
- interval offset of -1 causes a crash in htmlSummary
- interval offset of form nnn e+0n parses incorrectly

Also remove silly -wreorder warning in ridefile.h
2013-06-23 16:52:58 +01:00
Mark Liversedge
47d5614f35 Fix delete ride SEGV
Ridesummarywindow was using rideitem to get zones to use when
summarising for a date range which was bad because a) the ride
might not be for the date range selected and b) it might have
been deleted.

This fixes that and means we get a summary that is more accurate
and no crashing when rides are deleted.
2013-05-30 21:11:24 +01:00
Mark Liversedge
894cbcc4e7 Fix first file SEGV
If you delete and readd an activity after showing it on
the diary view you get a SEGV.

This is an edge case related to deleting the last activity
and going back to the blank state before importing another.

Actually there are 3 technical issues;

1. GcCalendar doesn't get notified by MainWindow when
   there are no rides -- so it crashes on refresh

2. RideSummaryWindow doesn't get notified by home window
   if its not visible

3. RideSummaryWindow should check rideItem isn't NULL before
   trying to plot zones (but only for date range summaries)

Fixes #622
2013-05-30 19:31:26 +01:00
Mark Liversedge
bea0b1a7d1 Fix WPK interval metric crash
.. recent update to use getWeight() in the ride file
caused a SEGV as interval metric computation is done
on the fly against a 'manufactured' ride file.

.. That ridefile doesn't have a mainwindow reference in
it, so when getWeight() references mainwindow->metricDB
a SEGV occurred.
2013-05-22 18:50:49 +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
396717135a Fix filtering on ridesummary window
.. to apply to the list of activities too.

Fixes #556.
2013-04-05 08:38:54 +01:00
Mark Liversedge
cc345f7f81 CLucene is optional!
.. and link with -lclucene-core not -lclucene

Fixes #543.
2013-04-01 17:56:00 +01:00
Mark Liversedge
85ef4e24c4 RideSummary summarise Activities
When summarising a date range we now list the rides
where on a ride summary it would list intervals.

Fixes #542.
2013-04-01 11:54:33 +01:00
Mark Liversedge
b1db3dbe93 DataFilters: Summary should have a filter
Missed off by accident when filtering was added.

Fixes #536.
2013-03-30 09:54:58 +00:00
Mark Liversedge
d341943da9 Code Cleanup: Ride Data and Friends
.. cleaning XXX and misleading comments
2013-02-10 10:57:33 +00:00
Mark Liversedge
82ecce3af6 BlankState: Analysis view more blanks
- Better handling of a NULL ride for most of the analysis charts
- Don't show activity editor if no data rows to edit
2013-02-06 11:48:52 +00:00
Mark Liversedge
b250d663b0 UseThruToday: Summary 2013-01-14 09:58:34 +00:00
Mark Liversedge
34eb963213 Show Pace in Summary as mm:ss
Fixes #423
2013-01-05 15:00:06 +00:00
Mark Liversedge
8b2a04b52b Chart Dates: Part 3c of 3
Added chart date selection to the Summary chart.
Still need to add this to;
        - Histogram
2013-01-05 10:49:00 +00:00
Mark Liversedge
19a390362a Fix Ridesummary SEGV 2012-12-08 14:13:30 +00:00
Alejandro Martinez
d9dd24cb72 Enable translations in RideSummary
Includes default zone descriptions
2012-12-06 19:19:18 -03: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
b6b3f5dd39 Bugfix duplicate temp on summary
Making the column list a static array was a bad
idea since we append to it every time we summarise
a ride with temperature!

Fixes #344.
2012-11-13 18:23:49 +00:00
Mark Liversedge
d22777ed74 UI Nits: Daily/Weekly/Monthly Summary
You can now add the summary chart to the diary
view to get a summary of the date range currently
being summarised on that view.

Once the Home view has its own sidebar that selects
date ranges you will be able to add it there too
and summarise seasons etc.
2012-11-13 13:27:36 +00:00
Damien
d51cb951ce Add Left/Right Power Support
Add Left/Right Power Balance for FIT and Polar HRM parsers
 Add Left/Right Balance metric
 Add Left/Right series to Ride Chart

Fixes #711.
2012-08-19 13:57:24 +01:00
Mark Liversedge
eb1becdfee Fix precision error for Temp in Summary 2012-01-15 16:58:04 +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
Damien
62c4d4f3a6 Remove Joule warings
Remove warnings for new format identifiers in the last Joule firmware
 Correct a small bug in the summary view for average metrics refresh.

 Fixes #524.
2012-01-13 22:57:54 +00:00
Damien Grauser
70c8f0223c Add Temperature and Slope Data Series
This patch adds support for temperature and slope
across the ridefile readers.

For the most part their is no functional change
although it is now possible to view and edit these
data series in the editor.

File formats that can provide temp or slope include;
.bin, .fit, .srm, .sync, .wko

Further updates will be required to display the data
in the ride plot and histograms.
2011-12-03 23:17:11 +00:00
Mark Liversedge
5ac546c827 Minor fixups for RideSummaryWindow
Checking for blank values for metricColumns, and
intialising to default if no columns are selected.

Attempt to resolve bug report 445.
2011-09-27 12:47:16 +01:00
Mark Liversedge
b2fb4b40ed Fix possible SEGV in RideSummaryWindow
Added logic to trap for NULL RideMetricPtr. Shouldn't
occur but trap all the same.
2011-09-10 14:18:34 +01:00
Mark Liversedge
9160501815 Fix RideSummaryWindow crash
Fixups for QStringList introduced a new bug
by referencing Time In Zones for HR zones
9 and 10, when in fact they do not go any
higher that 8.

They also were not computed because the
worklist used was updated to include any
HR metrics when the ride is dirty (e.g.
when selecting intervals on ride plot or
updating the metrics within metadata).
2011-09-09 19:10:23 +01:00
Mark Liversedge
ade6c618c6 Convert RideSummary to use QStringList
Original code had a bunch of char[] and we have
experienced problems with libc on Windows with
char array allocation in the past.

Since we have QStringList (which is threadsafe)
available to use then we should!

This may correct bug report 445. Will wait for
feedback before closing it.
2011-09-05 16:36:41 +01:00
Mark Liversedge
2b45677971 Fix Summary SEGV no summary metrics and dirty file
If you clear all summary metrics and update the activity
ride summary will crash looking up a metric with name
"" which does not exist.

Fixes #449.
2011-09-05 16:03:00 +01:00
Mark Liversedge
9a097980c1 Maximum Max replace in RideSummaryWindow 2011-09-01 19:50:22 +01:00
Damien
1d3193375f Add a Maximums column in the ride summary
Add maximums to the ride summary, which also required adding
max_speed and max_cadence to the basic ride metrics.

Fixes #440.
2011-09-01 19:08:53 +01:00
Mark Liversedge
f3ebe6a93d Fix HR Zone summary bug
When you do not have a CP/Zones setup for power
the ride summary does not show the HR zone summary.

Fixes #427.
2011-08-23 11:35:54 +01:00
Mark Liversedge
987e5457c1 Fix SummaryWindow crash
When a large number of intervals are defined (>50 or so)
then the RideSummary window crashes.

It appears to be a bug in QTextEdit. It does a double free
when setHtml is called, after a 'large' text item was
set. It may be a QString bug.

To avoid the issue we use a QWebView instead of a QTextEdit
to display the summary and then try and set fonts to match
the application.

Fixes #299.
2011-08-05 14:30:25 +01:00
Damien
027dacb601 Add summary metrics list to preferences
Commit 05346 cherry-picked from master and merged into release_3.0.0dev.
2011-07-23 19:11:26 +01:00
Mark Liversedge
1fc88c9909 Summary Window Title
Summary window and friends now set the window title (subtitle)
to the ride date and the headings have been made slightly
smaller to reduce screen real estate. Minor cosmetic update.
2011-07-23 10:55:51 +01:00
Mark Liversedge
56bcc67a0a Simplify and Clean UI
Less jarring UI with simple use of color and
no pixmaps to make a clean look. Will need
more work to get consistent across the code
base.

A simple and clean UI is starting to emerge.
2011-06-01 21:46:31 +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
8698aaa76b Reintroduce Heartrate Zone Summary on RideSummary Window
The refactoring of the summary window to use metricDB and the
introduction of HR zone config in options removed (temporarily)
the table on ride summary.

This patch re-introduces it.
2011-04-09 14:08:28 +01: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
d483445291 Too many TRIMP metrics on Summary
This patch removes the additional TRIMP metrics
on the ride summary, plain old TRIMP points are
shown but not the zonal and 100 versions.
2010-11-06 08:25:39 +00:00