Commit Graph

297 Commits

Author SHA1 Message Date
Mark Liversedge
676b6ba52b UI Nits: LTM Sidebar (Part 2 of 3)
The last of a series of recent patches to address performance
degradation from the introduction of the LTMSiebar. This last
patch introduces a CPX aggregates cache to re-use aggregated
CPX data (e.g. for plotting a specific season or date range).

The cache is set to only hold 25 caches, which should be enough
for most folks list of seasons. But won't get unwieldy if they
scroll around in the diary view.

The following will be introduced in the last patch of
this series:

1. Introduce 'events' within a season and plot them on the
   LTM chart -- a form of 'annotation' but also the beginning
   of planned events in the future too.

2. Implement click functionality on LTM charts but decide if
   we use click to annotate or to define a new date range or
   both?
2012-11-27 21:03:19 +00:00
Damien
8eee2ddb25 Choose Metric/Imperial units in New Athlete dialog
fixes #34
2012-11-26 23:35:35 +01:00
Mark Liversedge
2dea77e1ae UI Nits: LTM Sidebar (Part 1 of 3)
We now have a date range selector in the sidebar.  The
sidebar has a date range selector and summary. It is
used to set the date range for the charts in the view.

As a result we can now add summary charts to the home view
and LTM/CP/Histogram charts to the Diary view. The weekly
summary chart is now deprecated.

Creating seasons has also been disabled on metric charts. We
will need to decide what clicking on an LTM chart should do,
and look at whether we want to keep the popup bubble or
adjust it.

There are some unfortunate performance degradations as a result
of this patch when selecting date ranges and switching between
charts in tab view. This needs to be addressed as a priority.

Follow up patches, part 2 and 3 will need to;
1. address performance degradations & cache results
2. introduce events in sidebar and as annotations on charts
3. implement click functionality on LTM charts (annotate vs
  define a new season/range)

NOTE: existing HOME, ANALYSIS and DIARY chart setups will need
      to be rebuilt since chart ids and properties have changed
      in this patch -- do not raise a bug until you have deleted
      and re-added the offending chart.
2012-11-26 20:20:36 +00:00
Mark Liversedge
c75ec41e4b Set Application Proxy from Operating System
Uses the QT proxy query and application wide proxy setting
to allow users behind a corporate firewall to use network
functions (maps, TP.com, ergDB etc).

Fixes #27.
2012-11-24 10:03:39 +00:00
Mark Liversedge
1c2fa048f9 UI Nits: Non-Mac searchbox fix
The mac searchbox using a NSSearchField works a
treat on Mac, but the code accidentally removed the
searchbox on Linux and Windows.

This patch reinstates it.
2012-11-23 22:05:37 +00:00
Mark Liversedge
749a487915 UI Nits: No menu on list view
The menu drop down can appear on the list view. This is
now disabled via a window property "nomenu".

Also set the new attribute to set native widgets on a Mac.
2012-11-20 19:58:10 +00:00
Mark Liversedge
4b412ef14a UI Polish: Show/Hide Sidebar on ScopeBar for Mac
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.
2012-11-20 19:14:37 +00:00
Mark Liversedge
9ee2eab311 UI Polish: Move train view controls to scope bar
Now we have a scope bar we can move the train view controls
out of the sidebar.
2012-11-20 17:21:22 +00:00
Mark Liversedge
3f01540bb3 the last commit needed one or two #ifdef Q_OS_MACs 2012-11-20 16:06:55 +00:00
Mark Liversedge
1e346f43b6 UI Polish: Scope Bar for Mac Native
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).
2012-11-20 15:46:31 +00:00
Mark Liversedge
3dbc095eb6 UI Polish: Toolbar spacing reduced
In readiness for a scope bar, the Mac unified title and toolbar height
is too large and needs to reduce. It now has very similar margins as the
Mac Mail toolbar.

The scope bar will make it look less compact when it is introduced.
2012-11-20 12:34:39 +00:00
Mark Liversedge
1cdb5568d3 UI Nits: Goodbye ToolBox
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.
2012-11-19 22:15:35 +00:00
Mark Liversedge
b82fc3b15e Merge branch 'master' of github.com:GoldenCheetah/GoldenCheetah 2012-11-19 20:04:25 +00:00
Mark Liversedge
51ab7e88ce UI Polish: Mac Style Selector
Added a style selector to the Mac toolbar to toggle
between tabbed or tiled mode.
2012-11-19 20:03:25 +00:00
gcoco
93c48a3da4 URL updates
Update URL's for WIKI/Tracker to point to the base pages on main website
2012-11-19 12:30:05 -05:00
Mark Liversedge
3fd0993a1e Minor Fixups for Mac Native
A couple of #ifdef Q_OS_MAC needed around
bits of code that are Mac native. To support
the Mac Native patch just applied.
2012-11-18 16:39:44 +00:00
Damien
335b991e04 Add myzeo data download Add ZQ and sleep time metrics 2012-11-18 16:13:15 +00:00
Mark Liversedge
f43ac923c5 Mac Native UI (Part 1 of 3)
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
2012-11-18 15:55:07 +00:00
Mark Liversedge
33d2358277 Revert "UI Nits: Reinstate drop shadow option"
This reverts commit 3c57f01674.

It just doesn't work. Painting and UI responses are lost
and the price is not worth paying for some eye candy.
2012-11-13 16:35:46 +00:00
Mark Liversedge
3c57f01674 UI Nits: Reinstate drop shadow option
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.
2012-11-13 15:22:38 +00:00
Mark Liversedge
fcbff57bac UI Nits: RideNavigator margins to allow resize
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.
2012-11-13 14:45:27 +00:00
Mark Liversedge
d22777ed74 UI Nits: Daily/Weekly/Monthly Summary
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.
2012-11-13 13:27:36 +00:00
Mark Liversedge
ab1a69859f UI Nits: Auto select toolbox
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.
2012-11-12 14:09:26 +00:00
Mark Liversedge
557bf01018 UI Nits: Add Brief Summary on Calendar Sidebar
To show aggregated summary of effort for the time period. This
is part of a collection of updates to address iritations or
nits in the v3 UI.
2012-11-12 13:21:53 +00:00
Mark Liversedge
3a7b3f0a05 Calendar sidebar cosmetics
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.
2012-11-10 20:54:17 +00:00
Mark Liversedge
482073b7a8 UI Nits: Move Calendar from RHS to LHS Sidebar
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.
2012-11-07 12:01:29 +00:00
Mark Liversedge
3cd5efaa28 UI Nits: Save/Restore Splitter sizes 2012-11-07 11:16:16 +00:00
Mark Liversedge
80020e08fa UI Nits: Analysis sidebar rides & intervals 2012-11-07 10:46:52 +00:00
Mark Liversedge
0427d022c9 UI Nits: Chart settings and Chart Close Menu
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.
2012-11-07 10:10:56 +00:00
Mark Liversedge
d0b009c922 Data Filter (Part 3 of 3)
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.
2012-11-05 15:44:01 +00:00
Mark Liversedge
66668018b0 Data Filter (Part 2 of 3)
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.
2012-10-29 15:33:08 +00:00
Damien
21824457eb About dialog
About dialog now shows versions and contributors.

Fixes #563.
2012-10-28 22:10:11 +00:00
Mark Liversedge
4c60268245 Data Filter (Part 1 of 3)
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.
2012-10-28 20:05:12 +00:00
Mark Liversedge
2854dfe046 Initialise ismultisave variable. 2012-10-22 22:50:44 +01:00
Mark Liversedge
1acd5ea20d Lucene should be optional
Fixup some of the recent commit for searching with support by
ensuring it is only used if lucene support is available.
2012-10-21 17:31:35 +01:00
Mark Liversedge
d33c337b8f Search/Filter using Lucene
Searching and filtering the ride list using a search box.
This is implemented using a new optional dependency on
CLucene.

Fixes #627.
2012-10-21 15:28:26 +01:00
Mark Liversedge
8dae828da2 Withings Weight and Watts per Kilogram
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.
2012-07-08 15:38:53 +01:00
Mark Liversedge
6ee1b2474c Merge branch 'master' of github.com:/srhea/GoldenCheetah 2012-07-08 10:40:03 +01:00
Mark Liversedge
48a4804ad8 Enable Measures in v3.0
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.
2012-07-08 10:38:28 +01:00
Rainer Clasen
bb10ed9207 added upload to trainingstagebuch.org 2012-05-04 16:08:38 +02:00
Gareth Coco
0e291523ed Fix file name for RideWithGPS.com patch
Fixes #677
2012-04-04 14:17:50 -04:00
Damien
745d255220 Add Upload to RideWithGPS.com
new file:   src/RideWithGPSDialog.cpp
	new file:   src/RideWithGPSDialog.h

	modified:   src/MainWindow.cpp
	modified:   src/MainWindow.h
	modified:   src/Pages.cpp
	modified:   src/Pages.h
	modified:   src/Settings.h
	modified:   src/src.pro

Fixes #677
2012-04-04 14:17:50 -04:00
Rainer Clasen
8660df3362 fixed duplicate main window hotkeys
- removed *duplicate* binding of Ctrl-O from options
- moved Ctrl-W from disabled code to closeWindow
2012-03-22 11:05:02 +01:00
Damien
8490d530d6 Find intervals by time/distance
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.
2012-03-21 06:53:41 +00:00
Damien
c44758c5ad Qwt 6.0.1 Support
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.
2012-02-12 10:43:15 +00:00
Mark Liversedge
537da229f2 Reinstate ride calendar
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.
2012-01-30 15:29:16 +00:00
Mark Liversedge
0c89278b22 Add Chart Menus
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.
2012-01-24 22:09:29 +00:00
Mark Liversedge
4932ac6f52 Fix Analysis quick button nits
* Wrong size, wrong spacing
* Actions broke keyboard shortcuts Ctrl-D/I/M
  for download, import, manual ride entry
2012-01-22 18:22:48 +00:00
Mark Liversedge
5d624d840b Fix redclaration of macstyler in MainWindow.cpp 2012-01-22 18:04:34 +00:00
Mark Liversedge
88a736c94d Save button enable/disable
Only enable the save button if the current ride is
dirty. Makes a good visual cue for the end-user.
2012-01-22 18:02:35 +00:00