Commit Graph

77 Commits

Author SHA1 Message Date
Mark Liversedge
fb994fa5e7 Rename Ride to Activity
.. across the code, except where it clearly is a ride
   e.g. importing PowerTap or SRM
2015-01-30 10:59:56 +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
Joern
0610575a7c Enable Context Help (Shift+F1) using "QT's - What's This"
... 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
2014-12-14 18:55:42 +01:00
Joern
a73d5df95c AutoImport - 2nd version
... multiple pathes per Athlete (on Athlete-Preferences - AutoImport
TAB) - option per Path if Import shall be done or not (e.g. for
temporary de-activation without removig a path)
... configuration stored in XML file in /config subdir
... no "stealth" mode any more - but full log of Rides to be imported
with option to "Abort" the import process at any time
2014-11-09 10:58:23 +01:00
Mark Liversedge
db3e580aa8 Expand to use space in Options/Prefs
.. when it is resized instead of just adding
   or removing space between close/save buttons
   and the config widgets
2014-10-25 11:43:54 +01:00
Mark Liversedge
ca7ef59573 Add Running Pace Zones (1 of 3)
.. in this first part we just add the pace.zones file
   and basic configuration of critical velocity history
   in the configuration pane.

.. in part 2 we need to fixup custom zones and consider
   how they might be adjusted for VDOT/Daniels etc etc

.. in part 3 we need to add pace zones to the ridefile
   cache and then histogram and summary charts.
2014-10-12 22:06:05 +01:00
Mark Liversedge
6b26f527fc Fix SEGV and more when athlete home changed
.. segv removed caused by signalling configChanged when context has been
   deleted due to all the mainwindows being closed

.. check for path being reset to blank as well as being set to a different
   place.
2014-06-25 12:30:52 +01:00
Mark Liversedge
e2b933fe2b Make Preferences/Options Resizable
.. when using other languages e.g German it may be
   useful to make it wider if needed.

.. the pane still appears using a minimum size that
   we calculate, so should affect users.
2014-05-28 09:23:32 +01:00
Mark Liversedge
2329816c6e Make ConfigDialog bigger on Mac too 2014-05-19 19:15:45 +01:00
Mark Liversedge
09890ad3b6 Center the Preferences Icons
.. now the config dialog is a bit wider (to accomodate longer
   texts in other languages, e.g. Deutsche).
2014-05-19 18:59:49 +01:00
Joern
cc098229b2 Translation Enablement + some small changes
...ConfigDialog.cpp
- -Increase overall size of window (for NON Mac only so far) - this
eases the translation as in non EN languages

... Pages.CCP
- Changed 2 fixed button sizes (to allow proper translation)
- Correction: if Directoy Browsing was Aborted without selection - the
previous value was deleted
- Chooses the 2nd column to search for "New" text in case of 2 text
colums (short and long)
- All the rest Translation enablement

...DiarySidebar.cpp
- enable translation of date formats

(cherry picked from commit 3bbc68a277e743e610630795bb60dc515ced0355)
2014-05-19 19:42:14 +02:00
Joern
ecd2e83693 Enable Translation (1)
... enable translation

(cherry picked from commit d4deb2fd981d601a1378172e24a20b61a7b3c4ec)
2014-05-17 10:25:37 +02:00
Mark Liversedge
757bb7d875 More UnifiedTitleToolbar Fixups
.. fix preferences dialog toolbar
.. dodgy stylesheet fixed in MainWindow
2014-02-13 12:11:45 +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
b7c43408ea Prefs pane sizing to font size
.. to stop it being too small when you select a larger font.
2013-12-06 13:01:29 +00:00
Mark Liversedge
4dc94b97b2 Athlete Bests on Summary
Configurable metrics to show top 10 bests for date
range selected.
2013-11-16 21:01:01 +00:00
Mark Liversedge
ab8aaee088 Restart properly when home changes
After fixing up the trainDB problem we can now restart
the mainwindows safely when the athlete directory changes.
2013-11-16 09:38:17 +00:00
Mark Liversedge
c0619eadbc User definable athlete library location
Allow the user to select a directory to use for the
athlete libary. Leaving it blank will continue to use
the default location (dependent on platform).

If it is changed the user will be asked to confirm
and then GC shuts down.

Restart wouldn't work due to issues with the DBAccess
QSqlDatabase connection (which is really annoying). I
will look into this as a restart option would be much
cleaner.

Its only taken 4 years to implement this feature! (ouch).

Fixes #282.
2013-11-15 23:19:04 +00:00
Mark Liversedge
a2a962120c A lot less assert
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.
2013-08-04 11:06:07 +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
Alejandro Martinez
14a2fe5bd5 Options Toolbar & Keywords Translations 2012-12-29 16:08:03 -03:00
Mark Liversedge
35fadf4ea8 ConfigDialog was missing copyright messages 2012-12-10 14:35:11 +00:00
Mark Liversedge
645439e53c UI Nits: Geometry and setUnifiedTitleAndToolBar
The restore / set geometry for the config dialog and mainwindow
was 'adjusted' by setUnifiedTitleAndToolBarOnMac. This meant
that when restoring geometry at startup the window would gradually
decrease in size (by roughly 42 pixels).
2012-12-10 08:51:41 +00:00
Mark Liversedge
a21c5192be UI Nits: Config Dialog toolbar not movable 2012-12-07 17:17:20 +00:00
Mark Liversedge
9a271ba83d UI Nits: Config Dialog Size on Linux 2012-12-07 17:00:12 +00:00
Mark Liversedge
47edb7ac29 Tidy up Preferences Dialog
Big refactor of the code since it was really messy
and also moved to a Mac style config dialog with
a bit of Mac UI polish.

Moved many of the pages around to make it more user
friendly.

Removed the fortius and proxy code altogether
and removed the measures config since we will need to
look at this in v3.1 and don't want to have to add
backward compatibility support for users that change it.

Fixes #358.
2012-12-07 16:32:58 +00:00
Alejandro Martinez
6f49bcea16 Add es and pt translation files set lang default according to system default 2012-11-29 23:34:58 +01:00
Damien
8eee2ddb25 Choose Metric/Imperial units in New Athlete dialog
fixes #34
2012-11-26 23:35:35 +01:00
Mark Liversedge
43b1c61d6b Add Device Wizard
Introduce a wizard for adding realtime devices since it
is prone to user error, is relatively complicated and is
something most users will only ever do once or twice.

There are several logical updates within this patch:

First; Fix intermittent ANT+ not working
* LibUsb     - check bufRemaining is > 0 not non-zero
* LibUsb     - Always reset the USB stick on open
* ANT.cpp    - Support > 4 channels on USB2
* ANTChannel -  Do not use pairing, but always
*               unassign, assign and set channel id.

Second; Fix device discovery
* Find and discover support in realtime controllers
* Extend Serial.cpp to cover more Serial devices
* Support for 4 or 8 ANT channels for USB1/USB2

Third; Introduce Add Device Wizard with
* General and Specific wizard pages for each device type
* Device pairing with telemetry display
* fixed compile time warnings

Fourth; Update Device Config Page
* use wizard to add new device
* remove edit fields, replaced by wizard
* remove pair, firmware buttons replaced by wizard

Fifth; Deprecate/Remove Device Types
* Null Device - used by developers only
* Quarqd client - replaced by Native ANT+
* GC Server - not implemented yet

I have also introduced a device specific wheel size
and flags for controlling the default selection and
sources for sensor data when in multi-device mode. These
are not yet supported in the code.

Fixes #611.
Fixes #497.
2012-01-21 20:28:33 +00:00
Mark Liversedge
2c95b70696 Add Wheelsize Config
So we can calculate speed from wheelRPM when working
with ANT+ speed sensors in realtime.

The config screen is still ugly as hell, but there is
another bug raised to resolve that.

Fixes #529.
2012-01-14 15:38:01 +00:00
Mark Liversedge
d8ad48ac45 Save Garmin Threshold Config Setting
Fixes #591.
2012-01-11 21:22:37 +00:00
Mark Liversedge
4b25aa57d2 Save Garmin Smart Record setting
Config dialog lost the code to save the
garmin smart recording setting.

Fixes #591.
2012-01-11 20:45:56 +00:00
Mark Liversedge
30f1113ac5 Add Multi-device support in Train View
It is now possible to select multiple devices to
workout with.

To enable multi-device support a new setting in
tools->options (preferences on Mac) allows the
user to enable multi-device selections (this just
enables the user to select more than one device
in the side bar).

When a workout is started the user can select which
devices will supply which data.

This enables ANT+ devices to override information
provided by Computrainers or Fortius devices.

Fixes #578.
2012-01-05 20:47:04 +00:00
Mark Liversedge
67983b81c3 Tacx Fortius Support
Initial support for Tacx Fortius devices.

Note this requires libusb support to be present and will
work on Linux, Mac and Windows.

The handlebar buttons up/down will increase/decrease the
load/intensity in a similar fashion to the +/- keys on
the Computrainer controller.

The cancel button will stop a workout and the enter key
is used to mark a lap.

Slope and Ergo modes are supported, but we do not set the
brake at all if the speed is below 10kph, this is to
ensure it does not get burnt out when users 'grind'.

SPECIAL NOTE:

   The Fortius handlebar controller is a Ez-Usb device
   and requires firmware to be loaded when it is connected.
   Since this is copyrighted by Tacx BV we do not distribute
   it, instead, when the user sets up a Fortius device they
   must also provide the file. Full instructions on how this
   should be done are given when configuring the device.

Additionally, for Linux users udev rules should be added to
ensure that the USB devices are accessible to non-root users.

Fixes #538.
2011-12-12 17:26:59 +00:00
Mark Liversedge
db1c6e8c8d Fix double save of Configuration
The createIcons method in ConfigDialog also adds
another connect to the save button. This has been
removed.

Lame and brain-dead coding error.
2011-11-26 17:54:35 +00:00
Mark Liversedge
192973332a Fix Configure Pane 'on top' obscuring other windows
Notably when you select a color in the config appearances
the dialog will have modal focus but be hidden behind the
config pane, this is tedious as hell.

I have now checked across the codebase and there are no
dialogs which insist on being on top so the OS window
manager and user is now free to manage windows as they
see fit.

Although not directly related this fixes the only possible
problems with window focus that could be related to another
bug reported by Fernando.

Fixes #117.
2011-08-01 23:16:26 +01:00
Mark Liversedge
4ab96e16d1 Sidebar, Ride List and Aeshetics
An update to the ride list on the left hand side
to enable the user to choose and sort or group-by
metrics, metadata fields and ride information.

In addition, the sidebar has been 'improved'
cosmetically and to require less screen estate.

Also, the ticks and frames on plots have been
adjusted to be more aesthtically appealling.

There is more to come on the look-and-feel front,
but this patch heralds some work on the sidebar
which needs to be resolved.
2011-06-01 16:34:24 +01:00
Mark Liversedge
3ae81329d7 Make Training View Configurable
The training view (aka realtime) is now configurable
allowing users to drag and drop appropriate charts
and dials onto the main view.

The controls for this view are static and comprise the
old controls with start/stop buttons, device selections etc.

I have removed deprecated code too, the following are removed
from the repository;
* ViewSelection
* RealtimeWindow
* TrainWindow
* TrainTabs

Fixes #290.
2011-05-10 18:21:08 +01:00
Mark Liversedge
8dc32c001f Native ANT+ Support (1 of 3)
First stage of development, folding together the
quarqd sources and creating an ANT+ worker and controller
to work with realtime window.

The basic code is folded together and compiles fine. The next
step is to address the channel management code, device discovery
channel assignment and channel event handling. This will be pushed
as part of the next commit.

The third commit will need to fixup the configuration pages to
support selection of device/baudrate, fix native discovery/pairing
in config and lastly, fix a long standing issue with the config pane
to allow editing of existing device configurations.

This is NOT a functional patch yet, but compiles and runs fine. Committed
as a checkpoint before refactoring quarqd supplied code.
2011-02-06 17:54:50 +00:00
Mark Liversedge
fe5c5015bf merge master into release_3.0.0dev. 2011-01-22 20:42:00 +00:00
Mark Liversedge
c1fc674609 Translations Bonanza!
Russian Translation from Gwelu
Czech Translation from Beeda
Updated Japanese Translation courtesy of Key
Updated German Translation courtesy of Luke

Golden Cheetah now supports 7 languages!
2011-01-22 20:19:42 +00:00
Mark Liversedge
cfe57752f8 Merge Master into V3 Branch
- German translation update
- Virtual power in realtime

Conflicts:
src/DeviceConfiguration.cpp - needed to adjust
to use appsettings for read/write of application
settings.
2011-01-09 19:37:05 +00:00
Darren Hague
615737658d Virtual Power; Better GSC-10 pairing support.
Virtual Power - included patch from Mark Liversedge & corrected bug
with his help.

GSC-10: Check dual sensor 4th and speed-only sensor (which is rare) as
5th.
This means that an all-Garmin setup (ANT+ stick, GSC-10 sensor) will
always work. A speed-only sensor is almost useless in GC real-time
mode anyway, because speed-only sensors tend to run off the front
wheel which will be stationary on a trainer. Fix pointer problems with
device controller/config.

Fixes #219
2011-01-09 19:15:20 +00:00
Mark Liversedge
3aba7dd788 Inital V3 Branch 2010-12-30 17:35:23 +00:00
LukeNRG
ea11916a93 German Translation
Provides 100% coverage of language texts*

* a couple of texts for WeeklySummary window containing html
  codes (gt,lt et al) had not retained their encoding using
  &gt, &lt, whilst I edited a few of them in the file, these
  two were particularly complex and challenging. We can fix
  them later. [Mark Liversedge]
2010-12-25 23:07:25 +00:00
Roberto Massa
57a2c27262 Italian Translation
Provides translation for 47% of language texts.
2010-12-19 14:48:41 +00:00
Bruno Assis
c780f2edd0 Portugese (Brazil) Translation
Provides 64% coverage of language texts.
2010-12-19 14:38:38 +00:00
Mark Liversedge
e3c6e7e76c Fix config pane ugly scrollbars on Linux. (twitter icon) 2010-10-31 23:52:15 +00:00
Ken Sallot
dd5cdd920d Improved handling of smart recording / gaps in TCX files
Currently, GC interpolates time gaps in all TCX files as a result of smart
recording.  However, this overlooks periods of inactivity (stopped at a light
for instance).

1. Provide a configuration option, that if enabled, will tell GC to interpolate
time gaps in TCX files as if they were a result of smart recording.  If the
option is not enabled, then interpolation will not occur.

2. Provide a maximum "high water mark" (in seconds) for these time gaps.  The
default HWM is 25 seconds, but is user configurable.

Any time gaps that exceed the high water mark can be fixed via the Fix Gaps
tool under the toolbar.

Fixes #74.
2010-09-28 21:56:27 +01:00