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
.. 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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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
And pay attention to MainWindow::activeTab, such that only the active
tab redraws itself when changing rides. This change really increases
GC's responsiveness when scrolling through the ride list.
Added a headwind data field, which is available when using
an iAero head unit, to dramatically improve the calculation
of Chung analysis for users of more recent iAero devices.
All other data files than the iAero have the headwind term set to
zero when they append a point.
There is a possibility that ride metrics may become unavailable yet
remain requested by QSettings (stored in
~/Library/Preferences/org.goldencheetah.GoldenCheetah.plist on OS X).
This patch ignores any metrics listed in the preferences yet are not
supported by the running version of Golden Cheetah.
This commit adds a page to the config dialog in which the user can choose
which metrics GC will show for intervals. The GUI design could use some work,
but the functionality is there. All implemented metrics are available to
choose, and choices are saved across restarts.