.. move use sidebar settings to basic page and
disable the other pages if its using sidebar
settings
.. when working in the sidebar, hide the basic
page since it is not shared
.. make the add chart dialog bigger if the screen
is large enough, since it needs to show a chart
and the config pane which has grown a little
over time.
.. remove all the editing/import/export functions
from the chart settings now they have their own
sidebar.
.. this also removes some of the problems with conflicts
and bugs in the code e.g. setting the first chart name
to "" by accident in the editingFinished() method (since
that is no longer supported !)
.. when resetting the layouts we first go try the default
layouts from the goldencheetah website
http://www.goldencheetah.org/defaults/<release>/xxx-layout.xml
.. this means we can update the default setup independently of
the release binary; make tweaks etc
.. the same concept will shortly be introduced for resetting the
standard charts.xml presets for the trend view
- Code cleanup, removing deprecated code and refactoring
- Metrics translation is now done in a method for LTMSettings
- User defined metric name (uname) is translated if it matches english name
- User defined units (uunit) is only translated if it matches saved units
.. saves time, since translation not required
.. also avoids messing up the uunits when charts are customised
to have common y-axis e.g. Stress Ae and An Stress and PMC
using Stress instead of ATL, CTL, TSB etc
.. tile mode highlights on mouse over for a more
fluid feel, and better feedback
.. can customise the trend view charts background
.. fixed a SEGV on apply preset in chart setup
.. this is part of a set of updates to update the
standard setup to be more complete so the user
can pretty much run off a standard config.
.. introduce concept of configChanged(what) to
pass details of what config has been changed
.. fixed zones changes to re-read after write
to correct the save twice to get changes to
zones bug.
.. next parts need to spot changes (part 2) and
then action appropriately (part 3)
.. subtle, thin progress bar on tabview to notify
when background updates are in progress
.. background updating code created but does not
perform a refresh yet, just sleeps for 0.2s
.. to enable 'visibility' of the code use WANT_RIDECACHE
to the defines in gcconfig.pri
... create folder structure for existing and new athletes
... upgrade existing athlete to new structure when opening / incl.
logging and error handling
... convert any "Downloaded" file to .JSON directly - store source file
in /downloads
... convert any "Imported" file to .JSON directly - store source file in
/imports
... introduce new "home" Folder structure object representing the
previous flat-folder
... adjust relevant QDir home - access to use the sub-folder method of
the new object
Note: the new structure is not yet active ! - everything is written to
the main folder still
To Do:
... add upgrade procedure for existing folder content to merge to the
new folders
... second part: 2nd part ("-Layout.XML") translation
... "Mapping Table generation" provided as a new LTMTool routine (to
avoid duplicate code)
... mapping to HomeWindow::restoreState(bool useDefault) for the LTM
Window type charts added
... metricUnit considered in getting the mapping texts for "unit"
.. wow, this has been there for at least 3 or 4 years and
never bitten us.
.. for some strange reason it bites when you have a 3d plot
in one of the layouts.
.. Further updates to the charts to honour the background
color preferences:
* Google Maps
* Ride Summary
* Scatter
* Details (Metadata)
* LTM Data View
* Editor
.. still a few left to do and not entirely happy with how
things look on the editor but we can fix this up over
time.
.. Only tested on Linux
.. Now going to check on Mac and Qt5
.. Also does not yet support re-ordering tabs
nor scrolling when there are too many to show.
This will come in future updates.
.. not because it was a bad idea, it is a great idea.
.. we need to replace the tabbar with a scopebar and
customise it for the view menu and support scrolling
left and right.
.. will sort this weekend
.. The UI spacing is a bit 'old hat' and not really in line
with modern UI's -- so reducing the amount of unneeded
spacing between widgets.
.. There is more to come on this, but for now this means there
is a little more screen estate for the charts.
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.
.. now can drag and drop any date range onto the
home view compare pane to compatre different
seasons, and even across athletes.
.. we setup the metrics and measures in the context
so the charts don't have to, but we still need to
reference the source context for bests and ridefilecache
data
NOTE: We need a mechanism for 'locking' source tabs/athletes
when they are part of a compare to avoid crashing when
a context is deleted whilst we are comparing
NOTE: We till need a way to remove entries from the compare
pane, possibly call it when an athlete is closed too
(see note above).
Porting the codebase to QT 5 (5.2) to get the
latest bug fixes, performance and improved platform
support.
This first part is to fixup the codebase to compile
on Qt 5, but some aspects have been broken (video).
The second part is to migrate from Qwt 6.0.1 to the
latest Qwt for multiaxis support.
The third part will be to fixup any platform specific
issues or issues identified at runtime.
Split the views in MainWindow into separate classes;
* Tab is a collection of the 4 main views
* TabView is a base class for all of the 4 view types
* {Analysis,Train,Diary,Home}View are all derived from
TabView and deal with specifics of those views (e.g.
Diary/Home worry about date ranges).
We should be ready to move to tabbed athletes soon.
There are a few nits left for this part of the refactor
that will need to be resolved in some fixups over the
next few days;
* tile mode segment selector has wrong segment selected
when the view is in tile mode.
* Minimum height/width of MainWindow is large for some
reason
* the Train view controls (play, ffwd etc) have nowhere
to go at present -- need to fix that !!!
* When you resize the mainwindow width the sidebars expand
and should remain a fixed width
* not sure if it will build on Windows or Mac!
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