.. 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 !)
.. import/export charts
.. drag/drop them in the list to reorder
.. drop a 'charts.xml' (any .xml) file onto the mainwindow
to import charts exported by someone else.
.. 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
.. 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)
... 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
.. LTM chart now has a 'use sidebar settings' checkbox
and will display the chart that is selected in the sidebar
.. as the sidebar selection changes the window will plot it
using data for the current date range configured / selected
.. part 3 will now come later to let you manage the charts from
the sidebar menu (it is already in the LTM tool).
Add preset charts to the LTM sidebar, and allow LTM charts
to refer to sidebar for config instead of the local config.
In this way we can have a chart that changes as we select different
charts in the sidebar and remove the need to have lots and lots of
different charts on the tabs.
But it still allows for the old way of doing things -- just adds
another type of flexibility -- for instance a user could add
charts with set date ranges but no specific curve setup so they
could havethis year, this month, last month charts that change as
charts are selected in the sidebar.
This first commit just adds the sidebar item, next we will update
the LTM chart to refer to it in part 2 and then in part 3 we
will add functions on the sidebar to manage the chart presets in
the same way as in LTMTool.
... Filter/Autofilter did not consider Translation of the Filter
Criteria - using Special Fields (to translate from internal to external
names is working for me - but do special fields cover all variants?)
(cherry picked from commit 5cc4218a2a0877a1f8ff4f36d1367bee37c34d2d)
... Translation for Season Types
... Do not allow Temporary Seasons to be edited or deleted through the
main seasons menu (in right click Popup this was already blocked by not
offering the function)
(cherry picked from commit cc7a0a7f8d0b74ca4b9d64d61291206ea58d3f94)
.. should be ok to drag and drop a standard
date range as well as a season definition
.. pass across the start, end etc to avoid having
to dereference from the source context
.. this allows us to drag and drop between athletes or
to switch athlete if dropping from outside of GC.
.. also added context to the mime data so the compare pane
will know where the dragged object has come from (ie. it
may be from a different athlete).
.. let the user choose metadata texts to filter
by value in the sidebar.
Note there are issues;
1. the value lists are not updated automatically when
rides are updated or imported and values are added
or removed.
2. it only works with shorttext metadata fields, we might
choose to add numeric etc later.
3. it would be nice to get an indication of how many
activities contain the value and maybe even sort
by count.
The recent filter bar in home view was coded without taking
into account the fact that LUCENE is an optional build component.
This caused builds to fail when LUCENE wasn't installed.
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.
There still some assert left in the code, but removed
a fair number of the examples where, its just as easy
to handle the condition gracefully, without crashing.
By 3.1 we will have eradicated assert from the code.
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
Breaking the MainWindow 'god object' into
separate classes for Athlete and Context.
Further updates will need to;
- 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
Once these are done we will be in a position to decouple
most classes from mainwindow and also introduce tabbed
athletes.
Its RC6 and we only just caught this bug!!! It was not
possible to delete or edit date ranges of type 'Cycle' due
to a cockup with the type() values.
Thanks to Martin Wifling for finding this one!
When the user free text searches or applies a data filter in
the top right toolbar search box it gets applied to any charts
that plot data from many rides, including;
- CP curve
- Calendar
- Histogram
- LTM
- TreeMap
- Summary
I need to update on a Mac to no longer use a Mac text search box
but now use a search filter box on the top right.
.. if you resize them they will show as many months
as they can fit vertically.
.. also removed the scrollbars in the summarys shown
in the diary and LTM sidebar
Fixes#503.