Commit Graph

47 Commits

Author SHA1 Message Date
Sean Rhea
9509e083b7 remember smoothing across restarts
fixes #18
2010-01-17 20:54:47 -08:00
Sean Rhea
abbdd4667e bug fix: remember user's curve preferences
Fernando Maldonado pointed out that if he deselected, for example, Cadence on
the Ride Plot, then switched to another ride, the Cadence check box remained
unchecked but the Cadence curve showed back up on the plot.  To hide the
curve, he had to check and uncheck the box again.  This commit fixes that bug.

I'm not entirely happy with this fix.  I'd rather AllPlot had access to the
QCheckBox objects in AllPlotWindow, but I can't think of a clean way to do
that.  This patch at least seems to work.
2009-12-30 17:52:13 -05:00
Mark Liversedge
feb111a4ff RideFile reading refactoring
With the introduction of the rideSelected signal the RideFile was
opened (as previously) by the RideSummaryWindow::htmlSummary()
member. In some cases, this signal was processed by RideSummary window
AFTER the other charts (AllPlot etc) this results in 'No data' being
shown on other charts.

This patch moves the file reading to RideItem::ride() which was previously
a public RideFile * (that is now a protected member ride_). As a happy by
product it removes the need to check if the file has already been read
across all other functions ensuring in-core values are not accidentally
overwritten. The read errors are made available by a new RideItem::errors()
member.

This modification is required to support the RideImportWizard in freeing
loaded RideFiles during batch import to ensure virtual memory is not
exhausted when large numbers of files are imported at once. This modification
is also included in this patch.
2009-12-18 19:39:29 -05:00
Sean Rhea
bbfc4a768c don't show axes for non-existent curves
If you don't have altitude, you'll no longer have an axis for feet/meters.
Thanks to Gary Smith for pointing out that the previous behavior was silly.
2009-12-13 18:06:05 -05:00
Sean Rhea
74742965dd move IntervalPlotData into .cpp and fix mem leak 2009-12-13 15:16:57 -05:00
Damien Grauser
333fe46196 add tr() for some QString and add french translation 2009-12-13 15:04:51 -05:00
Sean Rhea
01e1c22640 remove global mainwindow pointer from AllPlot.cpp 2009-12-13 11:02:32 -05:00
Sean Rhea
d37a98ac9c include AllPlot.h first 2009-12-12 22:00:35 -05:00
Damien Grauser
216bc6ef4b add language selector and French translations 2009-12-12 15:23:46 -05:00
Mark Liversedge
29a9e41444 Interval features and new GC file format 2009-12-12 11:41:35 -05:00
Sean Rhea
95b44b7752 make zones ptr const 2009-12-10 10:16:57 -08:00
Sean Rhea
772de9f364 RideItem::zones is just a pointer
...not a pointer to a pointer.
2009-12-10 10:16:57 -08:00
Sean Rhea
6914185680 don't plot intervals before first smoothing window 2009-11-21 14:27:13 -05:00
Sean Rhea
93d62cc5c2 fix Ride Plot shading bug introduced in 79ced76
The default position of the power combo box in the Ride Plot is to shade
power.  Change the default value of the shade_power variable to match.  This
didn't matter before 79ced76, since prior to that commit we (mostly
redundantly) called showPower from setAllPlotWidgets, whereas now we only call
showPower after a change in the combo box.
2009-11-15 08:52:23 -08:00
Sean Rhea
db943fbcd6 make ride plot work for manual rides
I don't like disabling the ride plot tab when I select a manual ride,
because I frequently scroll through the ride list to search for a ride
by the shape of its ride plot, and every time I hit a manual ride I get
bounced to the CP plot tab.  So rather than disable the ride plot tab,
just make it show an empty plot.
2009-11-09 09:20:24 -08:00
Sean Rhea
c848726f0c let the factory call fillInIntervals 2009-11-01 12:45:43 -05:00
Sean Rhea
521653993d bug fix: check that rideItem->ride is not NULL 2009-11-01 12:44:11 -05:00
Sean Rhea
3cc99bf2b0 use RideFileIntervals in AllPlot 2009-11-01 12:01:52 -05:00
Sean Rhea
522824bb40 switch RideFile::dataPoints to QVector
...so that we can binary search within them.  Also, switch a lot of
QListIterators to Qt foreach.
2009-11-01 11:51:26 -05:00
Sean Rhea
68832ff6c0 fix tabs and eol spaces -- no functional change 2009-11-01 10:58:12 -05:00
Sean Rhea
aad5a337b8 areDataPresent should return a const ptr 2009-10-27 23:38:57 -04:00
Sean Rhea
318c9debd4 put all our unit conversions in one header file 2009-10-10 12:27:42 -04:00
Sean Rhea
29368cbbdb don't plot points before first smoothing interval
Otherwise, the zeros we average distort the starting values.
This effect is particularly noticeable with altitude.
2009-10-04 06:32:25 -04:00
Thomas Weichmann
47cc777b04 allow for less wide MainWindow
- Moved Allplot time/distance combobox down next too smoothing slider.
- Rotated allplot plot scale lables to save a little space.
2009-09-27 13:14:17 -04:00
Sean Rhea
bc16f3d0a4 delete main window on close
...and set AllPlot's parent so that it gets deleted, too.
2009-09-20 21:34:31 -07:00
Sean Rhea
0cbe39e834 allow altitude plot to go below zero
Also ensure that altitude axis is at least 100 feet/meters tall to avoid
making a flat course look hilly.
2009-09-20 21:22:52 -07:00
Sean Rhea
64256bd24a put power and altitude on their own axes 2009-09-20 11:52:35 -07:00
Sean Rhea
ed3ff60857 store DataPoints themselves, not pointers, in list
Gets rid of one more pair of new/delete.
2009-09-16 07:22:27 -07:00
Sean Rhea
3ec0897f01 change xyzArrays into QVectors
To match coding conventions and simplify memory management.
2009-09-16 07:22:20 -07:00
Sean Rhea
54044697b9 change smoothXYZ arrays into QVectors
To match coding conventions and simplify memory management.
2009-09-16 07:22:10 -07:00
Sean Rhea
494e4d949e cleanup zone label deletion
Use foreach function to shorten and clarify code.
2009-09-16 07:22:04 -07:00
Sean Rhea
99858423be fix memory error in interval marker code
The previous version of this code contained a memory corruption bug.
QwtPlot deletes all of the items that are attached to it in its
destructor, but the QwtPlotMarkers for intervals were being allocated as a
group with array new.  If we deleted an AllPlot object, then, it would
have tried to delete each of the marker objects individually, rather than
with array delete, which causes memory corruption.  We haven't seen this
bug before because we don't ever delete AllPlot objects (which is a memory
leak in MainWindow).
2009-09-16 07:21:56 -07:00
Sean Rhea
3c771d97d4 allocate altitude pen on stack
Since it's only used for the duration of this function.
2009-09-16 07:20:58 -07:00
Justin Knotzke
72c40de966 Added to what Greg has done in regards to GC's settings. Fixed a bug regarding where power.zones file was being saved to. 2009-09-11 08:49:20 -04:00
Berend De Schouwer
4399d1ad81 RidePlot/ErgomoCSV/ErgomoHU Interval consistency 2009-09-01 06:12:34 -04:00
Thomas Weichmann
5c0bdd8969 Changes to add altitude data to allplot & elevation gained to ride metrics 2009-08-25 06:18:20 -04:00
Justin Knotzke
5a453fb210 Misc fixes by Julian Simioni.. Thanks. 2009-08-21 20:22:59 -04:00
Justin Knotzke
b5f1e64cae Fixed a bug where MPH was always shown in the AllPlot even when Metric was selected. 2009-08-15 07:26:38 -04:00
Robert Carlsen
e8a7a4bf4d Fixed constructor bug when using a NULL value and qwt5. ie. unit(NULL) -> unit(0) 2009-08-11 17:15:54 -04:00
Justin F. Knotzke
622516b63d This code should now allow GC to be run off a USB stick.. or the Qollector. If GC finds a Library/GoldenCheetah next to the executable, it will use that location to store all of its settings and Libraries. Otherwise, it reverts to how GC handled settings previously. 2009-08-11 06:07:36 -04:00
Justin F. Knotzke
ea58d961a6 Dan Connelly's MEGA patch.
It includes both powerzones and weekly summary plots.

  Thanks Dan.
2009-06-22 02:21:10 +00:00
Justin F. Knotzke
3db61084a1 Fixed a possible memory bug. Thank you to Dan Connelly 2009-04-03 00:33:06 +00:00
Justin F. Knotzke
52b2049949 Damian Grauser's patch which throws a toggle in the Ride Plot graphs which
will toggle between distance and time.

Thanks Damien.
2009-02-14 23:52:10 +00:00
Robert Carlsen
c11b305239 On the ride plot, the range of speed is typically much smaller than the ranges of power, heart rate, and cadence. As a result, for many activities it's difficult to distinguish much difference.
This update changes the plot to use a right y axis for speed. This makes it easier to see speed differences.

Some other packages use separate y axes for each data type, but as far as I can tell, this is not available with the qwt library used by GC.

   --jtc
2009-01-03 07:13:45 +00:00
Justin F. Knotzke
d5997b9fee The Ride Plot currently displays the activity's speed in MPH,
regardless of the Units preference.  This patch checks the preference
and displays it in the appropriate units.

Unlike some of the other cases, I'm checking the value of the Units
setting each time the plot/panel is displayed.  

The patch also pulls the 0.62137119 magic constant into a #define
MILES_PER_KM.  This constant (and it's inverse, KMS_PER_MILE), occurs
in several files, and (IMHO) really deserves to be pulled into a
separate header, but again, that's work for another day.

   --jtc
2009-01-02 20:58:06 +00:00
Sean C. Rhea
babbaa7e2c Sane failure for rides longer than a week, which usually happen because
someone sets the date on their PT and doesn't reset the device before going
for a ride.  This fix will keep GC working until the user splits the ride
(and until we add a ride-splitting function).
2008-05-18 14:19:37 +00:00
Sean C. Rhea
6e5487ca39 everything in one directory 2008-05-12 03:28:53 +00:00