Commit Graph

443 Commits

Author SHA1 Message Date
Mark Liversedge
c34b060b2f Compare toolbar/menu option
Just added a toolbar button and menu to bring up the
compare pane, before adding it to the tab and view
classes.
2013-11-24 14:18:21 +00:00
Mark Liversedge
7c407c6dd6 Estimate CP and W' in CP Estimator
Since we want to track W' and CP now it makes sense
to add W' estimation to the tool.
2013-11-14 14:11:59 +00:00
Mark Liversedge
5800fa5bab Find Matches as Intervals
Now let the user add 'match' intervals in
the find intervals dialog by setting a minimum
cost for the match.
2013-11-11 17:53:58 +00:00
Mark Liversedge
4f05a0fe54 UI Nits: Center Preferences/Options pane 2013-11-07 14:30:57 +00:00
Damien
16b856d9ed ShareDialog: Add ipload to www.cyclinganalytics.com 2013-10-28 23:27:33 +01:00
Mark Liversedge
68bbb05568 Show/hide scopebar with toolbar
When showing / hiding the toolbar we also show / hide
the scope bar. This is so when in train mode and you go
full screen it is possible to hide all ornamentation.

This will become a moot point when the scope bar is
replaced with 'appstore style icons' in the toolbar
to switch between home, analysis, train etc.
2013-10-27 21:11:59 +00:00
Damien
94454acded ShareDialog 2/3 : For version 3.0.1 2013-10-20 11:10:07 +02:00
Damien
f0c2c2b840 ShareDialog 1/3 : Merge StravaDialog and RideWithGPSDialog
Add OAuth for Strava (Release version only)
2013-10-01 23:18:18 +02:00
Mark Liversedge
e48612184e Slightly larger SearchBox
.. since it was 'just' too small for a typical query.
2013-08-04 22:24:56 +01:00
Mark Liversedge
e74782c6b9 More MainWindow Tidy
.. headers in MainWindow.cpp and deleted commented out
   members in MainWindow.h. Moved Spacer to GcToolBar.h
2013-07-28 10:29:13 +01:00
Mark Liversedge
d816f71504 Refactor fixup resize
.. 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
2013-07-28 10:04:19 +01:00
Mark Liversedge
9473e28200 MainWindow Refactor Part 4 of 5
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!
2013-07-27 21:41:03 +01:00
Mark Liversedge
0a51fdebb5 Move filters from MainWindow to Context
.. we notify search/filter updates via context rather
   than MainWindow
2013-07-27 13:51:09 +01:00
Mark Liversedge
1a1a2d955e More MainWindow Tidy
.. remove dateChanged unused member
.. remove recordMeasure unused member
2013-07-20 18:54:00 +01:00
Mark Liversedge
319a3981b2 Fixup Athlete/DBAccess/MainWindow dependency
A bit of a mix of stuff, but basically the Athlete
class has sql stuff in it, that DBAccess used but
also referenced a session number in MainWindow.

Removed the interdependency and moved all code to do
with DB to DBAccess and out of MainWindow and Athlete.

At the same time needed to clean up a bit of memory
management and so introduced a MainWindow and Athlete
destructor.

We are now ready to do refactor part 4 to split MainWindow
into a new View class (that will be in each tab).
2013-07-20 11:07:03 +01:00
Mark Liversedge
150fe21834 Deprecate unused GcWindowTool 2013-07-19 21:47:46 +01:00
Mark Liversedge
5abf1eae97 A little less MainWindow
.. trying to remove it from as many headers as possible.
2013-07-19 18:08:07 +01:00
Mark Liversedge
43b8c013da More MainWindow tidy
.. remove unneccessary class members

.. reorg to highlight where the remaining members need to
   migrate to
2013-07-18 22:13:03 +01:00
Mark Liversedge
d153e42f98 Clean MainWindow.cpp
.. remove unneccessary #include statements
2013-07-18 09:51:06 +01:00
Mark Liversedge
abc44d97a8 Fixup column chooser
.. in AnalysisSidebar
.. and SearchBox

Will need to fixup again when we introduce Tabs into
MainWindow, but it will be obvious when we get there.
2013-07-18 08:55:39 +01:00
Mark Liversedge
d2901c3119 Move intervals to AnalysisSidebar
Further MainWindow updates, this time moving the code
for working with intervals to the AnalysisSidebar and the
associate menus.

Ultimately, the functions for working with Activities and
their Intervals will move from MainWindow and Sidebars to
the ActivityCollection classes.

This is a step as we strip out MainWindow to just GUI
aspects.
2013-07-18 08:00:35 +01:00
Damien
6ebba3c874 use context->athlete->treeWidget instead of treeWidget 2013-07-17 22:51:18 +02:00
Damien
b0b022aa8c RideFile: Add a ride merge wizard 2013-07-17 22:27:49 +02:00
Mark Liversedge
b7b4712546 Minor tidy up of MainWindow.cpp
Get the sidebar code all in the same place.
For tidiness / maintainability.
2013-07-15 22:29:40 +01:00
Mark Liversedge
bc4a6d978e Introduce AnalysisSidebar widget
Moving the code intertwined into MainWindow for
the analysis view sidebar; activity list, intervals
and calendar into a new AnalysisSidebar class.

                WARNING!

This is a work in progress checkpoint commit
as the sidebar menus and context menus have
not yet been migrated out -- this will be done
in the next commit or two.
2013-07-15 22:24:31 +01:00
Mark Liversedge
7f1a6dafef Deprecate the Bubble
.. its hideous and really annoying.
2013-07-14 21:18:10 +01:00
Mark Liversedge
05c2150b12 Tidy up MainWindow.cpp
.. comments and reorg whats left.
2013-07-14 13:13:38 +01:00
Mark Liversedge
97be00069b Move Crash and Upgrade Processing to Athlete
.. and out of mainwindow
2013-07-14 12:55:08 +01:00
Mark Liversedge
cf82d1b7a9 More refactor tidying
.. move signals to context from mainwindow
.. fix missed updates to aerolab and realtime plot
.. remove clutter from MainWindow.h
2013-07-14 11:23:06 +01:00
Mark Liversedge
9e875dd243 Move allRides initialisation to Athlete
.. was left behind in MainWindow by accident.
2013-07-14 10:25:40 +01:00
Mark Liversedge
8060b4a0d4 Rename TrainTool to TrainSidebar
.. just for a bit of consistency before we develop
   AnalysisSidebar and refactor the views in MainWindow.
2013-07-13 20:15:07 +01:00
Mark Liversedge
d21ca376be MainWindow Refactor Part 3 of 5
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.
2013-07-13 19:46:03 +01:00
Mark Liversedge
ac463538c1 Rename GcCalendar as DiarySidebar
.. as we tidy up the views and decouple them from MainWindow
2013-07-13 09:38:54 +01:00
Mark Liversedge
d639411f24 Move isclean from MainWindow to Athlete
.. rather unfortunate use of English as it leads
   to athlete->isclean == false :)
2013-07-12 18:15:14 +01:00
Mark Liversedge
59505dd100 Remove multisave from MainWindow
.. rather than migrate to context just remove it altogether
2013-07-12 17:36:39 +01:00
Mark Liversedge
210b71588f Further MainWindow Refactor Part 2 of 5
.. migrate constructor from MainWindow to Athlete and
   Context classes

.. remove Athlete *athlete from MainWindow altogether
2013-07-12 13:59:10 +01:00
Mark Liversedge
e7935976c6 Fixup MainWindow refactor Part 2
.. fix workoutwizard context hack
.. fix modelplot (3d) code that was missed
2013-07-11 18:10:37 +01:00
Mark Liversedge
05f1d577db Refactor MainWindow Part 2 of 5
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
2013-07-11 14:02:02 +01:00
Mark Liversedge
22175cf55c Refactor Part 1 Mac Fixups
Fixing a few issues from Part 1 of the MainWindow refactor
for building on a Mac.  Also retired twitter completely.
2013-07-07 16:22:42 +01:00
Mark Liversedge
e407237ac0 MainWindow Refactor Part 1 of 5
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.
2013-07-07 15:50:28 +01:00
Mark Liversedge
401957acf9 Deprecate Strava Support
No API v3 access.

Fixes #656.
2013-07-06 00:12:34 +01:00
Mark Liversedge
dc65c5f5c5 Remove Column Chooser from Chart Settings
Because the chart settings are modal its a really bad
idea to open up a column chooser from there. So, by
default, we don't have a column chooser option on the
search/filter box -- it must be explicitly requested.

We therefore explicity set the column chooser from the
mainwindow and also from the ride navigator window.
2013-06-05 07:01:36 +01:00
Mark Liversedge
894cbcc4e7 Fix first file SEGV
If you delete and readd an activity after showing it on
the diary view you get a SEGV.

This is an edge case related to deleting the last activity
and going back to the blank state before importing another.

Actually there are 3 technical issues;

1. GcCalendar doesn't get notified by MainWindow when
   there are no rides -- so it crashes on refresh

2. RideSummaryWindow doesn't get notified by home window
   if its not visible

3. RideSummaryWindow should check rideItem isn't NULL before
   trying to plot zones (but only for date range summaries)

Fixes #622
2013-05-30 19:31:26 +01:00
Mark Liversedge
ce277baca4 Crash Reporting
We now use a per-athlete setting to track if the last
time the athlete was opened GC shutdown gracefully.

If it didn't then we show a dialog box with some basic
data to use to debug / diag the problem. For now it is
just limited to;

* metric.log
* athlete directory listing (by modified time)
* app settings

We explicitly DO NOT include personal information such
as DOB, Weight, Sex nor critical information such as userids
or passwords.

This is a first stab at this, and we will almost certainly
improve it to include other .xml config files as well as
automatically posting an email (or similar).

Fixes #596.
2013-05-11 22:50:40 +01:00
Mark Liversedge
cd864c5ff2 Added Upgrade processing
We now maintain a build id which correlates to a release
version (or development version if we want).

Most importantly, when we increment the build id we get to
run some processing when the cyclist is opened to clean/prep
for this release.

I have added V3 RC3 as the first build id and it will
remove *.cpi and *.bak files as well as removing the
clucene index and metricDBv3 file.

Fixes #584.
2013-05-02 16:18:04 +01:00
Mark Liversedge
8b1d680682 Edit Named Searches
Fixes #577
2013-04-27 13:49:27 +01:00
Mark Liversedge
10ed9af555 Metric Histogram Plot
Update to the histogram plot to now plot long term metrics.
It enables you to plot distribution of say, Intensity Factor
for a season or cycle.

You can select the y-axis metric too, so rather than just
plotting duration you could plot say, TSS accumulated for
different ride intensities.

Fixes #560
2013-04-20 10:35:44 +01:00
Damien
8c3802103f Restore sizes after sidebar reshow
fixes #568
2013-04-12 19:32:41 +02:00
Damien
f0a81b115f No resize of left sidebar after reshow 2013-04-12 17:04:45 +02:00
Mark Liversedge
8ab9164e7e Fix repaint of intervals when one changes 2013-04-10 21:31:51 +01:00