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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
* 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.
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.
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.
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.
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.
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
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.
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).
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.
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).
Multiple issues fixed related to automagic
resizing of columns as the sidebar is stretched
and shrunk.
* Geometry and Columns are now cyclist specific
since the metadata config is cyclist specific.
* Multiple 'dynamic' bugs related to setWidth() and
columnsChanged() calling each other or being
triggered by a signal caused conflicts
* Column widths were incorrectly calculated when
no vertical scrollbar is visible on the ride list
(typically when the user has just created a new cyclist)
* Incorrectly including the '*' virtual column in calculations
when it should always have a width of 0px
The Ride Navigator should now be relatively bug free for
column resizing. More tests are needed on the interaction
with the old context menu (i.e. delete/add/save ride). Some
preliminary tests suggest it is pretty stable.
When there are no rides to select in the ride list (e.g. when
just created a new user) right click for a context menu will
crash since it assumes there will always be a ride selected.
Removed the horrible dock widget and uses same sidebar
as windows and linux. Removed segmented button for now
since there are a few issues, but retained the code for
the future.
The legend wasted screen estate and was removed, this patch
colors the axis labels/ticks so no legend is required. This
approach could be adopted for other charts.
Also includes a fix to hide realtime view controls which
left a screen glitch because they should have been hidden.
Added a dropshadow effect for window tiles and made the
title embossed for a more professional look.
Also fixed a couple more compile time nits introduced
by recent commits.
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.
When you import the very first ride into V3 it will cause
a SEGV crash when attempting to freeMemory. This is because
the first entry added to a list does not cause any selection
to be made.
This means that the very first time someone tries to use GC
version 3 it will crash! Not the best of starts.
This bug was previously reported as being related to importing
json ride files, it occurs for ANY ride file type.
Fixes#328.
Not generally useful but allows one to make the toolbar
menu and titlebar match for a more pleasing general effect.
Most users will not use this I imagine and use the default
window colors.
The MainWindow.{cpp,h} code was a bit messed up after a
few years of hacks from different devs. This non-functional
patch re-organises the source files, removes a couple of
unused methods and adds a few comments to help new devs
navigate through the code.
You can now configure the Analysis view to drag and drop
charts on the page and lay them out etc. A default setup
displays basic data such as ride summary, histograms and
ride plot.
MainWindow still needs a bit of a tidy-up as the basic
code has been edited and re-edited by a cast of thousands
and its a bit of a mess as a result.
The training view (aka realtime) is now configurable
allowing users to drag and drop appropriate charts
and dials onto the main view.
The controls for this view are static and comprise the
old controls with start/stop buttons, device selections etc.
I have removed deprecated code too, the following are removed
from the repository;
* ViewSelection
* RealtimeWindow
* TrainWindow
* TrainTabs
Fixes#290.
RideMetadata widget in mainindow is never placed into a layout
since it is not used for user entry/display.
MetricAggregator used QWidget as a base class, this should of
course have been QObject. It uses signal/slots but has no GUI.
Been chasing this down for ages. An orphaned widget in
MainWindow caused the tick for opening the drawer on Macs
to be 'unresponsive' and on Linux made the Cyclist and Ride
menubar options similarly 'unresponsive'.
When adjusting layouts for homeWindow and others a new
widget 'central' was introduced and then not used, but the
code was left behind.
This patch removes the errant code.
When you clicked on 'All Rides' mainwindow emits a rideSelected
signal with a ridefile of NULL. When then selecting a valid ride
a SEGV occurred.
This temporary fix removes that signal, but the underlying issue
related to actions after a NULL ride is selected need to be resolved.
Fixes#318.