The left sidebar is now a stacked widget and the toolbox
has been consigned to history. We are now ready to add a
left sidebar for the metric "home" view.
Part of a series of commits to adjust the UI on a Mac to
look more native and conform better to the Mac UI design
guidelines.
This patch introduces a unified title and toolbar which hosts
a search field and buttons for commonly used functions like
import, split ride, delete etc.
Since it is not possible (or more importantly good practice) to
hide and show toolbar items the Train View controls have now been
moved to the sidebar on a Mac. This is a temporary measure and
will be resolved in future updates.
Further updates planned are;
Part 2 - fixup the preferences pane to be more Mac-like
Part 3 - Spit and Polish around the charts; drop shadows, controls etc
But NOT for win32 and ONLY on the sidebar and tabwidget (for
performance reasons). Since most users prefer the tabbed look
anyway this should be ok.
Performance of the graphicseffect has improved remarkably in
the 2 years since we tried it before. Worth experimenting with
since it adds a bit of polish to the look and feel.
Users turn it on and off in options, it is off by default.
The ride navigator has 0 contents margins which made
grabbing and resizing impossible in paned mode. This
was done to make it look beter when it is a ride list.
It now has a constructor argument to specify if its
being put into mainwindow as the ride list or its being
added to a view.
You can now add the summary chart to the diary
view to get a summary of the date range currently
being summarised on that view.
Once the Home view has its own sidebar that selects
date ranges you will be able to add it there too
and summarise seasons etc.
Temporary update just to select the left sidebar whenever
a different view is selected. This will go away eventually
but starts to get closer to the finished concept.
Now need to work on the Home View sidebar.
It should be white to be in line with the rest of the
sidebars and have some semblance of coherence.
I also put a rectangle around the box so if the day
color is white you can still see there is a ride that day.
A summary ala the interval summary will come next summarising
either day, week or month for the ride selected.
Drop the notion of a rhs sidebar and move the calendar
from the rhs to the lhs toolbox. It will soon be the
context sidebar for the diary view, and also get a
day summary at the bottom, but for now lets just remove
the references to a rhs sidebar.
The chart settings are no longer in the side bar and can be selected
from a drop down menu on the chart. This works in tiled and tabbed
mode and allows for further enhancements e.g. custom menu options
for commonly use config options (ala Android).
This is part of a series of updates to migrate away from a sidebar
that is a toolbox of ridelist etc and move back towards a context
sensitive sidebar.
Last part of the search/filter functionality;
* SearchBox now incorporates filter and search
with a new widget. We can update this widget
to include more fancy UI/Interactions without
having to change the ride list or charts etc.
* Added search/filter widget to the relevant charts
and screens; Metrics, TreeMap, CP, Histogram,
Activity Log, Ride list (refactored out of MainWindow)
* Added namedsearches.xml and adding/selecting them
from a drop down menu on the search box.
* Fixed some performance bugs related to duplicate
signals and redraw/reprocessing. Also ensured that
CLucene remains optional -- but means no search or
filter functionality unless it is available.
Added evaluation of filters and integrated with the ride list, this
means the user can filter the rides listed.
Additionally the search box will highlight the filter in red if
it doesn't parse correctly, and a tooltip describes the errors.
Part 1 of Data filtering, this patch adds the ability
to enter and parse filter statements in the search box
(by clicking on the magnifying glass it becomes a filter
box).
The statements can reference metrics and metadata fields
allowing the user to define boolean expressions to filter
data. An example of the syntax;
Average_Power > 200 and Duration > 3600
This references the metric Average_Power and ride Duration. But
will also support operations on metadata fields, for example;
Workout_Code endsWith "SST"
The operators are;
= <> > >= < <= matches contains endswith beginswith
( ) && and || or
Filters are syntactically and semantically validated. But at
this point the resulting tree is not evaluated, i.e. we can
parse the filters, but do not execute them.
Two further updates are pending (once written and tested):
- Part 2 of 3 : Execute filters and apply to the ride list
- Part 3 of 3 : Allow named filters and apply to LTM charts
Further updates will support a visual editor and allowing filters
to be applied to CP and Histogram charts and affect the PMC stress
calculators.
Fixed up the code to use withings weight when calculating watts
per kilogram and the display on the CP chart.
There will be issues when retrospectively refreshing data from a
withings account, but that is such an edge case we can just ask
people to delete old .cpx files to ensure they are refreshed.
Re-enabled the measures feature, largely to allow donwload
from Withings for folks that track weight.
This is to provide better support ahead of showing watts/kg
on the mean max "CP" chart.
Find interval dialog will now allow you to add
intervals by time or distance (e.g. add interval for
every 10 minutes or every kilometer).
Since there were three menu options all doing similar
things, they have now been consolidated into a single
dialog.
Upgrade to QWT 6.0.1, but still uses a locally patched copy
since support for 8 axes has not been included, despite it
being a relatively simple patch.
Fixes#634.
Fixes#567.
A rudimentary calendar, not customisable or resizable
and only every selects first ride for the day selected.
But it is the beginning of the widgets needed for the
new UI "look" discussed on the list.
Need to work on font sizes for Win/Mac and refining
the whole look and feel. Especially a sidebar widget
to put it in!
Fixes#369.
Allow the user to add a chart from the top-level
view menu, or by right clicking on the home page.
I did not implement as right click on toolbar since
there is already an add chart icon on the toolbar
and adding right click is kind of redundant in that
case.
Fixes#606.
The interval view now allows the user to drag and drop intervals
up and down in the list.
We could extend the drag and drop of intervals to support analysis
of segments/intervals from multiple rides in the future too.
Fixes#405.
Since it can be confusing to new or occasional users, the
workout directory now defaults to the top-level GC directory.
This kind of makes sense since it is shared across all cyclists
and is guaranteed to exist, and will still work when running
from a USB stick.
When we get round to implementing feature 193 and 570 we can
adjust this to suit.
Fixes#571.
Added a menu option to quit all windows rather than
just the current one.
Each window will process a close event and so give the
user the option to save changed files and cancel closing
it.
Fixes#566.
Tom Compton of AnalyticCycling.com has provided
a formula to calculate virtual speed based upon
slope, weight, power, cdA, crr and air density.
This is now implemented as 'Virtual Speed'.
It is expected that this new virtual speed will
be used to control streetview, video rendering
and future implementations of group riding over
a predefined course.
Fixes#527.
A new menu option added to download workout
files from the ErgDB. Will also need to look
at upload so we can share amongst the GC
community.
Fixes#521.
A menu option to upload ride files to the Strava website.
Original code from Justin Knotzke ported to v3 by
Damien Grauser.
If the ride has already been uploaded the upload menu
option is disabled, once uploaded a tag is set in the ride
with the strava id.
Fixes#519.
The show/hide sidebar, Toggle Tabbed Mode, FullScreen
and Add Chart buttons now have a tooltip to help explain
what they do.
We still need better icons too!