Commit Graph

241 Commits

Author SHA1 Message Date
Mark Liversedge
98e504e382 Virtual Speed
Tom Compton of AnalyticCycling.com has provided
a formula to calculate virtual speed based upon
slope, weight, power, cdA, crr and air density.

This is now implemented as 'Virtual Speed'.

It is expected that this new virtual speed will
be used to control streetview, video rendering
and future implementations of group riding over
a predefined course.

Fixes #527.
2011-12-21 17:22:37 +00:00
Mark Liversedge
6a9fae56ae Removed accidental commented out code 2011-11-26 17:59:01 +00:00
Mark Liversedge
b07284f1b3 Download from ErgDB
A new menu option added to download workout
files from the ErgDB. Will also need to look
at upload so we can share amongst the GC
community.

Fixes #521.
2011-11-26 17:57:14 +00:00
Justin Knotzke
2125e55507 Upload to Strava
A menu option to upload ride files to the Strava website.
Original code from Justin Knotzke ported to v3 by
Damien Grauser.

If the ride has already been uploaded the upload menu
option is disabled, once uploaded a tag is set in the ride
with the strava id.

Fixes #519.
2011-11-26 08:59:30 +00:00
Mark Liversedge
90b2c9cd5d Add ToolTips to Toolbar Buttons
The show/hide sidebar, Toggle Tabbed Mode, FullScreen
and Add Chart buttons now have a tooltip to help explain
what they do.

We still need better icons too!
2011-11-20 20:46:10 +00:00
Mark Liversedge
0df41e4482 Fix FullScreen on Lion compile errors
Fix compile on Mac SDK < 10.7, silly initialisation
of fullScreen in MainWindow when it doesn't exist
and fixup gcconfig.pri.in definiton of GC_HAVE_LION.
2011-11-20 18:11:46 +00:00
Mark Liversedge
145433dee6 Fix missing ';' in update to MainWindow.cpp 2011-11-19 18:41:12 +00:00
Mark Liversedge
cca15e375a Toolbar buttons didn't move on a Mac
Mostly caused by the Nazi style police in Cocoa wanting
huge margins etc. Steve knows best. Now uses the Windows
style for toolbar buttons so we get control back from
you know who.
2011-11-19 17:26:21 +00:00
Mark Liversedge
dbd89745e7 Remove Activity Details from Sidebar
Instead the defaut layout now has the ride summary
and details as the first chart in analysis view.

Funny how we've come full circle back to the original
layout. Kinda reassuring I suppose.

Also fixes SummaryWindow splitter handle being rather
ugly.

Fixes #518.
2011-11-19 14:41:41 +00:00
Mark Liversedge
8dd6da0027 Add Chart from Toolbar menu
The drag and drop function for adding charts may
be functionally appropriate, but it is not intuitive
for new users.

This patch moves the add chart function to the toolbar
as a drop down menu. it also makes the chart selection
context sensitive - so on training view only realtime
charts are listed.

Fixes #517.
2011-11-19 14:27:55 +00:00
Mark Liversedge
7e60a930ee Fixup toolbar button spacing on a Mac. 2011-11-13 22:25:55 +00:00
Mark Liversedge
c00379c0ca Toggle FullScreen button on Toolbar
Added a button to toggle fullscreen on the toolbar. Not on
a Mac though since it is in the titlebar.

Also made the view buttons slightly larger. We desperately need
some nice icons / branding for the UI.

Fixes #513.
2011-11-13 21:50:25 +00:00
Mark Liversedge
3dfee75d0f Move tab/tile to Toolbar
To switch between tab/tiled mode the selector has
been moved from the homewindow to the toolbar. A
menu option to select tab/tiled mode has been
added to the view menu.

I have also added icons (that change) for show/hide
sidebar and tab/tile select. The show/hide sidebar
check was not being changed when you use the toolbar
button, this has also been fixed.

The scroll view mode has been deprecated. (But the code
has been retained in case we decide to re-introduce it).

Fixes #512.
2011-11-13 19:03:03 +00:00
Mark Liversedge
d83a74dc08 Show/Hide Sidebar toolbar button 2011-11-09 20:25:26 +00:00
Mark Liversedge
cefb69512c signpost toggle fullscreen is F11. 2011-11-07 19:52:44 +00:00
Mark Liversedge
e03f496811 ToolBar even more like Flare
The "tabs" of the toolbar are now offset to the right
and fixed with a specific spacing.

Similarly, the training view buttons are fixed to the
left.

This ensures that the "tabs" don't move as toolbar
buttons are added/removed.

This removes the flickery artefacts when moving away
from train view and also gets ready for more specific
buttons on the other views.
2011-11-06 21:24:26 +00:00
Mark Liversedge
053bd6ca69 Train View controls in Toolbar
Updated the realtime view (Train) to put the
realtime controls in the toolbar and removed
the old realtime controls chart.  They only
appear in Train view.

Additionally, the workout list and media list
are now in the sidebar under 'Workout Library'.

Finally, the first device configured is always
selected at startup, but this is a temporary
change until the realtime device wizard is coded
to set a default device.
2011-11-06 19:34:46 +00:00
Mark Liversedge
57c1102b50 Mac OS X Realtime Fixups
A few minor fixups for Mac OS X;

* LionFullScreen.mm compile issues resolved by introducing
  a new define in gcconfig.pri. This will hopefully go when
  issues with Qt and AvailabilityMacros are resolved. See
  DEFINES += GC_HAVE_LION in gcconfig.pri.in

* The buttons on the realtime controls are now set to GTK to
  avoid Qt constraints regarding spacing and format of
  QPushButtons. This will hopefully go when we move the controls
  to a task bar at the bottom of the screen.
2011-11-05 23:21:28 +00:00
Mark Liversedge
da6a2dc6d4 Further realtime improvements
A number of new features / enhancements;

* Display IF/TSS or Elevation/Grade in the controller
  when a workout is selected.

* Added buttons for forward/back which emulate the
  forward/back from a computrainer controller

* Added a slider to increase and decrease intensity/grade
  on-the-fly (during a workout), tied in with the
  computrainer controller's + and - keys.

* Unpicked the manualOverride code previously implemented

Mostly, or at least for this release, fixes #494.
2011-11-05 18:31:55 +00:00
Mark Liversedge
04f2abd00e Add Support for FullScreen on Linux/Windows
Add support to toggle full screen mode on Linux
and Windows, in similar fashion to the recent
update for Mac OSX Lion.

A new view menu option to toggle full screen has
been added in lieu of the Mac titlebar icon on
either Win/Linux. Additionally, hitting Function
key F11 toggles fullscreen and hitting ESC whilst
in full screen also returns to normal.
2011-11-03 23:35:00 +00:00
Mark Liversedge
1f22545197 Fix MAC_OS_X_VERSION_MAX_ALLOWED
LionFullScreen used this macro to determine if the version
of the SDK is recent enough (Lion or higher).

Unfortunately, I forgot to also check if the OS was Mac OSX
and didn't include the correct header (AvailaibilityMacros.h)
to get the define. As a result all builds on anything other
than OSX Lion failed.
2011-11-02 20:50:46 +00:00
Mark Liversedge
2c08708c78 Fullscreen Support for Mac OSX Lion
Mac OS X Lion introduces support for fullscreen applications
and places a fullscreen button on the title bar and animates
etc.

This patch adds support for fullscreen mode. Since there is
no standard way of exiting fullscreen mode we have adopted
pressing the 'ESC' key, since this is inline with most of the
Apple applications (e.g. Mail).
2011-11-01 14:46:30 +00:00
Mark Liversedge
689e449c08 TrainingPeaks does not have a space in it
References to TrainingPeaks should never have a
space between the words Training and Peaks.

Modified at the request of our friends over at TrainingPeaks.com.
2011-10-24 18:38:36 +01:00
Mark Liversedge
0d1ad15bf7 RideNavigator as a Window
You can now place a ride navigator on the chart layouts, this allows
the user to configure many more columns and use the navigator to
browse and order the activity history in a log/journal format.

The default diary layout now has two tabs; one for the calendar and
another for the activity history.

There appears to be a few minor bugs related to column/chart resizing
that have been present for a while, but are more obvious now the navigator
is a chart in its own right. These will be resolved later.
2011-10-21 18:43:24 +01:00
Mark Liversedge
550d054f35 Fixup reset layout
Moved to the view menu and initialised 'currentWindow'
to the analysis window on startup to avoid a SEGV if
you reset the layout without having ever switched views.
2011-10-17 20:10:29 +01:00
Greg Lonnon
adba64578b added reset window layout to all the HomeWindows. 2011-10-16 19:22:42 -06:00
Mark Liversedge
6f116ab07d File Export (part 2 of 2)
Added a function for Batch Export of current
activity history. The user can select files
to export, the target directory and format to
use.

This completes the updates to improve export
functionality.

Fixes #476.
2011-10-12 18:00:58 +01:00
Mark Liversedge
cc0fbdf47d File Export (part 1 of 2)
The export functions in mainwindow are getting quite
cumbersome with multiple menu options.

This patch creates a single menu option "Export.." which
allows the user to select a supported format and a filename.

To support this the ridefile reader code needed to be adjusted
to allow registered readers to declare capability to write and
use a consistent (virtual) method to do so.

By modifying the base class for ride file reader we now allow
new readers to register both read and write capability.
2011-10-12 14:19:14 +01:00
Mark Liversedge
9211523440 Improved Split Activity Wizard
Updates to the version 3 split activity wizard to bring it
back in line with the original v2 functionality;

* Splits at markers, rather than extracting intervals
* Shows a small plot to show the split visually
* Will automatically mark gaps rather than work between gaps

This will not be backported to v2 since the functionality
is working, albeit difficult to understand for this casual user.
2011-10-10 20:06:17 +01:00
Mark Liversedge
95b00bedf7 Use old split ride for now
Split ride is a bit of a radical change from the
original; more thought is needed to ensure the
original functionality is retained whilst making
the UI and workflow intuitive.

This patch reverts MainWindow back to using the
old SplitRideDialog.
2011-10-06 19:18:55 +01:00
Mark Liversedge
cadb9421ab Split Activity Wizard
A new wizard to walk the user through the split
'ride' feature. It allows the user to control
the removal of the original and the minimum
gap size and segment size (when searching for
points at which to split the ride).

It also allows the user to select segments and
intervals to split and displays the actions that
will be performed to allow the user to confirm
processing.

if a new activity conflicts with an existing
activity the start time is incremented (by a
second or more) to avoid data loss.

Aside from removing the current ride it is now
impossible to overwrite or lose existing data.
2011-10-06 13:56:05 +01:00
Mark Liversedge
27845a9341 Bubble popup support for Vertical Orientation
Adds support for bubble popup to appear in
vertical orientation with tick at bottom
or top.

Getting ready for activity bar.
2011-09-11 00:55:56 +01:00
Mark Liversedge
9a6e14e399 Activity Popup Bubble
A popup bubble when hovering over the activity
history or an entry on the calendar.

It is a pre-cursor for the activity bar for
selecting rides and is available for any
widget to call (it is a member of mainwindow).

To support the data series indicator icons a
new metadata field 'Data' has been added to
store a string to represent the data series
that are present.

In addition, the Sport code is used to decide
if a bike/run/swim icon should be shown instead
of a string (but needs translation support when
we get round to that).

Lastly, it has been coded for horizontal alignment
but will need to be updated for the activity bar
to support vertical alignment.

This is an experimental feature and will develop
over time, specifically;

* you cannot define which metrics are show in the
  bubble -- they are hardcoded at present

* the coloring is hardcoded, as is the font size

* Only the activity list and diary use it.
2011-09-10 22:36:13 +01:00
Mark Liversedge
9cd0212097 Pretty Toolbar
Fixups for a GC toolbar and the first pass at trying
to make the look and feel more professional. Whilst the
overall usefulness of the toolbar is moot, the grpahics
show the way for greater attention to detail.

Specifically;
* The sidebar should adopt a similar look/feel
* Chart title bars should adopt a similar look/feel
* Sidebar panes should be unified with the same look
* The style selector needs to move - it is cluttering
  up the general clean look.

The code is a little ghetto in places, but will fix up
as the cosmetics are sorted.
2011-09-04 00:19:26 +01:00
Mark Liversedge
eb34bfbbb0 Activity Intervals rename
The Best Intervals and Laps should really
be called Activity Intervals.
2011-09-03 17:15:32 +01:00
Mark Liversedge
44205ae625 Extended Help menu
To add User Guide link to the wiki, and another
to log a bug.
2011-09-03 17:10:45 +01:00
Mark Liversedge
04f8752506 MainWindow help in local browser
The help options links to the wiki page but opens a
QT webkit window. This is so rudimentary it is almost
of no value.

This patch instead opens the wiki in a local browser
session. Thus it will use Firefox, Chrome, IE etc.
2011-09-03 16:47:00 +01:00
Mark Liversedge
a0e52ff979 Mainwindow Menu Alt-A Alt-A clash
The Alt-key combination for the Athlete and Activity
menus were both set to ALt-A. This patch changes them
to Alt-A for Athlete and Alt-C for aCtivity.
2011-09-02 20:51:44 +01:00
Mark Liversedge
f777ada39f Start to use consistent terminology
* Rides are now Activities
* Cyclists are now Athletes

This is just a first pass, no doubt many more
lurk within the codebase. Will raise a defect
to cover the remainder.
2011-09-01 21:48:51 +01:00
Mark Liversedge
800df84200 Be consistent 'Athlete' not 'Cyclist'
Although the codebase refers to 'cyclist' in a number
of different ways (classes, setting names, class members)
we should always use 'Athlete' when prompting the user.
2011-09-01 21:07:58 +01:00
Mark Liversedge
df6a44ca83 Workout Controls for Train View
Fixes broken controls on train view, so we can now start stop
with the sidebar hidden and also adjust the settings for the
realtime dials on the layout.

Will need to think about saving the properties of the controls
to use last used settings.

Fixes #439.
2011-09-01 20:59:03 +01:00
Mark Liversedge
70c371d982 Add Activity Details to Sidebar
The metadata information is now shown within
the sidebar.

We need to implement a mechanism for the users
to configure the sidebar widgets etc pretty soon
now, since this update is useful, but the sidebar
is getting crowded out.

Minor changes to ridemetadata to allow a 'single
column' view, but mostly all the widgets were
already instantiated so there is no real cost
to this update.
2011-08-31 21:11:49 +01:00
Mark Liversedge
eb45055ea4 Reinstate View and add Window menu
View menu reinstated to allow users to show
or hide the toolbar and sidebar as well as
select layout views; home, analysis et al.

Also added a window menu option to switch
between the current open windows. This is
particularly useful if the other windows
are on another virtual screen.

Fixes #367.
Fixes #29.
2011-08-29 19:53:35 +01:00
Mark Liversedge
9d9619ef40 Re-instate zoom interval in MainWindow/AllPlot
Added a new signal to MainWindow to trigger
a zoom to interval. This signal has been trapped
in AllPlot (Ride Plot), but will also need to
be supported in;

* Ride Editor - highlight/zoom to interval data
* Aerolab     - Same as ride plot
* Maps        - Zoom in to section
2011-08-29 11:08:06 +01:00
Mark Liversedge
7412b9a49e Diary Window now uses HomeWindow Layouts
Now uses a homewindow 'layout' for the Diary view.
This means you can drag and drop other charts onto
the diary view and resize the calendar etc.

Planning functions will belong here eventually but
this patch is just to tidy up the UI a little to
make all the views configurable.
2011-08-18 21:34:56 +01:00
Mark Liversedge
c2254ce3e5 Fix delete ride SEGV
Bad form to delete an item and then pass a reference to it.. when
mainwindow removes the current ride it passed a pointer to the
rideitem just deleted, rather than emitting the signal before it is
deleted.

A distinction is made in mainwindow to emit the signal AFTER the
ride has been removed from disk (so metric/caches can clean up) and
removing it from memory (so charts can decide what to do).
2011-08-07 17:20:51 +01:00
Damien
f00ab725f3 Add a TCX ride exporter 2011-08-05 15:43:05 +01:00
Mark Liversedge
aa9f6c5f3b Fix delete ride to remove .notes file
Will also remove the .cpi or .cpx if it is there.
It still renames the original to original.bak so
it doesn't actually zap the file.

Fixes #115.
2011-08-01 23:07:00 +01:00
Mark Liversedge
d86a6152bc Show anomaly list in ride editor controls
The ride editor does a pretty good job of finding anomalies
in the ride data, and to help it underlines the anomalies with
a wiggly red line and adds a tooltip to explain.

But, you have to scroll up and down the file to look for them
and when you are scrolling at high speed the wavy lines are
difficult to spot.

This patch updates the ride editor controls (which previously
only had the find dialog) and adds a list of anomalies at the
bottom. You can click on an anomaly to jump to it in the ride
data.
2011-08-01 14:46:35 +01:00
Mark Liversedge
de13fb08fe Do not allow user to open same cyclist twice
The choose cyclist dialog allows you to open
a cyclist that is already open. This is not
a great idea since the two windows will conflict.

This patch introduces a global vraiable to track
open windows (mainwindows) and MainWindow maintains
it as it opens and closes.

AthleteTool still needs to be updated to refresh
as new cyclists are created (and when its written
deleted).
2011-08-01 11:24:17 +01:00