Commit Graph

106 Commits

Author SHA1 Message Date
Mark Liversedge
d461d9840d Fix Compare Histogram Zone labels
.. don't show when not checked for compare
2014-07-05 11:38:21 +01:00
Mark Liversedge
2f36383df5 Default linewidth smaller
.. was 2.0px now 0.5

.. no longer looks like it was drawn with a crayon by default !
2014-06-23 10:06:03 +01:00
Mark Liversedge
902210a183 Antialias is now on BY DEFAULT 2014-06-23 10:03:20 +01:00
Mark Liversedge
a084ec96e6 Fix Average Temperature Issues
.. Don't include -255 in average

.. Don't show -255 in ride navigator

.. Don't show a value on summary if not preset
2014-06-20 12:59:03 +01:00
Joern
018cff3baa 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
Ilja Booij
b5264fa88a Fix crash when opening Speed histogram for the first time, on a file without speed info.
I had a trainer file as the second file in my history. Opening this ride, and selecting the speed histogram made GC crash.

I narrowed it down to line 905 in src/PowerHist.cpp. The code was trying to do a resize on a QVector with a negative value. count was -7.

Making sure that count is always 0 or greater fixed the crash.

Note that opening another ride file, with speed information before this one, selecting the speed histogram and only after that selecting the ride without speed information, did not crash the application. I'm suspecting that there might be some resetting of values, perhaps in the "standards" arrays, that is not done when a data series is missing.
2014-04-21 22:16:54 +02:00
Mark Liversedge
9e558f0d47 Missed off previous commit
.. critically, updating the db schema version
.. QPen syntax error on QT 5
2014-03-27 17:20:52 +00:00
Mark Liversedge
e2d07499a2 Hide hover when ride changes
.. in histogram plot.
2014-03-27 13:48:56 +00:00
Mark Liversedge
cd35e0d4ee 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
90eea50aa4 Fix SEGV in Histogram when clearing compare
.. because the arrays were emptied!
2014-03-20 09:58:32 +00:00
Mark Liversedge
af4576237f Zone Array is a count not time
.. Fix polarised zones being ZERO when recIntSecs is
   sub-second (e.g. 0.5s with an SRM).

.. the polarised zones were being updated to hold time
   rather than a count of samples. This was fine when
   recIntSecs is 1s but a problem  when it was 0.5
   .. because is is an integer!
2014-02-20 11:51:50 +00:00
Mark Liversedge
d3bc1e522c Polarised Adjust Z2 to 85-100% of CP
.. seems to be a consensus.
2014-02-18 00:14:25 +00:00
Mark Liversedge
ca13f26d6e Add Data Labels to Histogram Zones
.. when plotting in zones its helpful to have
   data labels to show the percentage or
   absolute values each bar represents rather
   than having to hover over it.
2014-02-15 14:49:17 +00:00
Mark Liversedge
1ed0fef552 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
308a1abe8d 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
aa43681b21 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
48b9d1a052 Histogram Golden Ratio for Zone Columns
.. taking what we did for compare mode and applying
   it to the normal zoned display.
2014-01-18 22:35:41 +00:00
Mark Liversedge
cd45f3ee52 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
567c0ebcf6 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
257b8d8ac0 Disable Metric Histogram Compare
.. to avoid errors until we implement
   histogram metric compare date range
2014-01-18 16:21:49 +00:00
Mark Liversedge
4f41933f00 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
c7a6c0df8c Fixup Histogram Compare Zones
.. it was using the range from rideitem
2014-01-17 18:56:40 +00:00
Mark Liversedge
b77fae7b92 HistogramWindow remove legend
.. for now, it causes a nasty refresh glitch.
2014-01-17 16:25:51 +00:00
Mark Liversedge
88b69904fe Golden Ratio for Grouped Bars
.. on the histogram charts when comparing multiple
   intervals we group using a golden ratio to make
   it easier to read.

.. this is less about the histogram and more about
   establishing the aesthetic in time for the LTM
   updates for compare date ranges.
2014-01-17 16:02:35 +00:00
Mark Liversedge
36cb0e0eff 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
acb8156dce Histogram Compare Axis Scaling Fixup
.. truncate the x-axis for small values

.. only set y-axis max for selected intervals
2014-01-16 21:27:45 +00:00
Mark Liversedge
87e62beb00 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
1552d79476 Refactor arrays out of PowerHist class
.. in preparation for updating for compare mode.
2014-01-15 13:01:56 +00:00
Mark Liversedge
3aa9ae6c55 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
4ced2ca51d What's in a name ?
The 4 views have been shown to be confusing -- it is not clear
to new users what their purpose is, and hence how or why they
are different.

So in an effort to reduce the confusion I've renamed a few
things to be much more explicit and specific.

.. We embrace the fact we are a cycling program and use the term
   RIDES not ACTIVITIES for all files

.. HOME is confusing, renamed to TRENDS

.. the ANALYSIS view name is confusing, its all about ANALYSIS
   to renamed to RIDES

There will no doubt be areas that are not renamed properly we
can fix those when the arise.
2014-01-12 13:06:00 +00:00
Mark Liversedge
18cce9a4ca Histogram Chart honour Plot Background Prefs
.. more of the same as done for AllPlot, CP, PfPv.
2013-12-15 18:42:04 +00:00
Mark Liversedge
04dcb8d187 QWT 6.1 canvas() revert and LTM ToolTip fixups
Reverted the update to the QWT 6.1 code to make QwtPlot::canvas()
return a QwtPlotCanvas -- it now returns  QWidget.

This means our local copy of Qwt is the same as the published version
so we should be able to stop maintaining our own copy when Uwe pushes
the multiaxis stuff with 6.2.

Also fixed the LTM tooltip - the zoomer has been removed.
2013-12-11 17:58:35 +00:00
Mark Liversedge
f7854ffc24 QT5 -- 2 of 3
Fixup all the GC code to use the QWT 6.1 code.
It needed canvas() to be patched to return a
QwtPlotCanvas and not a QWidget.

We could probably get round that with a cast.

When we switch to QWT 6.2 with the multiaxis
support formally baked in we can fix the code
as needed.

Now compiles and links without issues.
2013-12-09 12:26:55 +00:00
Mark Liversedge
a79b490e42 UX: Add to intervals flow
.. in the find intervals dialog it makes more sense to
   close the dialog once add to activity has been pressed.
2013-11-13 10:29:28 +00:00
Mark Liversedge
00a52abff4 UI Nits: Less is more
Further removal of chart decorations ala the recent
changes to the ride plot, now applied to the other
charts.
2013-11-11 22:04:06 +00:00
Mark Liversedge
cbb0dd04d6 Histogram aPower
Added aPower to histogram, although not zoned.
2013-11-06 18:50:29 +00:00
Mark Liversedge
77278b2ed1 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
a5a13668cd 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
47814846d9 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
0fcbbe1b77 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
c56c5a9567 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
10e28e7978 Fix array bound SEGV
.. double to int conversion rounded up and caused an
   array bounds segv. just added 1 to the initial resize
   of the array to avoid.

.. annoying since I performed considerable testing of the
   metric histogram on Mac, but this crashed almost immediately
   on Linux. Bah.
2013-04-20 11:08:02 +01:00
Mark Liversedge
1b16b034bd 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
cf59ac938e 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
97ebc19d9f Code Cleanup: Power Hist
.. static const in class GNU extension.
2013-02-13 09:24:12 +00:00
Mark Liversedge
2611e68f5e Code Cleanup: Charts
.. comments explain decisions, no action required.
2013-02-11 14:15:43 +00:00
Mark Liversedge
f527d8e5c2 Fix compiler warnings
All are harmless but for the sake of clarity have
fixed them all bar a couple;

- Lucene grumbles about signed/unsigned conversion which
  is/isn't valid depending upon the version of CLucene you
  compile with. Either way it is harmless.

- QxtScheduleView has a bunch of issues, but since it is a
  third party widget its better to leave it unchanged.
2013-02-06 15:54:32 +00:00
Mark Liversedge
4eeac0659d Fix zooming in histogram
Fixes #416
2013-01-05 17:35:48 +00:00
Mark Liversedge
de71148548 UI Polish: More linear gradient on histogram
Added linear gradient shading in the histogram charts.
2012-12-22 10:23:17 +00:00
Damien
7bc33402d3 Add shaded power zones for watt per kilogram series in histogram 2012-12-02 23:05:35 +01:00