.. use a simple free text search against the ridecache now we
have all the texts available and in memory
.. no need to maintain an index, no dependency on a horrid lib
with nasty dependencies and its faster too
.. the free text search is very simple, will need to bolster it
over time e.g. it matches text not words
... adds "What's this" to (hopefully) most of the widgets (please report
on missing ones)
... defines draft "Whats' this" texts including a
context specific WikiLink
.. Help Key for all platforms is <Shift>+<F1> + in some widgets
"RightMouse - Click"
... Tested on Win and Mac (On Mac QtMacButton seems not supporting
"What's this") - so here <Shift>+<F1> has no result.
... ToDo: Create final texts and links based on the to be updated 3.11
Wiki
.. apply Flat styling across all the widget painting
.. only use WHITE as the flat color for now, in part 3
we will look at user customisation and updating the
toolbar and sidebar buttons to also be flat.
.. refactor linear gradients out of the widgets
such as toolbar, chartbar, sidebaritem etc
.. GCColor::linearGradient() now returns a gradient
that is reused across the codebase
.. in Part 2 we will add a colour and flat style
for the linearGradient
.. in Part 3 we will tidy up the styling for buttons
and toolbuttons to adopt flat or metal styling too
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.
.. Connected the compare mode on/off switch in the
compare pane to Context to notify charts
.. the scope bar and chart painting now highlight in
red when compare more is active and supported by
a particular chart.
.. each chart must implement isCompare() to return
true or false if it is supporting compare mode.
We /still/ do not have a mechanism for clearing or
reordering items in the compare pane, nor a mechanism
for choosing 'delta' compare (i.e. baseline all compares
to first item in the list).
The final part (and one of the reasons) for the mainwindow
refactoring -- we now support tabbed athletes rather than
having a new mainwindow for each athlete opened.
Context is saved/restored and there are new functions for
opening and closing tabs and windows of tabs.
The tabbar itself is fugly -- the next few days will spend
some time looking at making it prettier on Linux/Win and
more native on Mac (see MMTabBar).
This reverts commit 20739ebb29.
Qt5 has a number of issues that cannot easily be resolved.
An alternative strategy of developing a custom cocoa control
for the mac toolbar is probably a better way forward.
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!
Slowly migrating code and data from the MainWindow
class to Athlete and Context classes.
This update moves the ride and interval lists and
data structures from MainWindow to Athlete.
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
.. for different font sizes and as importantly to make the
buttons large enough for the translated button texts -- this
is particularly important for Deutsch.
.. akin to the Mac look and feel
.. still needs a bit of cosmetic work, but basically sound
.. also added in fixes to native file imports
Fixes#404Fixes#504
Moved icon bar back to the bottom and made Splitter handle
same size as scope bar.
The splitter handle paint artefacts were caused by splitter
size restore from before the "new" splitter. We will need to
rename all the settings to ensure we don't get incorrect sizes
for them in future.
.. 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.
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.
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).
There is now a little button to show and hide the sidebar
just like in Mac Mail. We now only have to add the add chart
button for the toolbar/scope bar changes to be complete.
Added a scope bar for native mac. The windows and linux
toolbar is a combined toolbar and scope bar, on a Mac it
looks much more elegant to split the two.
We will need to now add a show/hide sidebar control on the
left of the scopebar (like apple mail), the train view controls
in the centre and the add chart to the far right).