.. some cosmetic and tidy ups for the recent sidebar WIP update
from Damien. Just trying to get clean look before making the icon
bar look more like the one in XCode and make the icons use the
Cocoa "template" look.
Train view - race* - out of date and no used
Train view - SimpleNetwork - not used
Analysis view - WeeklySummaryWindow - not used
MainWindow - RideCalendar - deprecated 2 years ago
Because the image representation was stored in the pixmap
which was allocated on the stack -- it should be allocated on
heap since the underlying data is never actually copied.
This seems to fix the issue, but need to keep monitoring it!
Fixes#477.
A number of memory management errors fixed, no doubt there
are more lurking in there.
* CocoaInitializer now sets up an application wide NSAutoreleasePool
* Kickr now init/releases an NSAutoreleasePool for its thread
* Local autorelease pools in constructors etc have been removed
* Searchbox and Button no longer release in the constructor
The icon corruption seems to be improved (I think it is a memory
management issue) but has not been totally removed.
.. because it blocks the event loop that hosts the WF API
class. And we definitely want it to stay on the main event
loop along with the native WF classes and delegates.
.. because we didn't maintain the currentWindow when
showing blankstate pages the drag and drop functionality
didn't work.
This is kinda key when you have no videos and workouts, its
the simplest way of providing the files needed.
.. now closes train view blankstate when device added
and workouts have been imported.
.. and made the home and diary views have same buttons
as the analysis view. That may change in later releases
when we have planning functions.
The diary, home and analysis blank state screens will
now close if rides are added.
Still need to make the train view blank state screen
close when devices and workouts are added.
Set the default size of fonts and screens based upon the
screen size we're running on.
We may need to think about retrospectively adjusting the
font size for users that have not realised they can change
from the defaults (which may not be valid for their hardware).
Put a button on the scope bar to add a chart. This is more
intuitive than the right click menu. The style could be
better but ok for now.
Deprecated the right-click menu option since it is unintuitive
and hidden from the user (i.e. bad UX).
- Added drag and drop dialog and functionality
- if only 1 video/workout imported it is imported and selected
- if multiple they are imported with a dialog
- now shows any references in the scan function
The use of references to avoid making copies of videos is
a touch complicated -- the workflow could be friendlier.
Some fixups to recent update for the workout
library support;
- ergDB download now updates the DB
- mainwindow menu options names more consistent
- sort order in the video and workout list
- hooks for import/drag and drop
Will now write the importer for drag-n-drop and
import workouts menu option.
Implementing a workout library that keeps
track of media and workouts that can be used
in train view.
This first part implements;
- library.xml to record search paths
- search dialog to find media/workouts
Part 2 and 3 will bring:
- Sqllite libraryDB to store found details
- Update traintool to use libraryDB and display
icons, duration/distance, IF and TSS in list
- import and drag-n-drop of new media/workouts
Right click to add/delete a new device on the device list
in the train view sidebar.
It is temporary to bring the train view in line with the rest
of GC, but will then be updated as we remove functionality that
is hidden behind a right click.
Tidied up and enhanced the manual ride dialog. It now
lets users add Sport, Workout Code and Notes (or leave
them blank if they don't use them).
Also added Average HR, Cad, Watts and Speed as well as
deriving TSS and Work.
If there are no rides in the last 'n' days it falls back
to the default for all rides logged.
It also now writes json format files.