Commit Graph

87 Commits

Author SHA1 Message Date
Mark Liversedge
d8063d4980 Add W'bal Time In Zone (3a of 3c)
.. add W'bal distribution to Histogram
   - for a ride
   - for a date range
   - for a compared ride
   - for a compared date range

.. still need to revisit to do in zones (3b)

.. still need to update ridesummary to show
   summary of w'bal zone distribution (3c)
2015-06-15 10:43:28 +01:00
Mark Liversedge
100c0be881 Auto Interval Discovery (Part 2 of 3)
In this part we have updated all the charts to reference
the RideItem::intervals() members instead of the TreeWidget
and RideFile::intervals().

The code to create/change/delete intervals is not included
so selecting and editing on charts/sidebar is disabled til
part 3 of the update, but hover should work properly.

Still left todo in future updates;

    * Updates to the interval sidebar to list intervals
      in a tree (by interval type) with a color selector

    * Code to create, edit, delete etc the intervals via
      the rideitem/intervalitem and see them reflected in
      the ridefile

    * Update to search for all the different types of
      IntervalItems including routes and sustained intervals
2015-05-09 18:56:42 +01:00
Mark Liversedge
fb994fa5e7 Rename Ride to Activity
.. across the code, except where it clearly is a ride
   e.g. importing PowerTap or SRM
2015-01-30 10:59:56 +00: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
df94e42e58 Deprecate Lucene
.. use a simple free text search against the ridecache now we
   have all the texts available and in memory

.. no need to maintain an index, no dependency on a horrid lib
   with nasty dependencies and its faster too

.. the free text search is very simple, will need to bolster it
   over time e.g. it matches text not words
2015-01-13 20:52:01 +00:00
Mark Liversedge
580a5a780a Histogram refresh on Ride Save
.. when cache needs to be refreshed.
2015-01-01 15:55:01 +00:00
Mark Liversedge
377cde71c3 Histogram refresh during background refresh
.. just forces a replot if in range.
2014-12-30 15:51:01 +00:00
Mark Liversedge
15df8e51cf Histogram refresh on rideChanged()
.. just force replot using existing method.
2014-12-30 10:23:46 +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
e201b62064 CLucene is optional !
.. oops
2014-12-17 20:46:27 +00:00
Mark Liversedge
0697af7e9a Histogram no longer slow
.. so we don't need a lag betweem metric selection
   and re-plotting.

.. this was/is only relevant to plotting metrics
2014-12-17 12:05:40 +00:00
Mark Liversedge
72fadc23ac Migrate Histogram to use RideCache
.. and specification, but only when plotting a metric
   over a date range.
2014-12-17 11:58:58 +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
f8a73d2f4d Add SmO2 to Histogram
.. from Moxy
2014-11-26 19:23:47 +00:00
Claus Assmann
35eb416bd2 Fix comment spelling errors
.. lots of them !
2014-11-24 15:37:56 +00:00
Joern
eb5a6a9497 Add Gear Ratio related functions in multiple areas
.. RideFile - add rounding approach for gear values (different roundings
depending on value) - leading to discrete GearRatio values
.. AllPlot - exclude Gear Ratio from Smoothing (to keep the discrete
value) - and change curve type to "Steps"
.. ScatterPlot - specific handling for GearRatio since values between
0.01 and 1 are relevant for GearRatio and must not be filtered out
.. RideFileChache - add Distribution Data for Gear Ratio and fix
Distribution Cache for DataSeries with > 0 decimalsFor
.. Histogram - add GearRatio to Histograms (both Rides and Trends)
2014-10-22 17:14:18 +02:00
Joern
e718f35fa2 Histogram - parameter changes
... changes in some of the parameter do not take immediate effect on
change, some do - adjusted to unique handling of config. changes
2014-07-27 18:55:51 +02:00
Mark Liversedge
61be3437d7 Add IntervalHover to Histogram Chart
.. when mousing over the intervals list we
   now plot the hovered interval in gray.
2014-03-27 13:05:53 +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
df376796b3 Polarised Adjust Z2 to 85-100% of CP
.. seems to be a consensus.
2014-02-18 00:14:25 +00:00
Mark Liversedge
ae95511e78 Fixup polarised zones for compare mode
.. the new option to show in polarised zones instead of
   the user defined zones now extended so it works when
   comparing date range / intervals.
2014-02-15 11:15:29 +00:00
Mark Liversedge
b1f2999d6d Fix with zero for polarised zones
.. the with zero option didn't work with polarised zones
   and there was a silly bug with the settings being applied
   after the setData() call which mean't they were ignored!
2014-02-14 19:00:46 +00:00
Mark Liversedge
2c447eadf3 Histogram Polarized Zone Option
.. now can show in zones but using the polarised zones
   rather than user defined zones.

.. we may need to revisit this since it uses zone 2 rather
   than estimate LT1 from CP.

NOTE: The compare mode needs updating to support this option.
2014-02-13 22:26:02 +00:00
Mark Liversedge
b8e07dbcdd Fix Histogram SEGV and Speed
.. SEGV caused by referencing data->isChecked when
   not in range mode

.. Speed plotting broken because line setting the
   array length in setData was accidentally deleted
2014-01-18 20:23:35 +00:00
Mark Liversedge
a114164baa Histogram Compare Metric
.. the last of the histogram updates to compare date ranges
   for distribution by metric (e.g. IF for rides)
2014-01-18 18:47:57 +00:00
Mark Liversedge
8c72f29585 Histogram Compare Date Ranges
.. for bests, not metrics on Histogram

Still need to fixup Histogram to plot metrics
in compare mode for date ranges.
2014-01-18 15:38:35 +00:00
Mark Liversedge
57061c26de Fixup compare interval refresh
.. usual signals and refresh optimization and
   bugs (switch tabs + switch compare mode).
2014-01-17 18:10:34 +00:00
Mark Liversedge
331931cd31 HistogramWindow remove legend
.. for now, it causes a nasty refresh glitch.
2014-01-17 16:25:51 +00:00
Mark Liversedge
f06c5d0624 Histogram Compare Fixup
.. remember we can plot for a season and recognise that
   when checking for isCompareIntervals in PowerHist.

.. fixes a SEGV when looking at a histogram in the trends
   view whilst compare intervals is active in ride view.
2014-01-16 22:55:04 +00:00
Mark Liversedge
1b89d92b0a Histogram Window Interval Compare Mode
.. still needs tidying up for some combinations of show/hide
   tab switch and adjusting chart parameters but is 99% there

.. still need to apply the same compare update for when comparing
   seasons not intervals
2014-01-16 10:56:13 +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
aa8605e8d5 QT5 -- 1 of 3
Porting the codebase to QT 5 (5.2) to get the
latest bug fixes, performance and improved platform
support.

This first part is to fixup the codebase to compile
on Qt 5, but some aspects have been broken (video).

The second part is to migrate from Qwt 6.0.1 to the
latest Qwt for multiaxis support.

The third part will be to fixup any platform specific
issues or issues identified at runtime.
2013-12-09 09:57:13 +00:00
Mark Liversedge
d33f07661a Add Filter Sidebar
To allow selection of filters aka Named Searches when
plotting charts.

Fixes #732
2013-12-05 14:30:42 +00:00
Mark Liversedge
237e51a48d Histogram aPower
Added aPower to histogram, although not zoned.
2013-11-06 18:50:29 +00: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
2f056ea938 More MainWindow tidy
.. reduce the number of public members
2013-07-19 15:28:29 +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
42325ea193 Fixup CLucene OPTIONAL!
.. CLucene is optional, but some recent updates didn't
   honour that and cause compile time errors if CLucene support
   is not available.
2013-04-26 13:21:08 +01:00
Mark Liversedge
fdf2149087 Visual cue for filter
.. by highlighting chart title too if a filter is
   being applied.

This is important to warn users that the data being plotted
is adjusted to the search/filter (either globally or in the
chart settings).
2013-04-26 12:44:51 +01:00
Mark Liversedge
a57a2fd50f Metric Distribution
Show BlankState when no results for date selection.
2013-04-20 11:18:01 +01:00
Mark Liversedge
10ed9af555 Metric Histogram Plot
Update to the histogram plot to now plot long term metrics.
It enables you to plot distribution of say, Intensity Factor
for a season or cycle.

You can select the y-axis metric too, so rather than just
plotting duration you could plot say, TSS accumulated for
different ride intensities.

Fixes #560
2013-04-20 10:35:44 +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
89703f69d0 Fix Histogram window custom date selection
.. it wasn't updated properly when fixing custom
date ranges in LTM.

Fixes #509.
2013-03-11 10:06:27 +00:00
Mark Liversedge
102a35a00d Don't hide Histogram when in range mode
When plotting distribution for a date range instead of
for a specific activity we should not hide when the current
ride has no data (since we are plotting a range not the current
ride).
2013-02-05 13:35:34 +00:00
Damien
754e293da4 BlankState: No data available for HistogramWindow
Use the default blank state in HistogramWindow where data not present
2013-02-04 21:54:37 +01:00
Damien
f1ffb45a4f Hide reveal control after animation
Update HistogramWindow reveal controls
2013-01-28 08:04:29 +01:00
Mark Liversedge
dd4735be31 Reveal experiment, faster and in-sync. 2013-01-26 17:25:09 +00:00
Mark Liversedge
3f1ecd2fbf Reveal experiment with Histogram 2013-01-26 17:16:15 +00:00