.. 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)
.. removes across the code base
.. need to fixup RideFileCache and Lucene refresh
within the RideItem/RideCache framework, they will
NOT be refreshed at present
.. need to look at how charts get refreshed on data
changes now RideItem provides a more granular
mechanism (look for XXXREFRESH in code)
.. New Intervals code will definitely NOT compile
and needs to be redesigned/reimplemented to fit
in with the ride cache
.. the headings get resized as the mainwindow is
resized, when they shouldn't -- the sidebar is
getting resized twice - once on mainwindow
being resized and then our code fixing it back.
.. we now only set those widths on the mainwindow
when we are told to by TabView::splitterMoved()
.. a regression from the mainwindow refactoring
earlier this year.
.. when the mainwindow resizes the splitter should
stay at the same size on the left.
.. and making it easier to apply globally with a new
static member of TabView to return the style sheet.
.. we may extend this to cover the application more
broadly.
.. part of the refactor of mainwindow saw the sidebar
sizes independently set and therefore using different
settings.
.. we now use the old setting if first time through, or
if first time run for athlete set a sensible default.
.. if the compare pane is automatically shown or hidden
due to the user dragging and dropping the menu and toolbar
got out of sync with the status of the widget.
.. compare pane now appears and disappears on both
the analysis view and home view
.. it also is notified of drag/drop events and can
accept the objects dropped
.. it is now time to write the widget for collecting
and managing compare sets
.. now the compare pane will appear and disapear
when the user drags and interval / season into
the view.
By fixing the way we handle QDragLeaveEvents in the
code in TabView.h ViewSplitter.
Introduce an hpos property on TabView::mainSplitter so we can use
an animation to make the compare pane slide up and down when
arriving and leaving.
Will add the animation shortly, just pushing to save updates.
.. it was not possibe to resize the window because
the blankstate page was too big.
.. blankstatepage is hidden for now until we fix the
logic for it in TabView
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!
Part 4 of the MainWindow refactor is moving the code for the
4 views (Analysis, Train, Home, Diary) out of MainWindow and
into a separate set of classes.
TabView is the base class for the 4 views and the basic code
is in this commit, but now need to work on the 4 derived
classes for Analysis, Home etc and the controller class 'Tab'.