Commit Graph

117 Commits

Author SHA1 Message Date
Mark Liversedge
c934e8b4d0 Aesthetic Tweaks
.. tile mode highlights on mouse over for a more
   fluid feel, and better feedback

.. can customise the trend view charts background

.. fixed a SEGV on apply preset in chart setup

.. this is part of a set of updates to update the
   standard setup to be more complete so the user
   can pretty much run off a standard config.
2015-01-23 12:06:03 +00:00
Mark Liversedge
5692d362d0 ConfigChanged Part 1 of 3
.. 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)
2014-12-29 13:41:50 +00:00
Mark Liversedge
78a058880a No more WANT_RIDECACHE
.. its not optional !
2014-12-26 19:24:36 +00:00
Mark Liversedge
282ecdef63 RideCache Background Refresh Framework
.. subtle, thin progress bar on tabview to notify
   when background updates are in progress

.. background updating code created but does not
   perform a refresh yet, just sleeps for 0.2s

.. to enable 'visibility' of the code use WANT_RIDECACHE
   to the defines in gcconfig.pri
2014-12-05 20:08:32 +00:00
Claus Assmann
35eb416bd2 Fix comment spelling errors
.. lots of them !
2014-11-24 15:37:56 +00:00
Joern
230f028037 AthleteDirectory - Folder Structure Part 2 of 2 + Always create .JSON
... create folder structure for existing and new athletes
... upgrade existing athlete to new structure when opening / incl.
logging and error handling
... convert any "Downloaded" file to .JSON directly - store source file
in /downloads
... convert any "Imported" file to .JSON directly - store source file in
/imports
2014-11-02 19:55:01 +01:00
Joern
f1447d2664 AthleteDirectory - Folder Structure Part 1
... introduce new "home" Folder structure object representing the
previous flat-folder
... adjust relevant QDir home - access to use the sub-folder method of
the new object

Note: the new structure is not yet active ! - everything is written to
the main folder still

To Do:
... add upgrade procedure for existing folder content to merge to the
new folders
2014-10-25 19:08:27 +02:00
Mark Liversedge
1cb483654e remove global QApplication *application
.. it is available from the macro qApp anyway.
2014-08-07 22:25:03 +01:00
Joern
0993739d9c Translation Enablement
... some last tr()s
... translation for new "Chart Titles"
... translation for new "Default Charts"
2014-07-21 21:09:07 +02:00
Joern
4f8e7c82a5 Translate ":/-Layout.XML" metrics charts
... second part: 2nd part ("-Layout.XML") translation
... "Mapping Table generation" provided as a new LTMTool routine (to
avoid duplicate code)
... mapping to HomeWindow::restoreState(bool useDefault) for the LTM
Window type charts added
... metricUnit considered in getting the mapping texts for "unit"
2014-07-21 17:56:18 +02:00
Mark Liversedge
515f9f77fc Set the title when adding a chart
Fixes #967
2014-07-10 20:13:45 +01:00
Mark Liversedge
ba78583e12 Remove Orphaned Widget in HomeWindow !
.. wow, this has been there for at least 3 or 4 years and
   never bitten us.

.. for some strange reason it bites when you have a 3d plot
   in one of the layouts.
2014-06-22 09:31:26 +01:00
Joern
fd2d9a7875 Translation Enablement
... and nothing else
2014-06-13 20:45:04 +02:00
Mark Liversedge
bb1e8e3917 Reinstate show() for new charts in tile mode
.. was removed due to a crash on beta versions of QT5
   but appears to work fine with QT 5.3.0, so reinstated!

Fixes #910
2014-06-10 15:58:50 +01:00
Mark Liversedge
29aa19fac2 Fix ScrollBar in HomeWindow
.. for tile mode.
2014-05-27 19:15:09 +01:00
Mark Liversedge
7bbca327bc Fix SEGV on empty HomeWindow
.. if there are no charts homewindow crashes. oops.
2014-05-11 18:33:12 +01:00
Mark Liversedge
e2432adc04 Dialog deleteLater() om HomeWindow
.. trying to id the Mac crash.
2014-04-25 21:21:37 +01:00
Mark Liversedge
ccfaaf3b97 Fix CP chart reveal controls on QT5
.. and also remove the yucky labels on the chart in readiness
   for a CP model widget to overlay and move about the chart.
2014-03-21 12:38:11 +00:00
Mark Liversedge
aa9cc72aa3 Less event filtering
.. too many widgets are filtering events needlessly.
2014-03-21 11:57:51 +00:00
Mark Liversedge
3dae0a2fe3 Less event processing in HomeWindow
.. was trapping too many events, even when not visible

.. also went back to multishot timer for unreveal but
   stop it when the unreveal even happens.
2014-03-21 07:15:45 +00:00
Mark Liversedge
14031a0063 Fix SEGV on add chart with Qt5
.. and also selects the first chart on the chartbar at startup.
2014-03-12 13:28:01 +00:00
Mark Liversedge
134b976d5f More Charts honouring Colors Preferences
.. Further updates to the charts to honour the background
   color preferences:

        * Google Maps
        * Ride Summary
        * Scatter
        * Details (Metadata)
        * LTM Data View
        * Editor

.. still a few left to do and not entirely happy with how
   things look on the editor but we can fix this up over
   time.
2014-03-11 17:58:41 +00:00
Mark Liversedge
4b387d6bd6 Update ChartBar button text
.. when editing it in the chart settings
2014-03-08 20:47:39 +00:00
Mark Liversedge
358a3511f1 Replace Tabbar with a Scopebar
.. Only tested on Linux

.. Now going to check on Mac and Qt5

.. Also does not yet support re-ordering tabs
   nor scrolling when there are too many to show.
   This will come in future updates.
2014-03-08 11:36:05 +00:00
Mark Liversedge
c36386d8ca Reverse last commit re spacing
.. not because it was a bad idea, it is a great idea.

.. we need to replace the tabbar with a scopebar and
   customise it for the view menu and support scrolling
   left and right.

.. will sort this weekend
2014-03-07 20:46:19 +00:00
Mark Liversedge
3d992cf886 Moving to less border space
.. The UI spacing is a bit 'old hat' and not really in line
   with modern UI's -- so reducing the amount of unneeded
   spacing between widgets.

.. There is more to come on this, but for now this means there
   is a little more screen estate for the charts.
2014-03-07 13:23:58 +00:00
Mark Liversedge
87ba542197 What's in a name ?
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.
2014-01-12 13:06:00 +00:00
Mark Liversedge
bd37801225 DateRange Compare Pane
.. now can drag and drop any date range onto the
   home view compare pane to compatre different
   seasons, and even across athletes.

.. we setup the metrics and measures in the context
   so the charts don't have to, but we still need to
   reference the source context for bests and ridefilecache
   data

NOTE: We need a mechanism for 'locking' source tabs/athletes
      when they are part of a compare to avoid crashing when
      a context is deleted whilst we are comparing

NOTE: We till need a way to remove entries from the compare
      pane, possibly call it when an athlete is closed too
      (see note above).
2013-12-29 13:00:46 +00:00
Mark Liversedge
aa8605e8d5 QT5 -- 1 of 3
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.
2013-12-09 09:57:13 +00:00
Mark Liversedge
2a47d36ff1 Auto show compare on drag interval
.. but its broken, needs fixing.
2013-11-30 22:19:38 +00: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
2f056ea938 More MainWindow tidy
.. reduce the number of public members
2013-07-19 15:28:29 +01:00
Mark Liversedge
59fd0db564 Move specialFields from MainWindow to Context
.. and tidy up a few unneccessary references to mainWindow
2013-07-14 11:51:34 +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
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
8f5952d1be Fixup reset layout for tile mode
The show() is needed them, for each chart.
2013-06-04 19:42:48 +01:00
Mark Liversedge
3eacee9602 Fix reset layout 'crash'
Fixes #629.
2013-06-04 19:18:29 +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
a2e1928188 Added Jon Escombe to Contributors
.. in about dialog.
2013-05-04 10:04:55 +01:00
Mark Liversedge
6ac25c87de UI Nits: Add chart frame on chart
The frame on the chart wasn't shown and it looked ugly
in the add chart dialog.
2013-05-04 09:29:33 +01:00
Mark Liversedge
796ecf7aaa New chart dialog no stay on top
.. to avoid clashing with dialogs opened from the chart
   settings.

Fixes #562.
2013-04-08 19:45:06 +01:00
Mark Liversedge
d3e6b3cf6c Code Cleanup: Home and GcWindows
Tidy up code, removing XXX and comemnted out blocks
of code in preparation for V3.0 release.
2013-02-07 13:21:15 +00:00
Mark Liversedge
f08e83210b UI Nits: Tile Mode cleaner
Made the spacing in tile mode smaller and cleaned up
the decorations to make them cleaner and more in line
with modern UIs like Win 8 and OSX.

Also parameterised the spacing / margins in HomeWindow
in case we want to add a slidebar to adjust them or
maybe even a zooming.
2013-01-20 12:58:23 +00:00
Damien
00e9187d05 Transparent background for reveal controls
Add controls for HrPwWindow
2013-01-15 23:40:39 +01:00
Mark Liversedge
1b5fcdd84a Change 'hotspot' for reveal/unreveal 2013-01-14 23:12:28 +00:00
Mark Liversedge
26821226f3 Chart settings reveal adjust mouse positions
.. have a larger area to activate and deactivate the
revealed chart controls.
2013-01-13 18:30:13 +00:00
Mark Liversedge
0fe044cc50 Autohidden chart settings framework
Setup code to enable revealed chart controls. When
in tabbed mode, if the cursor is towards the title
then the chart controls are revealed, as the cursor
moves away or off the chart the controls are hidden.

Each chart, that wants revealed controls must implement;

bool hasReveal() -- return true if controls are available
void reveal()    -- show controls (must be at top of chart and a single line)
void unrveal()   -- hide controls

Will now work through each chart adding the controls as needed.
Will also probably end up with a 'standard' flat stylesheet for
the controls, can implement this later.

See description for this feature here:
https://github.com/GoldenCheetah/GoldenCheetah/issues/31#issuecomment-12040318
2013-01-13 14:55:16 +00:00
Mark Liversedge
3a5ce262cf UI Nits: Reformat allplot chart settings
To be a little easier on the eye. But still some
room for improvement.
2013-01-10 21:17:10 +00:00
Mark Liversedge
559ad9e672 Fix date selection in Tile Mode
Fixes #424.
2013-01-06 19:02:00 +00:00
Mark Liversedge
ee36317b0f Chart Dates: Part 1 of 3
An update to allow users to define a specific date
range for a chart on the home window. This update
only applies to the LTM chart and only allows a
date range from/to to be defined.

It would be nice to also support a last 'n' 'period'
selection too (i.e. last n days/weeks/months).

Also, further updates are required to add similar
functionality to TreeMap, CP, Dist and Summary charts
when they are on the home window.
2013-01-02 14:34:17 +00:00