Compare commits

...

968 Commits

Author SHA1 Message Date
Mark Liversedge
f44f70a4a4 Development Build 1606
.. pushing out build for June 2016
2016-06-04 12:21:03 +01:00
grauser
f5a37a107c Correct wrong commit 2016-06-02 18:11:47 +02:00
grauser
ac6394c2d6 TrainView : Record displayed SMO2/THB/O2HB/HHB (Muscle oxygen data) 2016-06-02 18:06:26 +02:00
Alejandro Martinez
01180e7bc5 Fill only pause laps on FIT Lap Swims 2016-06-01 20:14:02 -03:00
Mark Liversedge
9ff682d94a Merge pull request #1987 from amtriathlon/FitSwim
Changed Interval generation for Lap swimming FIT files
2016-06-01 06:57:20 +01:00
Alejandro Martinez
1864c27dca Changed Interval generation for Lap swimming FIT files
Simpler and more robust lap alignment
Fixed for empty lengths due to false starts and
pauses in some devices s.t. Garmin 910xt
Added 2 contributed test files
2016-05-31 21:23:03 -03:00
grauser
90a18e8d67 Bin2RideFile: Add some device type 2 2016-05-31 23:25:37 +02:00
grauser
f743430e5c Bin2RideFile: Add some device type 2016-05-31 23:11:09 +02:00
grauser
7c23c5b37a RideMapWindow : comments in GcWindowRegistry 2016-05-31 23:01:08 +02:00
grauser
57a837f3c2 RideMapWindow : An unified Map Chart (1/2)
Use New Map instead of old Google or Bing Map
2016-05-31 22:51:54 +02:00
grauser
d6cf7ad4ed Route: Create route segment from interval : use first and last points 2016-05-31 22:32:06 +02:00
grauser
e661ea0b62 Charts : We can change chart name even with no controls 2016-05-31 22:32:06 +02:00
Mark Liversedge
f6f2c4f151 Merge pull request #1986 from antoniusriha/allow_min_binWidth_of_1_in_3D
Allow min value of 1 for binWidth in 3D plot
2016-05-31 20:23:17 +01:00
Antonius Riha
cebaf2a846 Allow min val of 1 for binWidth in 3D plot 2016-05-31 15:23:29 +02:00
Mark Liversedge
335977bd02 Merge pull request #1984 from antoniusriha/reverse_color_range
Reverse color range in 3D plot to run from blue (low) to red (high)
2016-05-31 12:26:15 +01:00
Antonius Riha
f6cb9f01bf Reverse color range in 3D plot to run from blue (low) to red (high) 2016-05-31 12:38:54 +02:00
Mark Liversedge
80340f9918 Merge pull request #1983 from Joern-R/CloudDB1
CloudDB - Popups - Cosmetics
2016-05-30 19:51:12 +01:00
Joern
80f5f96590 CloudDB - Popups - Cosmetics
... align terminology (upload/download vs. import/publish)
... make pushbuttons right-aligned (in sync with most GC dialogs)
... ask for confirmation before finally deleting a chart from CloudDB
2016-05-30 19:46:26 +02:00
Mark Liversedge
45c6eee4d2 Add Upload/Download chart to View Menu
.. in MainWindow
2016-05-30 18:31:46 +01:00
Mark Liversedge
7ee4406c6e Fix GcChartWindow for OSX
.. QtMacVideoWindow was missed during the refactor
2016-05-30 16:33:04 +01:00
Mark Liversedge
c09a974418 GcChartWindow Refactor
.. use GcChartWindow as the base class for all charts -- so
   we can truly upload *any* chart to the cloudDB

.. miscellaneous charts that were still defined as GcWindow
   have been converted to GcChartWindow

.. GcChartWindow layout issues (using QGridLayout insted of
   a QStackedLayout) are fixed which will also resolve a few
   rendering issues related to NOWEBKIT.

.. Aerolab needed lots of cosmetic fixups once it became
   a GcChartWindow

.. Added 'Upload Chart...' to mirror the 'Download Chart..'
   option on the hamburger menu as users will instinctively
   look for the option there instead of under the chart menu.
2016-05-30 16:07:39 +01:00
Mark Liversedge
696101b40d Fix QAction for Download Chart...
.. a snafu using the same action twice for add chart and then
   for download chart in chartbar/mainwindow
2016-05-29 21:41:20 +01:00
Mark Liversedge
57bbb0938c Chart Setting Menu re-order
.. make it a bit cleaner
2016-05-29 19:08:59 +01:00
Mark Liversedge
2d2ba7f4b1 CloudDB terminology
.. simplify some of the wording related to working with the
   GAE instance.
2016-05-29 18:36:26 +01:00
Mark Liversedge
f75ac16acd Merge pull request #1982 from Joern-R/CloudDB-GChart-2
CloudDB - gChart support - improvements
2016-05-29 18:03:19 +01:00
Joern
ac385a29da Fix CI compile errors - CloudDB - gchart
... and remove unused test variables
2016-05-29 18:37:45 +02:00
Joern
5c01f4f398 CloudDB - gChart support
... add "Sport" metadata as filter option
... move "Import" from main menue to "add chart"
... make chart lists context sensitive on home, activities and diary
... import directly - without extra dialog
2016-05-29 18:12:21 +02:00
Alejandro Martinez
98c6301d35 Fixed CV override for GOVSS and SwimScore
Copy paste error, cv is a double not an int as cp
2016-05-29 12:28:20 -03:00
Mark Liversedge
3b3f51111e Merge pull request #1980 from Joern-R/CloudDB-GChart
CloudDB - add .gchart Support
2016-05-28 18:41:16 +01:00
Joern
a0db5efdcf CloudDB - add .gchart Support
... add export support for the new .gchart format (allowing to post all chart types to CloudDB)
... add import in main menu for the new .gchart format
... allow to import multiple charts at once

... remove specific LTM Chart support (menu, db,... -since this is covered by general .gchart format)
2016-05-28 12:03:05 +02:00
Mark Liversedge
93619967cf Recognise Antonius Riha 2016-05-28 09:48:33 +01:00
Mark Liversedge
51f7bb00c8 Merge pull request #1978 from antoniusriha/fix_binWidth
Fix loading of binWidth setting in 3d plots
2016-05-28 09:38:07 +01:00
Antonius Riha
c2a839fd30 Fix loading of binWidth setting in 3d plots 2016-05-28 00:20:04 +02:00
Mark Liversedge
52ece5e98c R Fix SEGV on GC.activity if empty
.. if the workout has no data to return, then don't
   return null in dfForActvity, return an empty list.
2016-05-27 22:52:26 +01:00
Mark Liversedge
24ad194793 R Fix GC.activity(split=)
.. you can now fetch activities as a list and split them
   based upon gaps in recording (recording anomalies).

.. this is to support trackeR; data should already be cleaned
   by the user, but thats not always the case (!)
2016-05-27 19:23:54 +01:00
Mark Liversedge
5f8dddf723 R is optional !
.. broken in HomeWindow cancelling scripts when ESC hit.
2016-05-27 18:56:01 +01:00
Mark Liversedge
8f3043a07b R GC.activity(split=)
.. but disabled due to a strange malloc error, which is likely
   to be related to the R garbage collector.
2016-05-27 18:42:00 +01:00
Mark Liversedge
7382b13cca Fix RChart update flicker
.. turn off/on updates enabled.
2016-05-27 12:09:30 +01:00
Mark Liversedge
a09c15fdc5 V4.0 Crash Dialog deprecated
.. we no longer show the crash dialog, it didn't really provide
   data that was that useful and is a bit quirky and cumbersome
2016-05-27 11:56:32 +01:00
Mark Liversedge
749fb30035 R Fixup User Interrupting for Windows
.. errant use of OSX/Linux only stuff.
2016-05-27 11:37:35 +01:00
Mark Liversedge
da41e0ec70 R Interrupt Long Running Script with ESC
.. as users would expect in RStudio etc
2016-05-27 11:15:23 +01:00
Mark Liversedge
b3607eedad R Use List not Pairlist (Part 2 of 2)
.. completes the updates to RTool.cpp

.. as predicted by forming the pmc data.frame via an S3
   list instead of a pair list the merge() function works
   properly and column names are retained.
2016-05-26 21:19:52 +01:00
Mark Liversedge
236d34be82 R Use List not Pairlist (Part 1 of 2)
.. we should use a list not an old pair list when constructing
   lists and data.frames.

.. to ensure better compatibility with coercion functions in R
   and also possibly to resolve known issues with merge()

.. this is part 1 of 2, breaking up the mass changes to the many
   data wrangling functions in RTool.cpp

.. it also contains an update to RLibrary to resolve the functions
   used when working with lists (SET_VECTOR_ELT).
2016-05-26 19:53:53 +01:00
Mark Liversedge
3bec73087a R don't create a data.frame of data.frames !
.. R doesn't like this, but we only did it when returning
   multiple activitieis in GC.activity() when passing activity=
   with a list / vector.
2016-05-26 14:39:44 +01:00
Mark Liversedge
4b872d2049 Add Stress TSS v cTSS .gchart example
.. to the test directory.
2016-05-24 12:07:08 +01:00
Mark Liversedge
06197cf899 Import .gchart workflow improvements
.. allow user to select target view for trends/diary charts
   since they can be used on either

.. don't just add when only 1 chart imported, always let the
   user confirm and adjust

.. use translated names for the views so they are more meaningful
   to the end user
2016-05-24 08:51:39 +01:00
Mark Liversedge
659d25a32f Merge pull request #1975 from amtriathlon/master
Use Cycling zones when there is no ranges for Running
2016-05-23 23:27:20 +01:00
Mark Liversedge
8a261521ab R Chart stop ignoring drag/drop events
.. the default methods in QGraphicsView handle these
   events; we don't want this since we handle them in
   mainwindow

.. fixes drag-n-drop onto mainwindow as well as working
   with the compare pane 'auto-open'.
2016-05-23 23:03:14 +01:00
grauser
929e62f35a Translation : correct translation for 'Remove Column' 2016-05-23 23:29:25 +02:00
grauser
6f8d5b72af Update French ts 2016-05-23 23:26:36 +02:00
grauser
2be23ad917 SyncRideFile: grade/Slope is a signed value 2016-05-23 23:06:07 +02:00
Mark Liversedge
fd6b7722cb QT4.8 compatibility fixup 2016-05-23 20:51:50 +01:00
Mark Liversedge
626f012cd3 CP/W' estimste chart added
.. to tests/charts

[skip ci]
2016-05-23 20:49:31 +01:00
Mark Liversedge
fb4f70ecad Merge pull request #1964 from mtbkeith/FixSomeDoc-2016-0511
Minor document updates for MAC
2016-05-23 20:27:03 +01:00
Alejandro Martinez
83b24f54f9 Use Cycling zones when there is no ranges for Running
Both for HR and Power, fixes #1974
2016-05-23 16:16:25 -03:00
Mark Liversedge
4632af3af7 QT4.8 compatability. 2016-05-23 20:03:05 +01:00
Mark Liversedge
6890986543 QTableWidget header needed 2016-05-23 19:59:49 +01:00
Mark Liversedge
fb04e1ee17 Import Multiple .gchart Dialog
.. to enable user to select which ones to import
.. only kicks in if >1 charts are imported.
2016-05-23 18:53:01 +01:00
Mark Liversedge
a58dd8458a Some .gcharts to test
.. added to test/charts

[skip ci]
2016-05-23 15:34:31 +01:00
Mark Liversedge
c635b1ec4b Fix Enum MVJSON_TYPE_OBJECT reference 2016-05-23 15:24:02 +01:00
Mark Liversedge
1b3eeeec06 Drag/Drop .gchart to import and select it
.. A single .gchart file being dropped into MainWindow will
   add and select it on the view.

.. still need  to add a dialog when dropping multiple charts
   to let user control if they want them all.
2016-05-23 15:22:31 +01:00
Mark Liversedge
8ec4c625cd Parse .gchart JSON format
.. using mvjson not Qt Json classes, to avoid a dependency on
   Qt5. The format was kept simple specifically to avoid that.

.. the chart ultimately is defined a list of properties with
   a key and value.
2016-05-23 13:00:50 +01:00
Mark Liversedge
fa541e3673 Export Charts using ".gchart" JSON format
.. export any chart to a file for sharing with others

.. the import functionality will come next (and will need to
   determine property formats by querying the newly created
   chart metatypes).
2016-05-23 10:50:13 +01:00
Mark Liversedge
2c80c78f8b R athlete.zones(date=..., sport=...)
.. so you can get the config for a specific date
2016-05-22 13:04:00 +01:00
Mark Liversedge
cc9f918dee R GC.athlete.zones()
.. returns a dataframe of all zone config
2016-05-22 12:07:21 +01:00
Mark Liversedge
d8862a50a7 R Add filter="..." to metrics, meanmax and peaks
.. the ability to apply a datafilter to the data retrieved
   is extended to the season.metrics, season.meanmax and
   season.peaks methods

.. this helps to let GC filter out e.g. power data is present
   before we do anything in R since GC is faster and it also
   reduces the data being passed back etc.
2016-05-21 20:18:09 +01:00
Mark Liversedge
963051a041 Fix QCheckBox compile error 2016-05-21 16:44:53 +01:00
Mark Liversedge
efcb9deadf R Canvas no OpenGL on OSX
.. sigh.
2016-05-21 12:13:35 +01:00
Mark Liversedge
9cfd84b6d1 Fix MeanMax Computation trailing Zero
.. clean it up, rather than resolve source (there is still a
   problem in there somewhere).

.. at least now interval plots and model fits aren't skewed
   by a trailing zero value
2016-05-21 10:38:49 +01:00
Mark Liversedge
81984ed091 R OpenGL rendering fixup
.. was temporarily removed as it caused rendering issues
   with reveal controls.
2016-05-21 10:11:38 +01:00
Mark Liversedge
de69d170e9 R save/restore all graphical parameters
.. par.default has all default values
.. par.gc is default updated to include theme

.. par(par.gc) is called before every plot
2016-05-21 09:40:06 +01:00
Mark Liversedge
d26eeaf255 R Console history reduced
.. we really don't need 10k history on errors in the rchart

.. this is a hangover from the early development that should
   have been reduced before being published
2016-05-21 08:58:42 +01:00
Mark Liversedge
f4f01041e1 R Chart Reveal Controls
.. to show/hide the console
2016-05-21 08:33:20 +01:00
Mark Liversedge
f8e431e0d4 R Hourglass when busy
.. in case of long-running scripts
2016-05-20 15:16:42 +01:00
Mark Liversedge
93cc7069e4 Merge pull request #1969 from antoniusriha/align_allplot_allplotinterval
Align interval bars plot with main plot
2016-05-19 20:44:35 +01:00
Mark Liversedge
2431795ca8 Merge pull request #1971 from amtriathlon/RunningPower
Running power
2016-05-19 15:51:13 +01:00
Alejandro Martinez
5401e7b4fc Fixed refresh when series are added in DataProcessors
Update "Data" tag in RideFile::setDataPresent
2016-05-19 10:45:53 -03:00
Mark Liversedge
7c9e2cb5ea R Fix rownames in GC.activity(activity=...)
.. make a well formed data.frame.
2016-05-18 17:36:38 +01:00
Mark Liversedge
f2512eb276 R GC.activity(activity=...)
.. You can now specify which activity to retrieve by passing
   a POSIXct date time representing the start time of the ride

.. this is mostly useful when used in conjunction with
   GC.activities(filter=...) to select ride dates.
2016-05-18 17:01:15 +01:00
Mark Liversedge
eb1013208a R GC.activities(filter="")
.. allow user to pass a data filter to evaluate when getting
   a list of activities.

.. e.g. GC.activities('Workout_Code = "1L2")
   will get a list of activity start times where the workout
   code is 1L2.
2016-05-18 14:41:22 +01:00
Mark Liversedge
e8228f6beb R API honour search/filter in use
.. when returning values we honour whatever filter is active
   at the time from home sidebar or the search box

.. it is applied regardless of which view the chart is on.
2016-05-18 13:13:41 +01:00
Antonius Riha
134dd9f662 Align interval bars plot with main plot
This commit fixes the issue that the interval bars (in AllPlotInterval) are not correctly aligned
with the interval sections in the main plot (AllPlot). This is done by calculating the margins from
the main plotting area to the border and setting left and right margin of the interval plot
accordingly.
2016-05-18 12:34:33 +02:00
Mark Liversedge
98cec80c4e R reset par(mfrow=c(1,1)) before runScript
.. so we don't inherit parameters across charts (!)
2016-05-18 11:25:27 +01:00
Alejandro Martinez
e2b66b7bd9 Add Running Power Data Processor
Based on a spreadsheet provided by Kraig Willet <kraig.willet@gmail.com>
2016-05-17 18:08:44 -03:00
Mark Liversedge
087426b545 Merge pull request #1968 from Joern-R/No-R
No-R-Build Error
2016-05-16 18:46:12 +01:00
Joern
2fd4f35287 No-R-Build Error
... fix build failing if GC_WANT_R is not set
2016-05-16 19:28:25 +02:00
Mark Liversedge
3fb565ff2d Dev Build 1605 Version Strings
.. update for 1605 dev release.
2016-05-16 15:26:39 +01:00
Mark Liversedge
7f76cd9cfe R Windows query Registry for InstallPath
.. so user doesn't have to set it.

.. also fixed a SEGV crash dereferencing libR->errors when its not
   been set (!).
2016-05-16 12:22:33 +01:00
Mark Liversedge
67b60e5623 R R_HOME configuration improvements
.. Add option to disable embedded R in preferences

.. Better diagnostics if load fails

.. If we find it in the usual place we load and set R_HOME
   automatically without requiring R_HOME or config

.. The config option overrides R_HOME not the other way around
2016-05-16 11:32:11 +01:00
Mark Liversedge
465718b10b Merge pull request #1967 from amtriathlon/GarminSwim
Adjust Laps for Garmin Swim FIT files
2016-05-15 20:47:10 +01:00
Alejandro Martinez
616cad5575 Add Pool Length Tag to SML file parser 2016-05-15 15:34:21 -03:00
Alejandro Martinez
1bcf2a2f20 Adjust Laps for Garmin Swim FIT files
Use total duration for both length and lap messages to synch them,
even when using drill mode. Tested with Garmin Swim and 920xt files.
Garmin 310xt is special cased since it doesn't generate rest length messages
Add Pool Length in meters as metadata
2016-05-15 15:00:28 -03:00
Mark Liversedge
2decc8624b R GC.athlete() extends
.. to include more details and render the athlete.home()
   function unneccessary.
2016-05-15 17:25:21 +01:00
Alejandro Martinez
aefbdca45f Merge pull request #1959 from amtriathlon/master
Fallback to Start with Cycling zones for Running
2016-05-15 12:52:40 -03:00
Mark Liversedge
62200b4725 Activity Checksum Metric
.. added a checksum metric for an activity that can be used as a key
   in R scripts to invalidate / reuse caches.

.. when R scripts are computationally expensive we can store the
   results in a cache with a key for the activity involved -- then
   the cache is tied to a particular activity (and state).

.. since caching in R has many options we may develop a 'basic'
   cache function that can be guaranteed to be available to any
   script so they can be shared.
2016-05-15 14:36:47 +01:00
Mark Liversedge
a7f5813e86 R REmbed.h ref QString too early
.. the definition of setenv on Windows was prior to the
   include for QString leading to a compiler error.
2016-05-14 13:59:52 +01:00
Mark Liversedge
fd8caf3230 R Update LD_LIBRARY_PATH/PATH on load
.. since dependancies are in the same directory. e.g.
   blas, mlpack and fortran libs.
2016-05-14 13:54:30 +01:00
Mark Liversedge
d2089e9ae6 R Dynamic Load Diags
.. quick debug message if load() fails for any reason.
2016-05-14 12:48:31 +01:00
Mark Liversedge
8b9a19af93 R QT4.8 QLibrary::resolve() returns void *
.. not void(*)()
2016-05-14 09:37:36 +01:00
Mark Liversedge
b53ed44cc9 Fix QFunctionPointer on QT4.8 builds
.. the typedef was introduced in QT5
2016-05-14 09:22:28 +01:00
Mark Liversedge
e5b1c93e4d R Version Fixup
.. get runtime version loaded and show on crash dialog and console
   since the runtime may be different from compile time as it is
   now dynamically loaded.
2016-05-14 09:10:46 +01:00
Mark Liversedge
ddbeab86e0 R Always use dynamic loading
.. no need to define GC_WANT_R_DYNAMIC any more since it is now
   working across all 3 supported platforms.

.. we need to improve the way R_HOME is configured and validated
   for non-technical users.
2016-05-14 08:54:49 +01:00
Mark Liversedge
dba02cc49f R Dynamic Library (Windows)
.. fixed up to work on Windows too.

.. needed to add a couple of functions used by Windows;
   getRUser(), get_R_HOME() and getDLLVersion().

.. also needed to add a path to the DLL that included the
   address space (x64 or i386).
2016-05-14 08:04:11 +01:00
Mark Liversedge
6782f5a393 R CMD config --cppflags
.. needed to be reinstated
2016-05-14 00:32:10 +01:00
Mark Liversedge
e2a93c82e6 R Dynamic Library OSX
.. don't link in the libs since macdeployqt will add
   them to the dmg.
2016-05-14 00:22:49 +01:00
Mark Liversedge
1b0d9b1bbb R Load Dynamic Library (OSX and Linux)
.. we can now load the installed dynamic library rather than
   distributing with the version we built with.

.. the lib is loaded and symbols resolved at runtime.

.. need to fixup for Windows and remove GC_WANT_R_DYNAMIC option
   and make it the way we integrate R for GC_WANT_R
2016-05-13 23:26:51 +01:00
Keith Reynolds
c39a52a3a1 Minor document updates.
URL and version updates; Nokia has transferred ownership of Qt to Digia back in 2012.
2016-05-11 23:03:17 -04:00
Alejandro Martinez
939af6c0ef Fallback to Start with Cycling Power zones for Running
When there is no Running Power zones defined to easy
transition from current config.
2016-05-11 11:43:03 -03:00
Alejandro Martinez
e9dd189864 Fallback to Start with Cycling HR zones for Running
When there is no Running HR zones defined to easy
transition from current config.
Fixes #1958
2016-05-11 11:26:45 -03:00
Mark Liversedge
90c94b5499 R Load Library at Runtime (wip)
.. add Graphics device entry points and almost done with defining
   proxy functions to call at runtime

.. will need to create a QLibrary object to load and resolve
   symbols for the proxies to call next.

.. if you add GC_WANT_R_DYNAMIC to gcconfig.pri it enables
   this, but it will crash, this is a wip.
2016-05-11 07:54:31 +01:00
Mark Liversedge
d65aac3035 Merge pull request #1956 from amtriathlon/RunHr
Add support for running HR zones
2016-05-09 21:51:34 +01:00
Alejandro Martinez
735756fcdf Add support for running HR zones part 3
Changed ride cache and charts to use zones according to sport(s)
2016-05-09 15:21:47 -03:00
Alejandro Martinez
88adfa1e78 Add support for running HR zones part 2
Chanted HrZonePage, LTPage and HrSchemePage to allow
separate editing for running and cycling
2016-05-09 15:21:47 -03:00
Alejandro Martinez
adb3692738 Add support for running HR zones part 1
Zones: parameterize for running
Athlete: create zones for cycling and running
2016-05-09 15:21:47 -03:00
Mark Liversedge
8d16fe26b0 R Load Library at Runtime (wip)
.. just starting out by redefining endpoints into the R shared
   library. Its incomplete but committed as a checkpoint.
2016-05-09 14:39:43 +01:00
Mark Liversedge
b3ca71bfd6 R Optimise refresh
.. don't when not visible as it slows everyone down !
2016-05-09 10:13:15 +01:00
Mark Liversedge
57f2eb10d4 R add compare=FALSE to GC.season.peaks
.. can now compare peaks in R
2016-05-08 20:57:39 +01:00
Mark Liversedge
a59f917dd3 R GC.season.peaks(all=FALSE, series, duration)
.. get peak values across rides in a season.

.. series="power", or series=c("power", "heart.rate") and
   duration=1 or duration=c(1,10,100)

.. where series is a mean maximal series in the ride file cache
   and duration is in seconds

.. will make this compare aware shortly.
2016-05-08 18:47:59 +01:00
Mark Liversedge
0fcda1f291 R GC.activity.metrics(compare=FALSE)
.. to get the metric and metadata for the current activity.
2016-05-08 13:10:39 +01:00
Mark Liversedge
29aad55f2f Merge pull request #1953 from Joern-R/R-1
R - use fixed Series names
2016-05-07 19:34:28 +01:00
Mark Liversedge
a023617031 R GC.season.meanmax(all=FALSE, compare=FALSE)
.. return meanmax data for a date range.
2016-05-07 19:10:21 +01:00
Mark Liversedge
136186e0a6 R GC.season(all=FALSE, compare=FALSE)
.. get a dataframe with season details

.. all lists all seasons, compare lists those being compared and
   if neither true returns the currently selected season

.. also renamed functions so we now have

   GC.season.metrics -> GC.metrics
   GC.season.pmc -> GC.pmc

   but he old GC.metrics/pmc are retained for backward compatibility
2016-05-07 12:20:35 +01:00
gcoco
3eada25d28 hLine USB2 ANT+ dongle
Thanks to Diego Heredia Sanchez
2016-05-07 00:39:17 -04:00
Joern
b7c53fd767 R - defined / use fixed series names / only in english
... use fix series names (which cannot be translated) - to have R-code which works independent of the GC language
2016-05-06 19:37:09 +02:00
Joern
d18f4f9c97 Update Translation DE 2016-05-06 19:04:25 +02:00
Mark Liversedge
82917666ea GC.page(width=500, height=500)
.. change the page dimensions to plot on.

.. the default is 500x500, but any ratio can be set

.. if none is specified it will always plot to 500x500
2016-05-06 16:38:16 +01:00
Mark Liversedge
e686ebde3e Honor GC_WANT_R in options/preferences
.. don't need to configure R_HOME if R support isn't baked in.
2016-05-06 12:31:53 +01:00
Mark Liversedge
a611b93f7b Update comment re canvas co-ordinates
.. it was incorrect and didn't explain how the world
   co-ordinates are mapped.

.. no code changes, just comments.

[skip ci]
2016-05-06 09:48:47 +01:00
Mark Liversedge
8e39d3e1f3 Fix saveState SEGV
.. introduced in previous commit.
2016-05-06 09:17:10 +01:00
Mark Liversedge
7c9814a52d R Chart Initial Splitter Sizes
.. some users get confused, so make the splitter sit
   in the middle (ish) to help them

.. need to still fixup save/restore splitter position
   to chart config.
2016-05-06 08:22:16 +01:00
Mark Liversedge
9505a23a6a R Fix text scaling via world transform
.. instead of hacking the text to avoid a global world
   transform we now transform y ourselves

.. it looks like text needs to be centered will test and
   fix shortly.
2016-05-05 19:15:54 +01:00
Mark Liversedge
9eacadadef RGraphicsDevice honor font size
.. since labels go awry. But it highlights issues with the
   text transformations that we should fix.
2016-05-05 18:58:40 +01:00
Mark Liversedge
6804f596e0 R Chart Screenshot for Wiki 2016-05-05 18:06:15 +01:00
Mark Liversedge
e358cff9b4 R Graphics Device Circle x,y bug
.. QT drawing uses x,y as top left of ellipse rect, whilst
   R was expressing it as a centre point.
2016-05-05 17:24:09 +01:00
Mark Liversedge
8d92859efc R default ride color
.. was using invertColor and resulted in white on dark for the
   default setup and was very jarring. The color is toned down
   to a gray if it results in white.
2016-05-05 17:24:09 +01:00
Mark Liversedge
ac844aa651 R Video gif for wiki
So we can add a link to vimeo on the wiki
2016-05-05 16:00:17 +01:00
Mark Liversedge
306ae970c7 Wiki R Chart
.. a bubble chart for the wiki
2016-05-05 11:33:31 +01:00
grauser
5e73bae75a Interval : don't need to overide name for Peak Power standard durations 2016-05-05 10:12:02 +02:00
grauser
e9ebc20af4 Interval : Add Search for Peak Speed, Peak Pace 2016-05-05 09:43:46 +02:00
grauser
7fa49cf802 Interval: Use "Peak" for intervals by time for Power or Hr 2016-05-05 09:43:46 +02:00
Mark Liversedge
44a91b1b91 R compile warnings
.. in RGraphicsDevice.cpp due to loads of unused method parameters
2016-05-04 19:25:18 +01:00
Mark Liversedge
c03871bda9 Merge pull request #1951 from Joern-R/R-Win
R - Windows Build
2016-05-04 19:19:07 +01:00
Joern
9f6c9d8e94 R - Windows Build
... differentiate 32bit and 64bit .lib for R.DLL for build
2016-05-04 19:08:24 +02:00
Mark Liversedge
0a209fd7b8 R GC.activity.wbal(compare=FALSE)
.. now compare enabled.
2016-05-04 15:51:56 +01:00
Mark Liversedge
241f5aaf6c R GC.activity.wbal()
.. returns a vector of w'bal for ride in 1s samples.

.. will update for compare in next commit.
2016-05-04 15:18:43 +01:00
Mark Liversedge
ee37e17d96 Peak HR not Best HR
.. in interval names
2016-05-04 12:04:33 +01:00
Mark Liversedge
344da00a9d R GC.activity.meanmax()
.. returns a data.frame with meanmax arrays for the
   series that are present
2016-05-04 11:39:14 +01:00
Mark Liversedge
d9b9a1f303 Bluetooth need QT5.5 not QT5.4
.. it was just a tech preview in 5.4 and not shipped
   with the pre-build libs
2016-05-04 07:52:42 +01:00
Alejandro Martinez
b7415b8962 Merge pull request #1950 from amtriathlon/master
Fixed HRV to HR in SML files
2016-05-03 21:35:28 -03:00
Alejandro Martinez
42b8f043d8 Fixed HRV to HR in SML files
To avoid HR gaps when < 60 bpm
Added test file with HRV and no HR
2016-05-03 19:19:42 -03:00
grauser
d1e22ee4a2 Interval : Search by Heart rate 2016-05-03 23:10:31 +02:00
Mark Liversedge
4a5cf58557 R paste code, don't take formatting
.. its ugly !!
2016-05-03 21:17:15 +01:00
Mark Liversedge
f58d9b7cbf R add ride color to metrics()
.. so you can pass to plot functions e.g. scatter plot
   with the color of each dot controlled by the GC config
2016-05-03 19:49:45 +01:00
Mark Liversedge
4dd042be22 R Metrics include Metadata
.. so you can use Workout_Code and friends to classify
   or color etc
2016-05-03 19:16:31 +01:00
Mark Liversedge
b26d84a325 R data.frames must have a row name
.. we just make it numeric
2016-05-03 13:26:40 +01:00
Mark Liversedge
b2efdf321d R GC.pmc(all=FALSE, metric="TSS")
.. add a new method to fetch a data.frame of PMC data
   for the passed metric, by default it returns for the
   selected date range, all=TRUE will fetch all dates.
2016-05-03 10:13:57 +01:00
Mark Liversedge
633ff519f1 Merge pull request #1946 from amtriathlon/SML
Import HR from R-R data for SML files
2016-05-02 20:08:22 +01:00
Alejandro Martinez
28ec053cd5 Import HR from R-R data for SML files
Fixes #1841
2016-05-02 15:11:49 -03:00
Mark Liversedge
6aeb8eedef R OSX bundle dylib fixing tool
.. see util/osx_bundle_fix.sh

.. couldn't quite get it fully automated, for some reason
   you may need to run it multiple times.
2016-05-02 19:00:19 +01:00
Mark Liversedge
8b9eab0a44 R compare date range signals
.. refresh when compare state changes
2016-05-02 11:23:23 +01:00
Mark Liversedge
3e09970f09 R Compare DateRange
.. GC.metrics(compare=TRUE) added

.. you can now plot metrics for different date ranges in the
   same way you can plot different intervals/activities.
2016-05-02 10:01:55 +01:00
Mark Liversedge
29c80f3e76 R nits
.. use opengl on Linux/Mac, its worth it for speed

.. new chart comment mentions activity(compare=TRUE)
2016-05-01 22:08:59 +01:00
Mark Liversedge
ac0c3cab6d R Support Compare Mode
.. GC.activity(compare=TRUE) will return a list of compares

.. If you are not in compare mode it will be 1 element long
   and represent the currently selected ride

.. otherwise it will have one entry for each activity dropped
   into the compare pane

.. each element has a $activity and a $color

Example:

df <- GC.activity()
.. do plot ..

Now:

compares <- GC.activity(compare=TRUE)
for (compare in compares) {
   df <- compare$activity
   col <- compare$color

   .. do plot ...
}
2016-05-01 21:08:41 +01:00
Mark Liversedge
b30fec7676 OSX Release Build R libs into Bundle
.. a script to copy the R dylibs to the app bundle and
   update the paths to the libs
2016-04-30 21:44:37 +01:00
Mark Liversedge
3f86522287 Development Build DEV-1604
.. update version macros
2016-04-30 18:25:17 +01:00
Mark Liversedge
ef27426442 Merge pull request #1942 from Joern-R/R-Win1
R-Windows - Includes
2016-04-30 16:24:34 +01:00
Mark Liversedge
f7bc0d33a5 Merge pull request #1939 from erikboto/monark_fix_for_restarts
Monark: Fix out of sync issue when restarting bike when connected
2016-04-30 14:30:04 +01:00
Joern
e6b5caa09a R-Windows - Includes
.. don't use R command function to find the includes. but R_HOME
2016-04-30 12:29:18 +02:00
Mark Liversedge
2b31d62ef6 R GC.metrics(all=TRUE) and Trend Chart
.. you can pass all=TRUE|FALSE to GC.metrics if you want to
   override the date range selection

.. also added connect to daterange select so a trend chart
   will refresh when you select a date range
2016-04-30 09:17:15 +01:00
Mark Liversedge
0856dd088c R Command Line Option --no-r
.. to disable embedded R - useful if startup is causing
   issues or crashes.
2016-04-29 20:44:19 +01:00
Mark Liversedge
8a4d261343 R nits / tidy ups
.. highlighter and default script
2016-04-29 19:52:25 +01:00
Mark Liversedge
32657246b4 R Script syntax highlighter
.. basic stuff, no completer.
2016-04-29 19:12:25 +01:00
Mark Liversedge
647067c82b R Script on Ride Selected
.. set a script to run when an activity is selected

.. this allows a plot to be generated and displayed when
   you select a ride in analysis view

.. the script is stored with the chart settings
2016-04-29 14:06:25 +01:00
Mark Liversedge
410aa95a99 R Multi-line commands
.. >> prompt for a continuation line

.. ^C to kill wherever we are and start again
2016-04-29 10:25:38 +01:00
Mark Liversedge
08c4142279 R pull in OpenGL for hardware acceleration
.. although its disabled in RCanvas for now, it will
   be re-enabled when settings are allowed.
2016-04-29 09:58:08 +01:00
Mark Liversedge
02455a2e6a Windows Fix Scrollbar Style
.. add-page/sub-page were not styled correctly (!!)
2016-04-29 09:52:43 +01:00
Mark Liversedge
b05f9db500 R remove out of date docs/utils
.. since we don't need RInside/Rcpp now.

[skip ci]
2016-04-29 09:14:59 +01:00
Mark Liversedge
57e76f04b0 R set default repo at startup
.. so install.packages() works without user having to
   set or select a mirror.
2016-04-29 09:03:49 +01:00
Mark Liversedge
458f4b9e71 R Plot Acceleration via OpenGL
.. plot canvas now uses OpenGL to accelerate painting
2016-04-28 23:05:22 +01:00
Mark Liversedge
26fdbd47fa R argv/verbose clean up
.. didn't use argc/argv in R initialisation
.. accidentally enabled verbosity
2016-04-28 19:20:43 +01:00
Mark Liversedge
4af3e929f7 R Windows Fixup
.. Embedded R now supports on Windows
2016-04-28 17:49:28 +01:00
Mark Liversedge
6cdd81198f R Windows Build Support
.. it now builds and runs on Windows

.. there is a runtime crash when embedded  R is initialised
   that needs to be reolved

                    ** NOTE **

R is not distributed with a .lib that can be linked to
with the MS VC linker. Instead, we need to generate a
lib and exp file from the dll:

1. dumpbin /exports R.dll > R.def
2. edit the .def output to have EXPORTS at the top and
   a list of functions only (last column, delete the rest)
3. lib /machine:x64 /def:R.def

After linking remember to copy the DLLs to the GoldenCheetah
build directory from the $R_HOME/bin/x64/*.dll
2016-04-28 17:04:40 +01:00
Mark Liversedge
acd09f91aa R boolean. 2016-04-28 08:58:41 +01:00
Mark Liversedge
50bfca2a3a R Another workaround for QT4 TRUE/FALSE conflict
.. resolving compile time issues with CI that don't
   occur on your own builds is horrible.
2016-04-28 08:28:13 +01:00
Mark Liversedge
c3eb308dc4 R More Rboolean enums nonsense
.. sigh.
2016-04-28 08:11:17 +01:00
Mark Liversedge
e56a65e659 Rboolean::FALSE not FALSE
.. and a few more tidy ups.

.. never cease to be amazed at how some developers
   will feel its OK to define generic symbols like
   TRUE and FALSE in their code (!!)

.. R is a mess.
2016-04-28 07:53:14 +01:00
Mark Liversedge
63107eb2fb Rboolean::TRUE not TRUE
.. since TRUE is #defined in QT4. sigh.
2016-04-28 07:47:56 +01:00
Mark Liversedge
9ed2850bbd Use Rinternals.h not Rdefines.h
.. Rdefines is ancient.
2016-04-27 22:36:23 +01:00
Mark Liversedge
255665da91 <stdexcept> for std::runtime_error
.. missing header.
2016-04-27 22:08:26 +01:00
Mark Liversedge
ddf0fa80de CI GC_WANT_R retry without RInside/Rcpp
.. reactrivate building with R support now we do not
   have RInside and Rcpp
2016-04-27 21:52:43 +01:00
Mark Liversedge
831e50b4ff R OSX fixups for no RInside/Rcpp
.. mostly startup issues when R_HOME is not known

.. need to think carefully about how we get the user to
   register the R home. We could let them select the R
   binary so we can run `R RHOME` and apply that (?)
2016-04-27 20:55:02 +01:00
Mark Liversedge
97c0d50eaf R Fix Version
.. in version dialog etc
2016-04-27 19:59:11 +01:00
Mark Liversedge
760a5f610a R Trap Console i/o
.. and redirect to rtool
2016-04-27 19:34:38 +01:00
Mark Liversedge
cfaa741473 R Replace RInside
.. we no longer need RInside or Rcpp as we use
   100% R API calls to embed

.. the following need to be resolved:

   1. R_HOME / Options *must* be set to startup
      embedded R but we don't check / restart or
      default via system("R HOME")

   2. Output is not trapped - all output is sent
      directly to the console you started GC on

.. will fixup the 2 above before finally:

   3. Build for Windows using MSVC !
2016-04-27 18:39:08 +01:00
Mark Liversedge
561430a7ff R Preferences set R_HOME
.. allow the user to browse and set the home directory for
   the R install -- in preparation for replacing Rinside with
   our own code to embed R
2016-04-27 12:31:23 +01:00
Mark Liversedge
4bfad2ebd2 R DLL/SO not required (!)
.. we can register routines when embedding via the
   R_getEmbeddingDLLInfo()

.. so we just register our functions directly now
   in RTool rather than needing a dynamic library.

.. its cleaner and there are no nasty casts and build
   settings required
2016-04-27 08:11:01 +01:00
Mark Liversedge
90e61b6aad R GC.metrics()
.. no longer needs Rcpp, we now have no code that
   is directly dependant upon Rcpp being installed.

.. we can now look at replacing RInside.
2016-04-26 21:33:49 +01:00
Mark Liversedge
d709c43486 R GC.activity()
.. uses native R API to create the dataframe, removing Rcpp.
2016-04-26 19:27:13 +01:00
Mark Liversedge
da0d9dd848 R GC.activities()
.. remove need for Rinside/Rcpp
2016-04-26 17:29:09 +01:00
Mark Liversedge
8eb1d321ea R GC.athlete and athlete.home
.. reimplemented with native R API

.. switched to .Call in R function since .C means all functions
   return void and must return by a pass by reference parameter.
2016-04-26 15:58:03 +01:00
Mark Liversedge
ea2a6179ef R Restructure src
.. and fix Linux build of R shared library
2016-04-26 12:23:13 +01:00
Mark Liversedge
0e74453c84 Remove RTool.cpp -fpermissive from src.pro
.. its not needed as the workaround of using an extern "C" function
   to perform the function pointer cast conforms to standard.

.. this just simplifies src.pro that was getting heavy
2016-04-26 08:03:54 +01:00
gcoco
ba5d897b1a windows.h not Windows.h 2016-04-25 19:39:18 -04:00
Mark Liversedge
6faca37f60 R Use Rf_PrintValue not Rcpp::print
.. slowly removing all the Rcpp dependencies.
2016-04-25 23:07:42 +01:00
Mark Liversedge
eb3daa3a9a R OSX qmake cp RGoldenCheetah.so post link
.. to address warnign in previous commit.
2016-04-25 23:01:20 +01:00
Mark Liversedge
66bc83f881 R SHLIB OSX Fixups (SEE WARNING IN COMMIT MSG)
.. fixup R SHLIB build and integration to work on OSX

                  **** WARNING ****

If you build for OSX with GC_WANT_R You will need to
manually copy RGoldenCheetah.so into the app bundle.

$ cp RGoldenCheetah.so ./GoldenCheetah.app/Contents/MacOS

                  *****************
2016-04-25 22:48:22 +01:00
Mark Liversedge
a5de4ed1c3 R GC.version() build() not using Rcpp
.. just declare them as normal R functions.

.. only 3 more functions to convert; activity/ies and metrics.
2016-04-25 20:36:43 +01:00
Mark Liversedge
2735803d55 R SHLIB GC.display()
.. phew. that was hard.

.. To register routines with R you need to place them in a shared
   library.

.. The routines we want to register are part of  the GC codebase so
   cannot be linked into that shared library (it would be the whole
   of GC).

.. So; we have a shared library (RGoldenCheetah.cpp) which has stubs
   for all the registered functions and an array of pointers to the
   actual functions.

.. We load the library (once R is embedded it is loaded in main.cpp)

.. After the library is loaded we then call one of its public
   functions (GCInitialiseFunctions) to tell it where all the GC
   functions are (we only have GCdisplay at present for this proof
   of the concept).

.. Along the way we need to deref/cast DL_FUNC in RTool.cpp which
   is not permitted in ISO C, so we also update qmake to add a
   special rule to compile `dodgy' sources with -fpermissive. And
   the only dodgy source is RTool.cpp.

.. This commmit will break GC_WANT_R builds on OSX, and will be
   fixed up shortly.

.. The motivation behind this is to avoid RInside/Rcpp for Windows
   builds -- enabling R support (which is not currently possible).
2016-04-25 20:11:03 +01:00
Mark Liversedge
d6a3d3eb57 Fixup BT40 into right section of src.pro
.. with QT5 dependencies.
2016-04-25 16:48:49 +01:00
Mark Liversedge
1877b6a2a1 Merge pull request #1936 from viiru-/bt40_conversion
Bt40 conversion
2016-04-25 16:34:12 +01:00
Mark Liversedge
24dd1124fc R SHLIB RGoldenCheetah
.. to use the R C API for to avoid use of Rcpp and RInside

.. the shlib doesn't do anything and isn't loaded in RTool
   at this point. Need to get this working cross-platform
   and iron out the build time nits.
2016-04-25 15:55:18 +01:00
Arto Jantunen
f0527a5a58 Add support for BTLE speed and cadence sensors 2016-04-25 15:55:15 +03:00
Arto Jantunen
aa2b45fc08 Add support for BTLE power sensors 2016-04-25 09:57:04 +03:00
Arto Jantunen
7fdd378d17 Add support for BTLE HR sensors 2016-04-25 09:57:04 +03:00
Arto Jantunen
3129b82ecd Add support for subscribing to BTLE services 2016-04-25 09:57:04 +03:00
Arto Jantunen
22ded4eb48 Add support for connecting to BTLE devices and scanning for services 2016-04-25 09:57:04 +03:00
Arto Jantunen
b05c1eca98 Rewrite BT40Controller using Qt BTLE support 2016-04-25 09:56:58 +03:00
Arto Jantunen
4024d84a67 Remove WFAPI support 2016-04-25 09:55:57 +03:00
Mark Liversedge
6b12547e27 R Add GC.metrics()
.. to return a data.frame of all metrics
2016-04-23 23:54:25 +01:00
Mark Liversedge
148317022a R apply themes to par() options
.. the GC theme is used to set the graphical parameters
   used by standard plotting commands.
2016-04-23 20:32:51 +01:00
Mark Liversedge
e576e6b6c9 R Parser don't crash on parse more
.. if the R parser is waiting for more input don't crash
.. just keep going waiting for more input.
2016-04-23 18:02:14 +01:00
Mark Liversedge
e6bf65779c R Not Supported on Windows
.. so don't even try to build and warn via qmake

.. RInside/Rcpp do not suport MSVC
.. Microsoft Open R may help, but doesn't at this point
.. we can revisit at a later date.
2016-04-23 11:27:20 +01:00
Mark Liversedge
48c3783dac Fix Compare Pane Buttons on Mac
.. just use QT buttons instead of Mac.
2016-04-22 22:21:18 +01:00
Mark Liversedge
06b56e7eb8 R avoid hang on console messaging
.. RInside is single threaded and hangs the event
   loop on the main thread (grrrr).
2016-04-21 21:48:10 +01:00
Mark Liversedge
47c10ed0c1 R Antialias and Text Color
.. enable antialising and honour text colors (instead
   of always black!)
2016-04-21 12:26:46 +01:00
Mark Liversedge
d945228080 R Honour Drawing Colors/Lines etc
.. apply the GEContext settings when drawing on the
   canvas to get proper output (e.g. ggplot2 works)
2016-04-20 20:38:11 +01:00
Mark Liversedge
804f4499e0 R Plot Zoom Mousewheel
.. and scrollbar styling
2016-04-20 15:30:12 +01:00
Mark Liversedge
39b63223cd R Canvas with Basic Primitives
.. not complete, but we now have a canvas (QGraphicsView)
   to plot the R output without needing to use x11() or
   quartz(), window() etc.

.. the primitives do not honour the graphic engine context so
   all lines etc are white on black.

.. will fix and improve in followup commits, need to test
   with QT4.8 and cross-platform.
2016-04-20 14:04:32 +01:00
Mark Liversedge
cba05ce7a1 R $$variable substitution
.. since the R runtime is shared by charts we offer the ability
   to prefix variables with $$ to ensure they don't conflict
   across multiple RCharts.

.. $$d <- GC.activity() would actually be parsed within R as
   gc0d <- GC.activity(). The next chart would get gc1 and so
   on.

.. it is optional, so charts could share data structures (but
   wonder why you might do that)

.. we still need to encapsulate the code to plot within a
   script to ensure it is refreshed when the chart is selected
   or underlying data changes.
2016-04-19 20:19:29 +01:00
Mark Liversedge
ac044d4606 R GraphicsDevice Circles now work
.. believe it or not the R base code for plot (plot.c)
   skipped plotting circles if they were white on white.

.. took me 4 hours to fix this by setting startcol and
   startfill in DevDesc for the device.

.. But at least the R driver now works properly -- we can
   now integrate with a qt widget.
2016-04-19 19:02:42 +01:00
Joern
c303e03057 CI - Windows - Back to nmake
... free CI does only offer one core, so no need to install Jom - back to nmake
2016-04-19 08:40:03 +02:00
Mark Liversedge
352db67b6e R GraphicsDevice Primitives WIP
.. the R graphics device now gets called for hist() so we can
   work on the interaction with a QT widget now.

.. still have other problems to deal with (!)
2016-04-18 23:26:32 +01:00
grauser
a4afef5fbd AllPlot : Point Hover for time of day 2016-04-18 22:13:29 +02:00
Joern
878d92408f CI - Windows - JOM - Shimgen 3
... wrong path for jom
2016-04-18 21:42:10 +02:00
Joern
f767d738a8 CI - Windows - JOM - Shimgen 2 2016-04-18 21:33:17 +02:00
Joern
f2db0c4638 CI - Windows - JOM - Shimgen
... jom not working via shimgen, use direct path instead
2016-04-18 21:30:25 +02:00
Joern
811a88c90a CI-Windows - use JOM
... use jom not nmake for parallel building
2016-04-18 20:34:53 +02:00
Mark Liversedge
760269f858 R GraphicsDevice WIP
.. GoldenCheetahGD is instantiated

.. GC.display() to create new GD
   GC.activate() to activate the GD

NOTE: a fair amount of qDebug() in at present as
      the graphics functions are being created.
2016-04-18 14:04:02 +01:00
Mark Liversedge
bef48b93f5 R Console Backspace/Left Arrow
.. fix for wrapped lines.
2016-04-17 22:06:14 +01:00
Mark Liversedge
7525be38fc R Incorrect Header "RGraphics.h" 2016-04-17 21:36:27 +01:00
Mark Liversedge
857292e47d R Add Skeleton for Graphics Device
.. basic code framework for a graphics device
.. committed to check cross-platform build
2016-04-17 21:12:12 +01:00
Mark Liversedge
1b6350a2a6 R Fix GC.activity()
.. return a valid data.frame
.. use POSIXct UTC

[is now compatible with the trackeR package]
2016-04-17 16:13:03 +01:00
grauser
5801757445 AllPlot : 'msecsSinceStartOfDay' only in recent Qt 2016-04-16 23:10:29 +02:00
grauser
5edec0c931 AllPlot : Clean last commented code 2016-04-16 22:39:50 +02:00
grauser
c3fa83b21a AllPlot: Plot by time of day (simplier version) 2016-04-16 22:35:59 +02:00
grauser
a80023e25d AllPlot: Plot by time of day 2016-04-16 22:25:25 +02:00
grauser
000ac63b01 RideMapWindow: Show/hide markers 2016-04-15 17:29:40 +02:00
Mark Liversedge
b398008e92 R Don't output results of "print()"
.. to avoid duplication
2016-04-14 22:51:03 +01:00
Mark Liversedge
8052439022 R Console exceptions
.. don't crash when cannot initialise (e.g. when RInside not
   available or R is not installed)

.. handle messaging via signals to trap 'late' messages from
   the R Runtime
2016-04-14 21:16:13 +01:00
Mark Liversedge
002169d53b RConsole Fix Hit Enter Mid-Line
.. no longer splits, but submits the line to process.
2016-04-13 21:01:40 +01:00
Mark Liversedge
4338574c76 R GC.activities()
.. returns a list of all activities. Represented via their
   starttime as a vector of datetimes
2016-04-13 20:18:38 +01:00
Mark Liversedge
894e694556 R GC.activity() improvements
.. don't fill with lots of missing series when they're obscure
.. distinguish between time and seconds
2016-04-13 20:05:19 +01:00
Mark Liversedge
f418a8658e R GC.activity() compatibility with trackeR
.. use names in the data.frame that don't contain spaces and
   are compatible with other R packages (e.g. trackeR)
2016-04-13 17:44:47 +01:00
Mark Liversedge
b39a24cb57 CI Travis Disable GC_WANT_R for now
.. c++11, 5.5.1, stdlib conflicts across dependencies
2016-04-13 09:47:32 +01:00
Mark Liversedge
aa20c747bf CI Travis OSX clang++ stdlib
.. need to select which one to use with clang++ on QT5
2016-04-13 09:10:49 +01:00
Mark Liversedge
ea85368797 CI Travis Build with GC_WANT_R
.. build with R support baked in.
2016-04-13 08:38:54 +01:00
Mark Liversedge
5257d01d35 CI Travis Should Fix Shell Escape Hell
.. shaking my head, escaped YAML for escaped Shell, for sed.
2016-04-12 21:49:53 +01:00
Mark Liversedge
ae674018ff CI Travis Sed syntax and escaped commands
.. losing the will to live.
2016-04-12 21:45:28 +01:00
Mark Liversedge
d4755b7d7a CI Travis Shell Escape Again 2016-04-12 21:41:17 +01:00
Mark Liversedge
a3050b7648 CI Travis Shell Escape Hell
.. something is broken in .yml markup (!?)
2016-04-12 21:37:28 +01:00
Mark Liversedge
b617b3ac04 CI Travis sed and shell escapes 2016-04-12 21:31:31 +01:00
Mark Liversedge
e4cc32c83d CI Travis Shell Escape Error (?)
.. not sure why their was a mismatched " at runtime
   it looks ok to me. So changed to ' in an attempt to fix
2016-04-12 21:13:32 +01:00
Mark Liversedge
b9ce4b1dcb CI Travis RInside Fix
.. sed command line error
2016-04-12 20:52:03 +01:00
Mark Liversedge
f86b7eb49a CI Travis install RInside
.. with CALLBACKS enabled
2016-04-12 20:35:36 +01:00
Mark Liversedge
a0dc8354d9 CI Travis Rcpp install (again)
.. halfwittery in last commit
2016-04-12 20:17:59 +01:00
Mark Liversedge
38b9e2cbbb CI Travis Install Rccp
.. in readiness for RInside build and install
   with GC_WANT_R
2016-04-12 20:02:39 +01:00
Mark Liversedge
e1c9caef5b CI update install-packages.R
.. to reflect we need to build with RInside with
   callbacks enabled.

[skip ci]
2016-04-12 19:48:06 +01:00
Mark Liversedge
ff2e70972c CI Install R update
.. brew tap homebrew/science
   to see if that finds it
2016-04-12 19:31:53 +01:00
Mark Liversedge
b08a87fd39 CI Travis Install R
.. getting ready to build with GC_WANT_R
2016-04-12 19:24:13 +01:00
Mark Liversedge
a0df01317e R Console History
.. using up/down arrows
2016-04-12 19:01:00 +01:00
Mark Liversedge
85052d9e6d R GC.activity() function
.. to get a dataframe containing all the
   data in a ride.
2016-04-12 17:45:48 +01:00
Mark Liversedge
aee825ddc0 Merge pull request #1925 from amtriathlon/master
Fixed AvgSpeed to fallback to Distance/Duration when there are no sam…
2016-04-12 17:44:44 +01:00
Alejandro Martinez
ed73cd57d2 Fixed AvgSpeed to fallback to Distance/Duration when there are no samples
This behavior was changed after compute() refactor.
2016-04-12 13:02:10 -03:00
Mark Liversedge
02d84726ff R Chart refactor with RTool
.. refactoring code to introduce an RTool for working
   with RInside and Rcpp and move code away from main.cpp

.. get ready to write all the data accessors in a way
   that supports multiple athlete windows.
2016-04-12 15:55:03 +01:00
Mark Liversedge
fe5a397ee4 RChart Athlete/Home
.. add GC.athlete and GC.athlete.home to the variables
   list - setting context every time we parse any kind
   of expression.
2016-04-12 00:52:01 +01:00
Mark Liversedge
39fe77a385 R Chart Console and "GC" object
.. now have a console in the RChart to issue R commands.
   Its very basic and doesn't handle multi-line commands
   well nor support up/down to cursor through history.

.. added a "GC" object with 3 variables
   GC.version - a version string
   GC.build - build id, later always higher
   GC.home - root of all athlete directories

.. No access yet to athlete, metrics, models and rides.
   This will come very shortly; need to decide on best
   way to handle accessing different athletes within
   a single global context.
2016-04-12 00:33:57 +01:00
Mark Liversedge
8660278eda Add new RConsole Chart
.. to trend and analysis view

.. its a blank chart for now, building begins now we are
   ready to support this across all platforms.
2016-04-11 16:37:40 +01:00
Mark Liversedge
ff6c55d8c7 Add RInside Developer Instructions
... see doc/user/RInside.txt
2016-04-11 15:44:31 +01:00
Mark Liversedge
ecee694abf Fix compile error for last commit 2016-04-09 21:24:40 +01:00
Mark Liversedge
0827de9ce0 R integration and Version in About
.. integration fixups for cross platform
.. RInside will need to be built with callbacks enabled
.. R Version is shown in about version
2016-04-09 20:47:44 +01:00
Mark Liversedge
22b3399de7 Fix R src.pro to make cross-platform
.. working on Linux and now OS X
2016-04-09 13:01:13 +01:00
Mark Liversedge
5c8e1850df Fix SEGV on Cancel at Startup
.. of you cancel before opening an athlete you get a SEGV
   on some platforms under some conditions (threads)

.. we now tidy up a little better and avoid deleting static
   objects when application->exec() has not been called.
2016-04-09 10:47:32 +01:00
Mark Liversedge
819bee6749 Add -lR and -lRInside for 'R' Chart
.. still working on the build/configuration to get things
   started. main.cpp now creates an instance of RInside
   that is shared by all athletes/charts.

.. not clear if this is going to work (!)

.. pushing to repo to test cross-platform support during
   development. It /should/ not impact any code since it
   will be an optional dependency.
2016-04-08 12:22:44 +01:00
Mark Liversedge
a3802d5102 Add an 'R' Chart
.. first part just to get the configuration ready to
   build out a chart for the trend and activity view

.. src.pro and gcconfig.pri are updated to link in with
   the RInside/Rcpp package install (new dependency)

.. there is a script in util called install-packages.R
   which can be run to install the packages so long as
   R is available:

   $ R CMD BATCH util/install-packages.R
2016-04-08 11:45:34 +01:00
Erik Botö
3f56981f1c Monark: Fix out of sync issue when restarting bike when connected 2016-04-08 12:44:40 +02:00
Mark Liversedge
2c26e88b57 Ride Editor Find and Replace
.. extend the find dialog to enable the user to replace
   and replace all values found in one hit.
2016-04-07 17:18:17 +01:00
Mark Liversedge
c4034c344c Merge pull request #1923 from dresco/timestamp
Fix corrupt timestamps on Windows builds
2016-04-07 14:17:23 +01:00
Jon Escombe
21bd66e616 Fix corrupt timestamps on Windows builds
The logic for building the timeval struct wasn't quite right.
2016-04-07 13:26:08 +01:00
Mark Liversedge
39479b328b Merge pull request #1922 from erikboto/add_tw_garmin_edge_520
FitRideFile: Add Garmin Edge 520 Taiwan version
2016-04-06 20:27:50 +01:00
Mark Liversedge
41d47ba8cd Merge pull request #1921 from amtriathlon/master
Fixed LTMPlot so By Week grouping starts on monday
2016-04-06 20:27:40 +01:00
Erik Botö
60ded8f955 FitRideFile: Add Garmin Edge 520 Taiwan version
Fixes Issue #1919
2016-04-06 20:46:20 +02:00
Alejandro Martinez
2fbb04c46a Fixed LTMPlot so By Week grouping starts on monday
instead of Wednesday due to missing parentheses
2016-04-06 15:23:01 -03:00
Mark Liversedge
fea3490571 DataFilter Update Syntax
.. allow single character variable name

.. dereference via $name not just name perhaps to
   consider user prompts to set values at runtime
2016-04-06 18:43:27 +01:00
Mark Liversedge
ae5de68b03 Merge pull request #1920 from lumanz/master
Update gc_zh-cn.ts
2016-04-06 15:54:47 +01:00
Sping Zhao
5c02277f76 Update gc_zh-cn.ts 2016-04-06 20:49:19 +08:00
Mark Liversedge
3027ccd546 Merge pull request #1899 from erikboto/filetype_by_suffix_export
Use filename suffix to determine filetype if possible during export
2016-04-03 18:36:29 +01:00
Mark Liversedge
88dd8e1660 Merge pull request #1912 from leukzx/master
Added virtual power support for the Tacx Sirius trainer.
2016-04-03 18:34:04 +01:00
Mark Liversedge
6e8c3c5b38 Handle NOWEBKIT for QT < 5 Gracefully
.. if NOWEBKIT is set in gcconfig.pri when QT < 5 we unset it, since
   it is only supported for QT versions > 5.0 where QWebEngine is
   available

.. gcconfig.pri.in has also been updated to have a line to set
   NOWEBKIT as a signpost to the user

.. we /could/ use the sed s/#DEFINES/DEFINES technique in .travis.yml
   now to set NOWEBKIT always and it will only take effect if building
   with QT5
2016-04-03 08:16:35 +01:00
gcoco
740bee0faf Fix QT install.
Allows sub-version so we can do QT5.5.1 (Webkit) and QT5.6 (Webengine) at a later date.
2016-04-02 17:36:41 -04:00
gcoco
e55ff4bd08 Allow QT version choice for MAC
[ci skip]
2016-04-02 17:35:28 -04:00
Mark Liversedge
8e53a386f0 Cleaner version of previous commit
.. just clear the tree, no need to traverse it.
2016-04-02 20:40:20 +01:00
Mark Liversedge
85f93627c2 Fix LTMSidebar::resetSeasons SEGV
.. takeChild(0) called repeatedly caused a crash for every
   season that had no children.
2016-04-02 20:33:25 +01:00
Mark Liversedge
c9178dbc53 CI Travis QT5 issues
.. added -Wno-c++11-narrowing to fix build of qwtplot3d libs
.. travis/install-qt.sh has some diags
2016-04-02 19:48:02 +01:00
Joern
63497f898e Update README.md
... link to correct CI project
2016-04-02 19:31:10 +02:00
Maxim A
7c74a0b175 Added virtual power support for the Tacx Sirius trainer. 2016-04-02 13:57:06 +05:00
Joern
40469a2cba Add Windows CI Status 2016-04-02 10:08:12 +02:00
Joern
bb4e733938 Update appveyor.yml 2016-04-02 09:34:07 +02:00
Mark Liversedge
210fbdf2f1 Fix const(e)
.. was broken since "e" is a one character symbol
   and we want 2 character symbols.
2016-04-01 20:16:49 +01:00
Mark Liversedge
6eea862be9 Merge pull request #1911 from Joern-R/CI
GitHub Integrated CI for Windows Build
2016-04-01 19:30:19 +01:00
Joern
ebcaa4d657 GitHub Integrated CI for Windows PRs
... using AppVeyor.com
... only 64Bit builds with QT 5.6.0 / MSVC2015
... all libraries included (pre-compiled)
... using QtWebEngine configuration, not QtWebKit
2016-04-01 19:54:59 +02:00
Mark Liversedge
e518c15005 Merge pull request #1908 from erikboto/monark_updates
Monark updates
2016-03-29 19:56:16 +01:00
Erik Botö
27f4761f96 Monark: Refactor to remove one class 2016-03-29 12:51:42 +02:00
Erik Botö
3c9520331a Monark: Rework to use an enum for model 2016-03-29 12:51:42 +02:00
Erik Botö
a765d99534 Monark: Use gradient for controlling kp 2016-03-29 12:51:42 +02:00
Mark Liversedge
60f4c58c31 Merge pull request #1907 from amtriathlon/master
Changed select latest activity to skip future activities
2016-03-28 19:29:26 +01:00
Alejandro Martinez
4a0629204e Changed select latest activity to skip future activities
When there are (planned) activities with future days it is
annoying to start at the latest planned activity, this change
try to select the latest which is not in the future.
2016-03-28 12:35:12 -03:00
Mark Liversedge
413b10cd0b Invalidate PMC Cache when any rideitem changes
.. to be on the safe side we just invalidate all PMC caches
   when a rideitem changes.
2016-03-28 11:31:11 +01:00
Mark Liversedge
10d3002c10 Merge pull request #1904 from amtriathlon/master
Fixed removal of planned workouts
2016-03-26 15:42:09 +00:00
Alejandro Martinez
821ce49753 Fixed removal of planned workouts
Rename failed due to wrong directory
2016-03-26 11:32:31 -03:00
Mark Liversedge
355c94e931 .gitignore .user files
[skip ci]
2016-03-26 11:02:41 +00:00
Mark Liversedge
03cc15e489 Fix JS warning with null div
.. in RideSummaryWindow we update to show
   progress of the model estimates, but it
   errors if the html is not set or is blank
   and does not contain the div 'modhead'.
2016-03-26 10:33:22 +00:00
Mark Liversedge
6c8322deb2 Shadow Build Support
The following will always be located in the
source directories so we can find them across
the different trees:

* ../lib/libqwt.a
* ../kqoauth/libkqoauth.a (linux only)
* ./Resources

The references are made via $${PWD} which is
the directory for the currently processed
.pro file.
2016-03-26 09:55:38 +00:00
grauser
0a3f1fe2ed RideMapWindow: Add OSM Map 2016-03-26 00:08:00 +01:00
Mark Liversedge
2434dc55e4 Merge pull request #1903 from amtriathlon/master
Add today marker when LTM chart goes to the future
2016-03-25 18:17:36 +00:00
Mark Liversedge
e9671ada84 Best Exhaustion R metric
.. mostly fails to solve (!)
2016-03-25 17:41:56 +00:00
Alejandro Martinez
50be159496 Add today marker when LTM chart goes to the future
Useful for planning
2016-03-25 13:06:04 -03:00
Mark Liversedge
beb663fa44 CP/W' Solver Allow Overlay
.. don't clear results, let the user clear them
   when ready -- so you can run multiple solver
   runs and look at the results visually.
2016-03-25 13:00:37 +00:00
Mark Liversedge
3a6a4cbbf2 Fix compile time warning
.. reorder initialisation warning (its harmless) but is a tad
   annoying as it commands attention !
2016-03-25 09:42:33 +00:00
grauser
cc486762f0 Add RideMapWindow : An unified Map Chart (1/2) 2016-03-25 09:28:25 +01:00
Mark Liversedge
b1e5bfb081 CP/W' Solver Colors
.. R is in range 0.2 - 1.0 realistically
2016-03-24 20:30:00 +00:00
Mark Liversedge
d9493e3d62 Thread Safety for PD Estimates (SEGV)
.. we refresh in a thread so need to protect
   access to them via a QMutex.
2016-03-24 20:03:45 +00:00
grauser
61b4ad3274 BingMap: Correct interval highlighting 2016-03-24 14:45:24 +01:00
Erik Botö
4b31535399 Use filename suffix to determine filetype if possible during export 2016-03-24 12:37:05 +01:00
Mark Liversedge
c02bacc57b Revert "Fix "out-of-source" build"
This reverts commit 95548d9258.

It causes a rebuild every time make is called.
2016-03-24 08:23:36 +00:00
Mark Liversedge
f3fbad5848 Import Wizard Error messages
.. better handling
.. manual apply of Magnus Gille PR.
2016-03-24 07:48:05 +00:00
Mark Liversedge
94a00a9c16 Merge pull request #1894 from Joern-R/Build
Fix "out-of-source" build
2016-03-24 07:31:24 +00:00
Mark Liversedge
0ed92912bd Merge pull request #1889 from erikboto/fix_plot_resize_trainview
WorkoutWidget: increase x-axis length during workouts if needed
2016-03-24 07:30:49 +00:00
grauser
35c8585b07 BingMap: compatible QtWebEngine + small corrections 2016-03-24 00:51:39 +01:00
Mark Liversedge
c0530778a8 Ridefile Interval types fix
.. added EXHAUSTION but didn't follow it through, but it
   was left defined in RideFile.h.
2016-03-23 20:43:13 +00:00
grauser
b41b3a9c10 GoogleMapControl: Small changes
Google Maps API warning: SensorNotRequired
     https://developers.google.com/maps/documentation/javascript/error-messages#sensor-not-required
2016-03-23 21:16:18 +01:00
grauser
9e52e7b534 GoogleMapControl: compatible QtWebEngine 2016-03-23 20:36:22 +01:00
grauser
6765c0599c ModelLab: Add version 7.3 2016-03-23 20:36:22 +01:00
Mark Liversedge
c7311a5595 Fix Strava Build
.. error introduced in commit 08dca02f13
2016-03-23 18:43:12 +00:00
Mark Liversedge
d2a5da6b23 Static analyzer serious bugs fixed
.. all are memory leaks
2016-03-23 18:43:12 +00:00
Mark Liversedge
ff398616b5 Merge pull request #1897 from lumanz/master
Update language setting in CloudDBCommon.cpp
2016-03-23 16:42:24 +00:00
Mark Liversedge
474eb562c1 typos in comments 2016-03-23 13:25:25 +00:00
Sping Zhao
454790a5ca Update CloudDBCommon.cpp 2016-03-23 20:55:05 +08:00
Mark Liversedge
339deeca16 Hack fix for CERVO 2016 date bug
.. LYC set the date to 2000 from 2016 !

.. we check the date when downloading from a CERVO and if the year
   is set to 2000 we set it to the current year.

.. if the date resulting is in the future (e.g download a ride in Jan
   2017 from a ride in Dec 2016) then we subtract a year.

.. it will be interesting to see what happens in 2017 !
2016-03-23 11:18:03 +00:00
Mark Liversedge
63be824773 Power Color in ERG and MRC mode
.. courtesy of Claus Assmann
2016-03-22 13:21:55 +00:00
Mark Liversedge
933d5cce86 Merge pull request #1896 from erikboto/nowebkit_buildfix
LTMWindow: Fix missing include when building NOWEBKIT without GC_HAS_…
2016-03-22 12:12:47 +00:00
Erik Botö
e7a99edf61 LTMWindow: Fix missing include when building NOWEBKIT without GC_HAS_CLOUD_DB 2016-03-22 12:40:33 +01:00
Mark Liversedge
307a8c785d RideSummaryWindow wait till set before runJavaScript()
.. not clever to run JS on the summary before any content is loaded
2016-03-21 15:19:26 +00:00
Mark Liversedge
697e513ad0 Fix LTM Tracker SEGV
.. fix uninitialised data
2016-03-21 14:02:03 +00:00
Mark Liversedge
4f7e7759b3 RideSummaryWindow refresh optimisation
.. for every time the ride item changed signal caused a refresh the
   intervals changed signal would cause a second refresh straight away.
2016-03-21 12:19:32 +00:00
Mark Liversedge
9df6d2188d Merge pull request #1895 from AartGoossens/feature/refactor_hrpw_plot
Refactor of HrPw code FR > EN
2016-03-20 19:08:35 +00:00
Aart Goossens
eed3cd7073 Added .swp to .gitignore
.swp files are swap files for VIM
2016-03-20 19:41:29 +01:00
Aart Goossens
76abbd4bf4 Refactor of HrPw code FR > EN 2016-03-20 19:41:25 +01:00
Mark Liversedge
8c38695419 Qt 5.6 NOWEBKIT fixups for OSX
.. OAuthDialog changes had a logic error in the
   conditionals for WebKit v WebEngine
2016-03-20 15:10:28 +00:00
Mark Liversedge
e90ba5dbd1 Fixup missed in prior commit. 2016-03-20 14:21:39 +00:00
Mark Liversedge
888a41098f Fixups NOWEBKIT when not set
.. builds without NOWEBKIT broke with last commit
2016-03-20 13:52:30 +00:00
Mark Liversedge
8b73af182e Qt 5.6 Support - NOWEBKIT
.. remove Webkit dependency if the user adds the following
   to their gcconfig.pri: DEFINES += NOWEBKIT

.. at present the build disables:
   * Bing map
   * Google map
   * Ride Window
   * Street View

.. since QT 5.6 enables c++11 dependent libs may no longer
   compile with c++11 enabled (e.g. qwtplot3d)

.. this is experimental and in place to enable further work
   on deprecating the webkit dependency in GoldenCheetah v4.0
2016-03-20 13:25:00 +00:00
gcoco
6817a519a7 Add -lusb-1.0
Make it easier to understand that this is using libusb-compat and libusb-1.0.
[ci skip]
2016-03-19 10:34:14 -04:00
Joern
95548d9258 Fix "out-of-source" build
... translation files are searched for in the "src" dir, but where created in the build dir
2016-03-19 12:54:53 +01:00
Mark Liversedge
c4fb16dcd9 Add Device Wizard Size Hint
.. lots of devices to choose from now, dialog needs to be larger.
2016-03-19 10:58:04 +00:00
gcoco
5930a43f3a Reenable Qt 5 builds
Use a script to install Qt. We force Qt5 to pick Qt 5.5.1
[ci skip]
2016-03-18 21:44:52 -04:00
gcoco
8905afd22e Install Qt 5.5.1 from brew
Because QT 5.6 breaks stuff
[ci skip]
2016-03-18 21:42:50 -04:00
Mark Liversedge
831964715c CI Disable QT5 test builds as 5.6 breaks things
.. notably c++11 needed which breaks a few dependencies

.. WebKit is not available and breaks our builds

.. we will likely need to fixup WebEngine and c++11 in some
   fashion. This may mean we deprecate qwtplot3d and we
   pre-build WebKit for builds
2016-03-18 21:42:08 +00:00
Mark Liversedge
a8ce6cf05e Merge pull request #1893 from erikboto/add_kettler_support
Add support for Kettler Ergo Bikes
2016-03-18 21:39:51 +00:00
Mark Liversedge
d2b98d26bd UserData Dialog SizeHint
.. coding through a letterbox is never fun, so made it a bit bigger
2016-03-18 17:27:28 +00:00
Erik Botö
fc8fd45070 WorkoutWidget: increase x-axis length during workouts if needed 2016-03-18 12:55:03 +01:00
Mark Liversedge
bdcbb84b12 DataFilter fix unary '-'
.. was evaluating to zero always.
2016-03-18 11:39:30 +00:00
Mark Liversedge
af69e86e8b Solver Display CP config box fix
.. x,y co-ord of box was too low as used W' from not W' to
   as the maximum value.
2016-03-17 22:30:44 +00:00
Mark Liversedge
48720e7ae1 CP/W' label on SolverDisplay nit 2016-03-17 20:12:52 +00:00
Mark Liversedge
3aab4f4f8b Hack for Uncompressed MouseMove Events on X11 QT5 < 5.6
.. there is a fixup for this in Qt 5.6 but not prior and
   it causes horrible performance problems on the QXT
   span slider on Linux, which is irritating when trying
   to zoom into an area of a ride.
2016-03-17 18:37:23 +00:00
Mark Liversedge
f4e16bf5c3 Fix initialisation bug
.. count=0 in SolverDisplay
2016-03-17 13:59:23 +00:00
Mark Liversedge
4913560f90 Recognise Johan Martensson 2016-03-17 11:53:46 +00:00
Johan Martensson
ea969c18e2 Fix for Withings Readings without Weight
.. when searching for weight in withings readings there will
   be measurements that do not include weight -- these are
   now skipped to avoid returing a 0kg weight.
2016-03-17 11:50:40 +00:00
Mark Liversedge
83f026d9d4 Solver Display Cursor labels for CP/W'
.. so you can explore the solutions found

NOTE: there is a hack in this to avoid mouse event compression
      issues on QT5 < 5.6 on X11 (Linux).
2016-03-17 11:03:32 +00:00
Mark Liversedge
a135bdb1d3 CP/W' Solver code tidy
.. destructor to prevent memory leak
.. reset when solver completes
.. sizeHint for better layout if screen big enough
2016-03-17 08:06:51 +00:00
Mark Liversedge
d71fba12f8 Solver Display Cosmetic Nits
.. frame for plot and spacing of dialog.
2016-03-16 20:24:33 +00:00
Mark Liversedge
9e5a348539 Solver Display limit painting
.. don't paint dots for cost > 100kJ. It was good for debugging
   and checking the solver, but now its just distracting and a
   very large performance overhead.
2016-03-16 19:53:37 +00:00
Mark Liversedge
ee3bcb4224 Solver Display Color Code Tau
.. red low, green mid, blue high
2016-03-16 18:44:09 +00:00
Mark Liversedge
a314f28847 SolverDisplay show config box
.. show area covered by current configuration for CP and W'
   as context for the solver and enlarged by 10% for good
   measure.
2016-03-16 16:45:38 +00:00
Mark Liversedge
29b0815341 Merge pull request #1887 from lumanz/master
Language setting update for Simplified Chinese
2016-03-16 12:39:59 +00:00
Sping Zhao
bd88c1a81f Update src.pro 2016-03-16 20:00:47 +08:00
Sping Zhao
6621c4c1f3 Update application.qrc 2016-03-16 19:59:45 +08:00
Sping Zhao
3d6b6d6f78 Update Pages.cpp 2016-03-16 19:58:01 +08:00
Mark Liversedge
6bad8a6a2e Solver Solve for W'bal=500
.. athletes fail at around 500J not 0 !

.. see http://www.ncbi.nlm.nih.gov/pubmed/24509723
2016-03-16 10:53:35 +00:00
Mark Liversedge
e0daa72b3c CP Solver Colors
.. color the solutions found by cost

.. it looks like there is some kind of continuous solution
2016-03-16 08:59:56 +00:00
Mark Liversedge
931ce07e99 CP/W' Solver Part 3 of 3
.. added a visualisation of the search progress.
.. can be refined later to color lowest cost etc.
2016-03-15 22:29:11 +00:00
Erik Botö
5300f5179d Add support for Kettler Ergo Bikes 2016-03-15 20:41:39 +01:00
Mark Liversedge
2173688939 Solver Part 2c of 3
.. threading didn't improve performance, it made things worse!

.. but now added R for differential formula; this is the recharge
   factor for recovery.
2016-03-15 14:50:18 +00:00
Mark Liversedge
140b700beb Allow Tau in Metadata to override
.. since we solve for it, should let the user set it in the ridefile.
2016-03-15 11:39:41 +00:00
Mark Liversedge
3e3d9a6b7f Merge pull request #1886 from lumanz/master
Added new translation for simplified Chinese
2016-03-15 07:17:49 +00:00
Sping Zhao
5004851b01 Merge pull request #1 from lumanz/lumanz-patch-1
Added new translation file for simplified Chinese
2016-03-15 07:31:15 +08:00
Sping Zhao
b32a63e1c1 Update src.pro 2016-03-15 07:29:33 +08:00
Sping Zhao
3876f593f1 Added files via upload 2016-03-15 07:27:24 +08:00
Mark Liversedge
88aaa73504 comment nit
.. cut and paste comment in the cp solver was a tad misleading!
2016-03-14 21:39:08 +00:00
Mark Liversedge
88e964d3b2 CP/W' Solver Part 2b of 3
.. let the user stop the iterations

.. part c (last part of 2) needs to support threads
2016-03-14 20:56:13 +00:00
Mark Liversedge
9ec933b30f Solver User Constraints
.. user can constrain the search space to plausible ranges for their
   training status and history
2016-03-14 19:48:58 +00:00
Mark Liversedge
131e55738e CPSolver Simulated Annealing Fixups
.. probability(), temperature() and neighbour() functions were
   not implemented for a correct SA implementation.

.. results still need to be constrained to avoid solutions that
   are implausible for the athlete status or history
2016-03-14 18:20:39 +00:00
Mark Liversedge
a4f07b1457 Solver Integral and Differential
.. support either model

.. the simulated annealling algorithm isn't quite right, need
   to look at the probability function and improve it.
2016-03-13 09:37:01 +00:00
Mark Liversedge
2c1e715b51 Don't need a static counter
.. bit of a brain fart. fixed.
2016-03-12 19:04:34 +00:00
Mark Liversedge
b60690e66a Performance Nit OSX
.. too many updates slowed it down *badly*
2016-03-12 15:29:28 +00:00
Alejandro Martinez
f518cf6f74 Merge pull request #1880 from amtriathlon/master
Finished Metrics Descriptions
2016-03-12 11:31:48 -03:00
Alejandro Martinez
24071a9736 Added tooltip for metadata fields and PMC metrics on LTM charts 2016-03-12 10:51:25 -03:00
Alejandro Martinez
cbe24160a7 Added initialize method and descriptions to MMP Percentage, Fatigue Index and Pacing Index
initialize enables tr() to work since it is ran after translator tables are loaded
2016-03-12 10:51:23 -03:00
Alejandro Martinez
18860210d6 Added remaining metric descriptions
For plain power and pace peak metrics the name is descriptive enough
2016-03-12 10:51:22 -03:00
Alejandro Martinez
df19d4ec72 Added Descriptions for WPrime metrics 2016-03-12 10:51:20 -03:00
Alejandro Martinez
4694fc3091 Added Descriptions for Time and Percent of Time in Zone metrics 2016-03-12 10:48:46 -03:00
Alejandro Martinez
88137a7a24 More Metrics Descriptions
Aerobic Decoupling, Daniels Points, Left Right Balance and TRIMPs
2016-03-12 10:48:43 -03:00
Mark Liversedge
d493d881a5 CP/W' Solver Part 2a of 3
.. added a solver using a simulated annealing algorithm.

.. the solver is constrained to physiologically plausible
   values, but these may not be valid for the athlete. So
   a second update is required to allow the user to constrain
   the solver.

.. secondly, the algorithm cannot be halted and doesn't use
   multiple CPUs/threads should they be available this should
   be in a second update to part 2

.. finally, a visualisation is needed to show the solver progress
   across the search space to give the user an indication of
   where the best solutions were found (especially if they don't
   constrain it themselves).
2016-03-12 11:35:36 +00:00
Mark Liversedge
de0a1e93f1 CP/W' Solver Part 1 of 3
.. add the dialog to mainwindow, but not functioning.

.. Part 2 will add the Solver and Part 3 will add the
   progress visualisation.

[this is a recommit after reverting the previous one
 that borked line endings to MSDOS crlf]
2016-03-11 16:10:26 +00:00
Mark Liversedge
9fb184c748 Revert "CP/W' Solver Part 1 of 3"
.. line endings inadvertently set to MSDOS, causes all change history
   in the file to be lost, so reverting and will push again.
2016-03-11 15:53:12 +00:00
Mark Liversedge
3d741aea3f ChartBar margins too think on Mac
.. looked weird.
2016-03-11 15:42:55 +00:00
Mark Liversedge
7e559a7bf6 CP/W' Solver Part 1 of 3
.. add the dialog to mainwindow, but not functioning.

.. Part 2 will add the Solver and Part 3 will add the
   progress visualisation.
2016-03-11 15:04:38 +00:00
Mark Liversedge
a0536ed2ec Merge pull request #1882 from erikboto/fix_own_dropbox_id_bug
Settings.h:  Don't redefine GC_DROPBOX_CLIENT_ID if it's defined in g…
2016-03-11 12:11:26 +00:00
Mark Liversedge
a2dba1edfc Merge pull request #1881 from erikboto/basic_fe-c_stationary_support
Add basic support for ANT-FE-C Stationary Bikes
2016-03-10 14:41:42 +00:00
Erik Botö
d8212649a8 Settings.h: Don't redefine GC_DROPBOX_CLIENT_ID if it's defined in gcconfig.pri 2016-03-10 13:34:40 +01:00
Erik Botö
b9b8aec852 Add basic support for ANT-FE-C Stationary Bikes 2016-03-10 12:10:53 +01:00
Mark Liversedge
8f1bceaa61 Merge pull request #1879 from amtriathlon/master
Added Descriptions for Skiba cycling metrics
2016-03-09 18:35:26 +00:00
Alejandro Martinez
c0dbad1d05 Added Descriptions for Skiba cycling metrics 2016-03-09 13:56:12 -03:00
Mark Liversedge
98d93a7184 Remove errant qDebug 2016-03-09 14:08:19 +00:00
Mark Liversedge
47f7dee3bf LTM None means None
.. when plotting dots with symbol none we don't
   plot anything. This is useful for just plotting
   top or bottom N.
2016-03-09 14:06:15 +00:00
Mark Liversedge
bf7f570fc8 Fix LTMOutliers crash
.. out of bounds memory access
2016-03-09 12:45:51 +00:00
Mark Liversedge
8974cd8ab2 src.pro nit
.. QT Creator refactoring of ToolsDialog -> EstimateCPDialog
   updated src.pro, but not in the places we like.
2016-03-09 08:40:46 +00:00
Mark Liversedge
9c3f9523fd Tidy Up Tools Menu
.. options should be the last menu item
.. rename ToolsDialog -> EstimateCPDialog
.. move findIntervals to Activity menu
2016-03-09 08:27:16 +00:00
Mark Liversedge
43f4416a26 Merge pull request #1878 from amtriathlon/master
Added Descriptions for Coggan Metrics
2016-03-09 07:46:55 +00:00
Alejandro Martinez
fc690eeeda Added Descriptions for Coggan Metrics 2016-03-08 21:07:45 -03:00
Mark Liversedge
cc13edd833 Fix QT4 build on QVector::removeAt
.. it wasn't available till QT 5.
2016-03-08 21:34:08 +00:00
Mark Liversedge
99e3a50985 To Exhaustion Metric
.. count of marks in activity for points of exhaustion, mostly useful
   for filtering on rides that contain them
2016-03-08 21:29:48 +00:00
Mark Liversedge
fbfa02e73e Fixup Mark Exhaustion
.. allow delete
.. refresh properly
.. double click on axis to edit list of exhaustions in the ride
2016-03-08 21:07:56 +00:00
Mark Liversedge
5b26bb7bdc Exhaustion Lines Initial
.. marking exhaustion, a WIP
2016-03-08 08:28:07 +00:00
Mark Liversedge
6c120ec4aa Merge pull request #1876 from amtriathlon/master
Completed BasicRideMetrics descriptions
2016-03-08 07:27:27 +00:00
Alejandro Martinez
3d93e34785 Completed BasicRideMetrics descriptions 2016-03-07 20:56:05 -03:00
Mark Liversedge
bd83dc782a Merge pull request #1873 from viiru-/fix-1829
Fix build failure reported as #1829
2016-03-06 10:14:50 +00:00
Arto Jantunen
e6700f569c QWT: Remove qwt_scale_map_table.h from SOURCES 2016-03-06 11:52:55 +02:00
Mark Liversedge
7622d47770 Compile time nits
.. cleaning out warnings.
2016-03-06 08:57:24 +00:00
Mark Liversedge
f7e8625f7f Merge pull request #1872 from gcoco/udev-rule
Add USB1 stick
2016-03-06 08:36:14 +00:00
gcoco
19ab30289f Add USB1 stick
So that those using USB will have write capabilities
2016-03-05 21:59:54 -05:00
Alejandro Martinez
f7a1a0fbd1 Added metric description tooltip in curve settings for LTM charts 2016-03-05 14:49:09 -03:00
Alejandro Martinez
583100df89 Merge pull request #1871 from amtriathlon/translations
Update Translations to the new src directory structure
2016-03-05 13:52:22 -03:00
Alejandro Martinez
814cb5b990 Merge pull request #1870 from amtriathlon/master
Show metric description as tooltip in config metric lists
2016-03-05 13:24:23 -03:00
Alejandro Martinez
4686bc497f Fixed Italian Translation in Diary Sidebar
Date format was incorrectly translated to plain text
Days of the week were not abreviated
2016-03-05 13:22:01 -03:00
Alejandro Martinez
7ba1ea8437 Update translations to the new src directory structure 2016-03-05 13:08:26 -03:00
Alejandro Martinez
5b91fbbb4d Show metric description as tooltip in config metric lists
For builtin metrics it shows the newly added description if available
and refers to the Glossary otherwise
For user defined metrics it is the text provided by the user
Complete descriptions for Running and Swimming metrics and partial
update for BasicMetrics, it defaults to a message referring to the wiki.
Fixes #1850
2016-03-05 10:59:55 -03:00
Mark Liversedge
1f88091178 Don't need QtScript in src.pro
.. we don't use it and its deprecated in QT 5.6 anyway
2016-03-03 20:56:42 +00:00
Mark Liversedge
6025681f92 Fixup for GoogleDrive on QT < 5.4
.. rather than only build with Google Drive support if
   using QT5.4 just adapt the code to avoid issues with
   QJsonObject -> operator present in QT5.x < 5.4.

.. see https://bugreports.qt.io/browse/QTBUG-29573
2016-03-03 19:21:23 +00:00
Mark Liversedge
4fa88281d4 Fix Preferences Save useMetricUnits bug
.. when saving weight/height the saveClicked() function was using the
   value in context->athlete->useMetricUnits to decide if to perform
   conversion of the values stored in the widgets -- BUT -- it will
   reflect the value BEFORE our update since it has not been updated
   yet (via the configChanged() signal.

.. instead we look at the pending value when deciding if the values
   need conversion.

Fixes #1868
2016-03-02 21:12:30 +00:00
Mark Liversedge
82fe34affc GoogleDrive needs QT 5.4 or higher
.. so update in src.pro and MainWindow.
2016-03-02 07:58:46 +00:00
Mark Liversedge
e4f815e075 Merge pull request #1867 from gille/google
Fixes for v3 API.
2016-02-29 08:01:22 +00:00
Magnus Gille
eed0c1e368 Fixes for v3 API.
DownloadURL no longer exists so we have to create it ourselves.
Page size no longer limited to 100.
2016-02-28 19:50:46 -05:00
Mark Liversedge
0fe65b4ce2 MSVC .gitignore
*.opt
2016-02-27 11:04:00 +00:00
Mark Liversedge
181d304d41 Fix src.pro always linking
.. infuriating issue of always running the linker step when
   running make, even if not needed.
2016-02-27 10:12:05 +00:00
Mark Liversedge
2233f53757 UML Future Chart Update
.. using Visual Paradigm 13.0
2016-02-27 10:12:05 +00:00
Mark Liversedge
be3d263922 Merge pull request #1864 from Joern-R/WinBuild
WinBuild Problem
2016-02-27 10:11:50 +00:00
Joern
f19024e717 WinBuild
... icon not found on Windows/MSVC compile
2016-02-27 10:46:09 +01:00
Mark Liversedge
2529acab31 Revert "Fix src.pro always linking"
This reverts commit 836def1f20.

It breaks Travis-CI and the .qm files are not rebuilt when deleted.
2016-02-26 21:54:09 +00:00
Mark Liversedge
836def1f20 Fix src.pro always linking
.. thanks to Ivor Hewitt for the fix
2016-02-26 21:00:52 +00:00
Mark Liversedge
adbe8443fd Future Chart Design Update
.. simplified a little.
2016-02-26 17:52:45 +00:00
Mark Liversedge
37de998ccf Windows Disable ScreenSaver Train View
.. previously it was disabled via VLC, but if you're not running
   with video then the screensaver will kick in on Windows.

.. we now disable it via the Windows API too

Fixes #1859
2016-02-26 12:49:49 +00:00
Mark Liversedge
74b21037d1 Reorg Mac plist location fixed 2016-02-26 11:05:44 +00:00
Mark Liversedge
cc6bd2c077 Clean qtsoap common.pri
.. just to get rid of tedious warning in QT Creator
2016-02-26 10:21:14 +00:00
Mark Liversedge
052b82c611 .gitignore QT creator autosave files
[ci skip]
2016-02-26 10:04:11 +00:00
Mark Liversedge
804f30502e Reorg tidy src directory
.. move the fluff that has collected into the src directory
   to somewhere more appropriate.
2016-02-26 09:28:28 +00:00
Mark Liversedge
18cf59bd37 Reorg LTMSidebar belongs in "Gui"
.. not in Charts
2016-02-26 08:37:45 +00:00
Mark Liversedge
dab964b9af Reorg Wizards belong in "Gui"
.. not FileIO
2016-02-26 08:33:32 +00:00
Mark Liversedge
e9fce8da1a Fix "SOURCE" Typo in src.pro
.. for local developments
2016-02-26 07:46:55 +00:00
Mark Liversedge
67b3185e5d Reorg Dialogs belong in "Gui"
.. so new developers can find them !
2016-02-26 07:41:28 +00:00
Mark Liversedge
f4774b675e Recognise Lucas Garoto
.. for contributions to the wiki
2016-02-26 07:28:28 +00:00
Mark Liversedge
6e55f1803a Ignore QT Creator src.pro.user file
.. its a local file and not relevant to anyone else.
2016-02-25 18:20:00 +00:00
Mark Liversedge
e7fe61f367 Move RideCache to Core
.. it was in FileIO
2016-02-25 16:37:12 +00:00
Mark Liversedge
5564348be9 Fixup Directory reorg for Windows
.. windowsico.rc points to wrong image
2016-02-25 15:40:05 +00:00
Mark Liversedge
6f55ca62e9 Fixup Directory Reorg for Travis-CI and OSX builds
.. wrong path for D2XX
.. Secrets.h has moved
.. QtMacVideoWindow.h should be in Gui
2016-02-25 15:28:20 +00:00
Mark Liversedge
0a20387c34 Mv antlog python script to util 2016-02-25 15:03:22 +00:00
Mark Liversedge
7b582a9168 Restructure source directory
Introducing a directory structure to make it a bit less
daunting for new developers and perhaps even old hands.

The main folders all start with an upper character, so src
files are now located in;

* Core - Core data structures
* Gui - Main GUI elements
* Metrics - Models and Metrics
* FileIO - Device and File I/O
* Charts - All the chart types
* Cloud - Working with Web Resources
* Train - Anything Train View specific
* ANT - Our ANT+ Stack
* Resources - Images, Translations, Web etc

Apologies to anyone who needs to merge across this update.
2016-02-25 14:51:53 +00:00
Mark Liversedge
dc59b4763b UML Design Future Chart
.. using scatter plot of metrics as a basis to develop a class
   hierarchy to replace all chart 'types' by a single suite of
   classes

.. this is to enable easier additions of features like interval
   analysis and UX as well as greater consistency (data that is
   available, functions etc)

.. but for v4.0 we will just use this to introduce a scatter plot
   for the trends view and develop it further in v4.1

.. this is the initial class design.
2016-02-25 10:38:37 +00:00
Mark Liversedge
154d0c6c92 OSX Don't Embolden Fonts
.. for the scopebar and sidebar items, the bold font looks
   rather garish on OS X. But less so for Windows/Linux.
2016-02-24 15:12:34 +00:00
Mark Liversedge
3db170ec4c MainWindow LHS Action Buttons gone
.. for OSX
2016-02-24 13:18:20 +00:00
Mark Liversedge
aae03a3f1d Fix User Metrics XML parsing
.. \\n -> \n processing was missed.
2016-02-22 10:43:55 +00:00
Mark Liversedge
f9ae19f7ed MainWindow LHS Action Buttons gone
.. for Linux and Windows (will resolve OSX separately).
2016-02-21 18:25:10 +00:00
Mark Liversedge
ec2738d023 Merge pull request #1855 from Joern-R/CloudDB-Chart
CloudDB - Chart
2016-02-21 15:45:16 +00:00
Joern
f144480068 Fix Errors and Warning for CI
... cross-platform compilation errors
2016-02-21 13:17:38 +01:00
Joern
77248ecf56 CloudDB - Chart
... fixes and refactoring of duplicate code
... preparation for further artifacts
2016-02-21 12:24:03 +01:00
Mark Liversedge
6e8ef811f0 src.pro nits
.. from train view controls patch
2016-02-21 09:48:28 +00:00
Mark Liversedge
f4effc77dd Recognise Ivor Hewitt 2016-02-20 22:01:46 +00:00
Mark Liversedge
dfd3b4e572 Merge pull request #1854 from ihewitt/performance
Performance improvements
2016-02-20 21:59:11 +00:00
Ivor Hewitt
21d2c0bedf Some performance improvements.
Helps startup time a bit more, mainly by removing
all of the QTextEdit controls used for html esacping
and moving them into a utils class.
also stopped excessive looping in setymax where axis height
was small.
simpler implementation of ceil used rather than calling qCeil.
2016-02-20 20:28:25 +00:00
Mark Liversedge
ac4a9d4f00 Recognise Daniel Besse
.. for cTSS solution and proof
2016-02-20 17:09:38 +00:00
Daniel Besse
10d000ee04 cTSS mathematical proof
.. outlines the mathematical proof for the x/y exponents of 4 and 1
2016-02-20 17:06:53 +00:00
Mark Liversedge
30464db0af Fix Import Halt on Need Dates
.. not sure why we check twice so removed, it blocked imports
.. made the Step 3 label a little more user friendly
2016-02-20 17:02:12 +00:00
Mark Liversedge
c771c57d83 Fix use of NP in samples datafilters
.. in user metrics and user data series.
2016-02-19 21:18:54 +00:00
Mark Liversedge
3cc9888090 TrainView Controls minor nits
.. initialise intensityAdjust
.. center the controls
2016-02-19 17:47:24 +00:00
Mark Liversedge
a1643d2d68 Merge pull request #1847 from erikboto/trainview_intensity_squash
Trainview intensity squash
2016-02-19 17:29:06 +00:00
Mark Liversedge
d428edb082 Minor performance Improvements
.. to avoid expensive calls to QT functions (e.g. translating
   (tm) symbol via QTextDocument.
2016-02-19 00:16:48 +00:00
Mark Liversedge
c168d2f74a Merge pull request #1849 from gille/google
Fix out of bounds access in FixSmo2.cpp
2016-02-16 16:37:16 +00:00
Alejandro Martinez
c7c7ee6b68 Merge pull request #1848 from amtriathlon/master
Try to load translation file from GCROOT first
2016-02-16 12:52:32 -03:00
Erik Boto
2a1c56311b Views: fix issue after renaming (missed some instances) 2016-02-16 16:48:12 +01:00
Magnus Gille
c41d5758f9 Fix out of bounds access in FixSmo2.cpp 2016-02-16 10:36:48 -05:00
Mark Liversedge
dae9863649 Merge pull request #1846 from dresco/g3_power_spikes
Fix speed & power spikes from Powertap G3
2016-02-16 14:47:27 +00:00
Alejandro Martinez
9ca6990c1a Try to load translation file from GCROOT
To allow translators test his work using standard builds
Also updated translation files
2016-02-16 09:31:42 -03:00
Jon Escombe
aa70fbca81 Fix speed & power spikes from Powertap G3
G3 hubs intermittently broadcast battery status messages, which
were being treated as telemetry and saved into lastMessage. This
was then corrupting the ANT_WHEELTORQUE_POWER calculations for
speed & power after each battery message.

Note: don't have a G3 to verify this agaist, but this fix makes
sense given the supplied log files!
2016-02-16 10:15:52 +00:00
Mark Liversedge
08f71fa859 Merge pull request #1845 from gille/google
Don't send passwords over HTTP.
2016-02-16 06:52:28 +00:00
Magnus Gille
0c48b0caf0 Don't send passwords over HTTP. 2016-02-16 00:53:22 -05:00
Mark Liversedge
7ddb569079 Merge pull request #1844 from gille/google
Google Drive API v3 + bug fix for uploading files without syncing first.
2016-02-15 19:08:02 +00:00
Magnus Gille
f6bdefe4c1 Port GoogleDrive integration to GoogleDrive API v3. 2016-02-15 13:12:09 -05:00
Magnus Gille
f65be7f793 Fix a bug where GoogleDrive requires that it's opened before we can actually upload things. 2016-02-15 13:12:09 -05:00
Mark Liversedge
7f78699023 Merge pull request #1842 from gille/dropbox
Make sure we don't log any tokens in the gc crash dialog.
2016-02-15 07:26:19 +00:00
Magnus Gille
7e0d64d99f Make sure we don't log any tokens in the gc crash dialog. 2016-02-15 00:22:54 -05:00
Mark Liversedge
1a13e1c961 ChartBar use QT widgets on OSX
.. retire the use of Cocoa widgets
2016-02-14 21:35:12 +00:00
Mark Liversedge
c657654a2e Sidebar Item Honour Font Config
.. the sidebar handles now honour font config so
   on hi-dpi displays if you increase the font
   size it will be applied to the sidebar now.
2016-02-14 21:11:40 +00:00
Mark Liversedge
7b257a4bb1 Workout Editor Scrollbar on Change
.. as the workout increases and decreases in size as
   you edit it, the scrollbar adjusts to suit.
2016-02-14 20:49:27 +00:00
Mark Liversedge
55b7b6781d Target Power Color (CTPOWER)
.. so you can customise the color of target power when
   plotting in train view
2016-02-12 17:08:09 +00:00
Mark Liversedge
c277d2fc68 Workout Editor Zoom Record Nits
.. hide scrollbar
.. deminish plotted telemetry under y-axis
2016-02-11 22:28:11 +00:00
Mark Liversedge
d1c636afa9 Workout Editor Ensure Visible
.. when zoomed if you highlight the qwkcode the view makes sure
   the gui is visible and centered if poss.

.. also ensures 'now' is centred and visible when recording - makes
   the view useful as a close-up view of 'whats coming up' during
   recording.
2016-02-11 21:31:21 +00:00
Mark Liversedge
6a1e7e9bed Workout Editor NULL Workout
.. view got messed up when the workout is null making it
   impossible to see / change a workout from new (d'oh).
2016-02-11 20:18:49 +00:00
Mark Liversedge
8dc42e233e Fix SearchBox Animation/Size on OSX
.. the animation / width did not get set correctly on
   OS X; so now we stop any animation and reset for OSX
2016-02-11 15:03:36 +00:00
Mark Liversedge
6ac937884f Fix Graphics corruption on QT < 5 2016-02-10 07:56:10 +00:00
Mark Liversedge
53591fd8a7 Workout Editor Zoom Animation
.. zooming in / out now animates to make it less jarring.

.. we now need to add 'ensureVisible' for the cursor when
   cursoring down the qwkcode to make sure block is visible
   on the gui side when zoomed.
2016-02-09 21:48:14 +00:00
Mark Liversedge
5d4157d7fe Fix Mac Scope Bar & Fullscreen Toolbar
.. the toolbar no longer gets hidden on fullscreen.

.. the scope bar uses the QT widgets and therefore also
   now honour the font config on a Mac
2016-02-09 19:27:40 +00:00
Mark Liversedge
5b1dbcec35 MainWindow Scopebar honour font config
.. instead of fixing to 10px
2016-02-09 16:23:48 +00:00
Mark Liversedge
9345fa47ca Merge pull request #1827 from dresco/configchange
Do not action ConfigChange mid-workout
2016-02-09 15:38:18 +00:00
Mark Liversedge
b9a5c9345d Merge pull request #1838 from simashin/master
add some Russian translation
2016-02-09 15:37:06 +00:00
Mark Liversedge
41df2a234d Workout Editor Scrollbar OSX
.. it needs some styling as standard ones are jarring.
2016-02-09 15:21:06 +00:00
Mark Liversedge
53083c792b Workout Editor Scrollbar Windows QT5.6
.. better styling.
2016-02-09 15:18:44 +00:00
Mark Liversedge
7db149c37e Workout Editor Zoom and Scroll
.. quite pleased with this one !
2016-02-09 14:53:06 +00:00
Mark Liversedge
42d8d03855 ChartBar size nit
.. when preferences change. We really need to fix the
   sidebar items, scopebar and toolbar to do the same.
2016-02-08 22:28:50 +00:00
Mark Liversedge
6c56620fbf UserMetric Fix "Test" in Preferences
.. now user metrics will reference pre-computed metrics
   during the computeMetrics() call, we need to NOT do
   this when they're empty.

.. there is really only one time this happens - when we
   are testing a metric in the preferences pane.
2016-02-08 22:05:37 +00:00
Mark Liversedge
0f0aec935b DataFilter add "config(ftp)"
.. as well as config(cp)
2016-02-08 21:47:13 +00:00
Mark Liversedge
967077e809 Merge pull request #1837 from amtriathlon/master
User Defined Metrics UI nits
2016-02-08 21:31:40 +00:00
simashin
a4e7291d08 add some Russian translation 2016-02-09 00:16:17 +03:00
Alejandro Martinez
0aab0bc236 User Defined Metrics UI nits
Changed EditUserMetricDialog parent so that Options/Preferences dialog doesn't get hidden by main window
Added double-click as an alternative to edit button
2016-02-08 15:49:13 -03:00
Mark Liversedge
88e559d07e User Metrics Fix Interval Symbols
.. use the symbols computed for an interval when calculating
   for an interval and not those calculated against the entire
   ride.

.. we now use datafilters in a lot of contexts and should
   consider moving to handling scope more formally within
   the language grammar.
2016-02-08 17:15:59 +00:00
Mark Liversedge
7fe0babd43 Workout Editor New + Save As
.. allow the user to create a new workout and also
   to save as a new file, which are complementary functions.

.. we also now prompt the user if they have made changes that
   have not been saved to make sure they don't lose them by
   accident.
2016-02-08 14:58:25 +00:00
Mark Liversedge
872f5d7f9f eCP code comments 2016-02-08 03:07:09 +00:00
Mark Liversedge
c3d1bf9cbd eCP lab plots comments
.. just commented code and renamed some variables to make the
   code a little easier to follow.
2016-02-07 17:47:08 +00:00
grauser
637214283a ScatterPlot: Remove NA value for both side ! 2016-02-06 16:25:37 +01:00
grauser
ce40818add ScatterPlot: ignore NA values for lr balance 2016-02-06 15:46:42 +01:00
Mark Liversedge
9e959c1fc6 SplashScreen coding nits
.. a few bits of code were not removed from the different
   approaches taken whilst developing the splash progress
   window before the last commit, so cleaning them away.
2016-02-06 12:55:24 +00:00
Mark Liversedge
5e6ddba735 Loading Splash Screen
.. just shows progress indicator so you know something
   is happening whilst the cache is reloaded from store.
2016-02-06 12:04:43 +00:00
Mark Liversedge
6158666e5c Merge pull request #1833 from Joern-R/TRAIN
TrainMode - Don't allow to close GC Window if active/updating data
2016-02-06 09:44:22 +00:00
Mark Liversedge
7335e523e8 No RLV on Mac, but does do video, just not VLC
.. fixup the #ifdef logic for OSX to avoid crash.
2016-02-05 21:00:09 +00:00
grauser
b312bb23c6 LTMSidebar: Correct crash on adding new season 2016-02-05 21:46:53 +01:00
Joern
053e28311a Train Mode - Window Close (enhancement)
... popup and block closing only when running (recording or pause recording)
2016-02-05 20:42:37 +01:00
Joern
3e5a19f284 TrainMode - Don't allow to close GC Window if active
... while TrainMode - realtime data is updated/displayed
... (and avoid SEGV when closing)
2016-02-05 19:32:38 +01:00
Mark Liversedge
bbdb82f33d Merge pull request #1832 from Joern-R/TRAIN
TrainView
2016-02-05 18:16:27 +00:00
Joern
ff1d7b9e28 Fix Media Library / non-standard ASCII characters for VLC player
... video not shown when path contains non-standard chars
2016-02-05 17:54:03 +01:00
Mark Liversedge
120b31d758 2P CP Model interval defaults
.. tweaked defaults to look in
   2-3 minute range for an effort
   7-20 minute range fro ae effort
2016-02-05 15:48:19 +00:00
Mark Liversedge
042e215df1 PDModel store peak efforts for all models
.. not just eCP.

.. highlights a major issue for the Veloclinic
   model implementation that needs to be corrected.
2016-02-05 14:59:37 +00:00
Mark Liversedge
f201ad8823 Plot Peak Efforts on eCP model
.. show the peak efforts that were selected whilst
   converging to estimate model parameters.
2016-02-05 12:11:27 +00:00
Mark Liversedge
fbc9e2c708 eCP model peak points
.. The eCP model keeps a note of the peak efforts used to derive the
   model parameters. This is so we can work with them later, possibly
   to store in the ride item and plot alongside the model etc

.. we may choose to use confidence intervals across them since they
   will always represent the peak "anaerobic and/or aerobic" efforts
   in each ride.
2016-02-05 11:43:08 +00:00
Joern
277a05925e Train - RLV
... only supported on VLC for now - don't offer with other players
2016-02-04 19:25:31 +01:00
Jon Escombe
054f1d7ceb Do not action ConfigChange mid-workout
Is disruptive as it zaps and recreates the devices. Instead
flag the changes to apply when workout ends.
2016-02-03 10:36:51 +00:00
Erik Botö
b189ddf4db Rename TrainIntensityAdjustment to TrainBottom 2016-01-31 13:25:02 +01:00
Mark Liversedge
afd1a6ab6c Train view Autoconnect config
.. let the user decide if they want to auto-connect
   devices in train view.
2016-01-31 11:16:01 +00:00
Mark Liversedge
54ce2aeaa7 Merge pull request #1821 from Joern-R/CloudDB-Status
CloudDB - Message Handling
2016-01-31 10:32:43 +00:00
Joern
b0a90589c2 CloudDB - Message Handling
... centralize message handling
... add status-based message
... revert try-out for build in src.pro from last commit (no reason to change this)
2016-01-31 11:11:54 +01:00
Mark Liversedge
19790f5c33 Merge pull request #1820 from Joern-R/CloudDB-Status
CloudDB - Status Handling
2016-01-30 20:12:21 +00:00
Joern
ff867e1b22 CloudDB - Build Variable missing GC_Cloud...
... fix use of "Secrets.h" - only required in "..Common" after refactoring
... fix crash reading charts (from clean cache)
2016-01-30 19:48:33 +01:00
Joern
2a914b60c8 CloudDB - Status Handling
... show status of CloudDB
... refactor some duplicate common variables
2016-01-30 19:17:30 +01:00
Erik Botö
17a7b4f660 TrainView: Move controls into bottom and add intensity controls 2016-01-29 13:43:49 +01:00
Mark Liversedge
5ad0f237ee Desktop Geometry SEGV
.. set desktop in MainWindow before building
   all the views.
2016-01-29 08:27:55 +00:00
Mark Liversedge
35678e2765 Merge pull request #1817 from Joern-R/libUsbWindows
Fix need to have "libusb0.dll" installed on Win32
2016-01-28 20:40:28 +00:00
Mark Liversedge
915adb79f0 Workout Editor MMP Log Scale
.. set to off, but the code is there if we
   want to display MMP with a log scale.
2016-01-28 19:24:16 +00:00
Joern
782bc43904 Fix need to have "libusb0.dll" installed on Win32
... GC needed a "libusb0.dll" being available on Windows system to be able to start (even if not used)
... Library/dll is now dynamically searched and loaded if available - allowing GC to start even if the system
    has no "libusb0.dll" installed/available
2016-01-28 19:36:01 +01:00
grauser
dde16978ad CsvRideFile: Add Power to W'Balance export 2016-01-28 19:15:09 +01:00
grauser
717fab4337 LeftRighBalance: display left and right % 2016-01-27 23:35:59 +01:00
grauser
d0cf13369e CSVExport : Add W' balance export 2016-01-27 22:31:51 +01:00
Mark Liversedge
09e97f0ce9 Merge pull request #1816 from dresco/telemetry
Auto-connect telemetry in train view
2016-01-26 16:22:33 +00:00
Jon Escombe
f6ccddcf67 Auto-connect telemetry in train view
Auto connects to the selected train device(s), re-connects if device
selection or configuration changes. Adds a temporary button to
manually toggle connected state.

Emits signal on change of view to support connect/disconnect on view change.
Only gathers telemetry when on train view tab, unless during workout.

Decouples the gui timer from session start/stop. Only updates time and
distance if session is running. Passes the running/paused state into
context, and only updates performance plot while running.

Builds list of active devices when connecting - used to disconnect the
previous selections when they have already changed in the device tree widget.

Disables whichever train view controls are not applicable to the current state.

Dependent on timing, the closing ANT channel can transition into a closed state
before it's checked, resulting in it being re-opened.

When the ANT channel is closed and then immediately re-opened (for instance when
changing the device selection in train view), it may generate a libusb error
message. Adds a small delay to the closing, enabling the device to settle.
2016-01-26 15:56:36 +00:00
Mark Liversedge
f2a279154d HR Reference Line for show series
.. add new HR reference lines feature to allplot when
   showing by series as well as for full/stacked plot.
2016-01-26 10:43:53 +00:00
grauser
25e8b7fa5d DataPresent : lrbalance default at NA now 2016-01-26 00:06:05 +01:00
grauser
6d567b691a AllPlot : Add reference line for HR 2016-01-25 23:50:11 +01:00
Mark Liversedge
b048194bb7 Train View Keyboard Shortcuts
.. added methods to implement a keyboard shortcut
   when in train view.

.. now down to Jon and Vianney to decide what keys
   will map to which functions.
2016-01-25 19:42:31 +00:00
Mark Liversedge
4e26c1afa2 Add Secrets.h to CloudDBCurator 2016-01-25 18:46:05 +00:00
Mark Liversedge
d5b8cea918 Merge pull request #1811 from Joern-R/clouddb1
CloudDB - Enhance Curation handling
2016-01-25 18:39:07 +00:00
Joern
fb9814d740 Add "--clouddbcurator" to help text
... if compiled with CloudDB option
2016-01-25 18:53:22 +01:00
grauser
9623351c06 PolarRideFile: Merge issue 2016-01-24 22:29:19 +01:00
grauser
750e032631 Revert last wrong commits 2016-01-24 22:17:44 +01:00
grauser
09782f666f Merging issue 2016-01-24 21:47:57 +01:00
grauser
1047ab9083 Small add to previous commit 2016-01-24 21:46:53 +01:00
grauser
81910cfdc6 :q 2016-01-24 21:45:02 +01:00
grauser
809c9334b7 Edit Model parameters 2016-01-24 21:45:02 +01:00
grauser
11a6e130e9 LeftRighBalance: (1/2) default with NA Value for new file No balance for every point in files like FIT or TCX 2016-01-24 21:43:56 +01:00
Joern
56bd39f494 Fix missing variables for CloudDB
... include build secrets/variables
2016-01-24 20:05:46 +01:00
Joern
357f4224db CloudDB - Enhance Curation handling
... add menu for Curation only if started with "--clouddbcurator" option
... restructure menus (User vs. Curator)
... add Curator validation (check athlete UUID vs. entry in Curator DB)
2016-01-24 19:32:37 +01:00
Mark Liversedge
e9268e9121 Merge pull request #1810 from Joern-R/Misc
Misc Fixes
2016-01-24 15:36:08 +00:00
Joern
8d6e215d63 Fit Device - Recognize FR220 2016-01-24 16:13:14 +01:00
Joern
dfa4ab9659 Fix Derive Power Preferences Dialog
... all parameter must be in one line to fit into the table in the preferences dialog
2016-01-24 16:03:11 +01:00
Mark Liversedge
ba57688b2d Zwift Support Fixups
.. ErgFile member variables needed to be updated after
   using the ZwoParser since they are used at runtime.
2016-01-24 14:08:39 +00:00
Mark Liversedge
5d8ab001a2 Train View Power Background vs Target Power
.. if your power output is not within 5% of the
   target power and you're in ERG mode the the
   background color of the dial is changed to
   let you know.

   RED background power is > 105% of target
   BLUE background power is < 95% of target

   Basically mimics the scheme used in TrainerRoad.
2016-01-24 12:41:42 +00:00
Mark Liversedge
f0dde6cb0e Merge pull request #1808 from Joern-R/cloudDB5
Add Cache for CloudDB/Charts
2016-01-24 11:12:43 +00:00
Mark Liversedge
9b6a64d8d0 Workout Editor Click-hold timeout bug
.. the timer event for click and hold was not cleared
   when the user pressed the mouse again (typically when
   drawing points very quickly).

.. this mean't that the timeout from an earlier click event
   arrived just after a new click event causing a block to
   be added rather than a point.

.. we now clear the timer event when a new mouse click arrives
   and set a new timer from this event.
2016-01-24 11:08:16 +00:00
Mark Liversedge
4a60c0ab94 AllPlotWindow remove NULL code
.. not sure what it was trying to fix, but it didn't actually
   do anything except declare a couple of variables and set them
   to a value that was never used.

.. compiler no longer warnds 'unused variables'.
2016-01-24 10:50:37 +00:00
Joern
d73edc5302 Add Cache for CloudDB/Charts
... substitute test version of QNetworkDiskCache by own dedicated Cache
2016-01-24 11:47:17 +01:00
Mark Liversedge
8576d794b3 PolarRideFile.cpp code clean
.. use of tabs and shitty formatting.
2016-01-24 10:47:17 +00:00
Mark Liversedge
6206ee9e07 GPX parsing uninitialised variable warning
.. the code is a MESS!

.. next commit to clean formatting, this one has better
   handling of initialisation of the gpxresult pointer.
2016-01-24 10:34:07 +00:00
Mark Liversedge
63f3196897 Shutup QT QString::length signed overflow warning
.. compiler trying to be helpful but we already check for
   overflow in the expression.
2016-01-24 10:22:11 +00:00
Mark Liversedge
a133d33f9e CloudDB C++11 semantics and coding nit
.. Initialising class members in definition is not
   supported in C++98

.. Fixed use of '=' operator where '==' was intended.
2016-01-24 10:05:20 +00:00
Mark Liversedge
ae78d5d360 Merge pull request #1807 from Joern-R/cloudDB5
Adding Edit/Delete/Curate for User and Curator
2016-01-23 19:02:36 +00:00
Joern
0fdb0c14d9 Adding Edit/Delete/Curate for User and Curator
... multiple refactoring to support this
... adding new Menu Actions for CloudDB (first concept)
... fix "mini" popup appearing when starting GC
2016-01-23 19:29:29 +01:00
grauser
a6d16f15d3 TcxParser : Add pedal metrics from ActivityExtension/v2
Note : the schema http://www.garmin.com/xmlschemas/ActivityExtension/v2 is unavailable at this moment
2016-01-23 14:32:37 +01:00
Mark Liversedge
8eef4e7eec ERG File Properties "FILENAME" => "FILE NAME"
.. the save function in the workout editor erroneously
   used a field name of FILENAME when it should have
   been FILE NAME.
2016-01-23 10:30:11 +00:00
Mark Liversedge
bde354dd21 Test Workouts Make them possible !
.. fix the workouts that are badly scaled to ensure
   that they are actually workable.

.. they can still be used for testing functionality.
2016-01-23 10:25:22 +00:00
Mark Liversedge
d05f44a0e2 Zwift ZWO SAVE workout support
.. we can also write Zwift workout files using the
   workout editor.

.. it doesn't retain texts, and category/categoryIndex
   we can fix that when we look at metadata.
2016-01-22 17:46:15 +00:00
Mark Liversedge
b7423c2fce Zwift ZWO workout support
.. add support to read and run Zwift ZWO workouts.
   these are an XML format file.

.. write support will be added shortly.
2016-01-22 14:37:55 +00:00
Mark Liversedge
3bd0edb4e3 Workout Editor QWKcode edit undo/redo
.. disable right click menu, filter ^Z amd ^Y for undo
   and redo and add a red/undo command when qwkcode changes.
2016-01-21 19:15:30 +00:00
Mark Liversedge
5d3f9b88cd Workout Editor Save (ERG, MRC only)
.. no support for pgmf or CRS
.. but no edit suport for CRS either.
.. no support yet for ZWO either
2016-01-21 17:08:31 +00:00
Mark Liversedge
aa1cd718b0 Workout Editor Optimise QWKcode hover
.. minor changes to make hover/highlight faster.
2016-01-20 21:57:51 +00:00
Mark Liversedge
0f114b4135 Workout Editor Fix SEGV
.. hover qwkcode when cleared the line
2016-01-20 19:59:52 +00:00
Mark Liversedge
23e9b8009d Train View Controls at Bottom of Screen
.. its just a temporary measure but moving them to the bottom
   of the screen as they're really annoying popping up over the
   main view -- have to move them out of the way EVERY time I
   go into train view is a ballache !!
2016-01-20 18:53:16 +00:00
Mark Liversedge
bedb15e29c Workout Editor Hover block Qwkcode Edit
.. when cursoring up and down the Qwkcode text
   the hover block now highlights the block in
   the workout plot so you can see what points
   the line is relevant to.
2016-01-19 20:09:15 +00:00
Mark Liversedge
8664f2b105 Workout Editor Reset Hover Indexes
.. in ::fromQwkcode()
2016-01-19 17:53:18 +00:00
Mark Liversedge
0bac511391 Workout Editor QWKCODE round-trip
.. ensure duplicate points survive the round-trip
   from points -> qwkcode -> points to enable editing
   of qwkcode and mixing with undo/redo.

.. point data now stored as ints not doubles and use
   integer arithmetic etc. Makes things more consistent
   and a hell of a lot faster.
2016-01-19 17:15:52 +00:00
Mark Liversedge
86db9e78a4 Workout Editor Qwkcode Edit
.. update the workout when the user edits the qwkcode
   in the properties sidebar.
2016-01-19 14:15:51 +00:00
Mark Liversedge
c9ede38d0f Workout Editor QT4 doesn't like Q_DECL_OVERRIDE
.. so removed from codeeditor.h

   *sigh*
2016-01-19 09:09:13 +00:00
Mark Liversedge
ea11ae92ec Workout Editor Fix QT4 plus highlighting
.. QT code supplied was QT5 only, fixed up to compile
   on QT4 by including relevant headers

.. moved the responsibility for code highlighting back
   to the editor as it is the sensible place to do it.
2016-01-19 08:52:49 +00:00
Mark Liversedge
bd2fa41e0d Workout Editor Qwkcode Editor
.. has line numbers, but will change to be
   time and distance offsets.
2016-01-19 08:27:56 +00:00
grauser
1d31577119 PMCData: Correct expected expected rolling stress calculation
fix #1803
2016-01-18 23:31:23 +01:00
Mark Liversedge
8fed460543 Workout Editor Qwikcode highlight aesthetics
.. use block format on the text edit, much nicer.
2016-01-18 21:54:15 +00:00
Mark Liversedge
477f413553 Workout Editor qwkcode follow cursor
.. when hovering over sections of a workout hover highlight
   in the qwkcode and ensure it is visible.
2016-01-18 19:42:25 +00:00
Mark Liversedge
cba2c3ee43 Workout Editor Hover QWKCode
.. as you hover over the workout plot it will highlight the
   line in the qwkcode (shown via properties) that this block
   is being defined by.
2016-01-18 16:02:27 +00:00
Mark Liversedge
6d0b523189 QStringList::join() QT4 compatibility
.. don't pass a char, pass a string to use in the join.
2016-01-18 14:08:09 +00:00
Mark Liversedge
846727dd94 Workout Editor Properties aka qwkcode
.. add a text edit to edit the workout quickly
   without having to use a gui or work with the
   ERG file format.

.. need to make it round-trip, hover highlight
   and generally make it easier on the eye.
2016-01-18 13:45:12 +00:00
Mark Liversedge
76c95b7298 Merge pull request #1804 from WaterworthD/master
Fix for #1798 "Crash when "Copy to Library" selected in Tacx Fortius …
2016-01-18 09:10:39 +00:00
Dave Waterworth
7a5a126b4d Fix for #1798 "Crash when "Copy to Library" selected in Tacx Fortius device wizard"
context pointer was accessed but not intialised. Removed and accessed through parent pointer instead
2016-01-18 17:23:48 +13:00
Mark Liversedge
a7ed36cff7 Workout Editor this->ergFile SEGV
.. always a bad idea to use method parameter names that
   hide membor variables. Hey-ho.
2016-01-17 22:47:28 +00:00
Mark Liversedge
1cb9c71dda Merge pull request #1802 from WaterworthD/master
Fixes for Fortius USB timeout issue and new Fortius VR driver package…
2016-01-17 21:28:41 +00:00
Mark Liversedge
94b6521918 Workout Editor Fix ErgFile SEGV on Duration
.. when updating an ergfile after edit if the duration of
   the workout has changed the "Duration" member needs to be
   updated to reflect the change since it is used by
   wattsAt() to decide if at the last section of the erg file.
2016-01-17 21:03:58 +00:00
Dave Waterworth
7f8305c2b3 Fixes for Fortius USB timeout issue and new Fortius VR driver package built with Zadig
- Fortius read was timing out on some hardware
- If read fails then write fails
- Moved write before read to rectify
- Added windows 10 x64 compatible driver inf built with Zadig
2016-01-18 09:48:52 +13:00
Mark Liversedge
dfb398dd81 Workout Editor Notify Plots when ErgFile Upated
.. so other plots see changes we made (without saving).

.. the reason we don't insist on saving the erg file is
   because we often increase intensity or repeat sections
   just for a one off run.
2016-01-17 19:31:48 +00:00
Mark Liversedge
421ee3b128 Workout Editor Apply Edits when Workout Starts
.. the changes made within the editor are applied to the in-memory
   representation when the workout is started -- that way the edits
   are executed.

.. the workout changes are not saved (yet).
2016-01-17 18:47:14 +00:00
Mark Liversedge
ab17f42596 Workout Editor Realtime Plotting
.. will now plot telemetry as you are recording so can be
   used as a drop in replacement for ErgFilePlot.

.. bear in mind it does not support slope mode yet, so
   cannot be used for CRS, MRC and PGMF workouts.
2016-01-17 16:43:55 +00:00
Mark Liversedge
5267b9c1da Merge pull request #1801 from dresco/ANT
Write ANT log under athlete directory
2016-01-17 15:43:56 +00:00
Jon Escombe
5daefcaf4f Write ANT log under athlete directory
When pairing, will be under temp directory
2016-01-17 14:48:20 +00:00
Mark Liversedge
92b9c9736d Workout Editor Size Sensitive
.. will adjust what is shown when resized to a small size

.. will hide toolbar whilst recording

.. getting ready to plot telemetry when recording so we
   can replace the workout plot.
2016-01-17 12:23:23 +00:00
Mark Liversedge
869036de82 Unused variable nit 2016-01-17 11:36:38 +00:00
Mark Liversedge
cfcffc88d8 Workout Editor Filter Events
.. we should filter keyboard events that we grab since
   cursor keys cause the view to be scrolled up and down
   when in tiled view (!)
2016-01-17 11:28:32 +00:00
Mark Liversedge
f1a2da3847 Merge pull request #1780 from Joern-R/MSVC
MSVC - Memory leak
2016-01-17 11:04:21 +00:00
Mark Liversedge
2ef4ad838a Merge pull request #1796 from Joern-R/CloudDB3
CloudDB - Chart Dialog
2016-01-17 11:03:28 +00:00
Mark Liversedge
324d7a2d7c Add CloudDB to Secrets.h
.. need GC_CLOUD_DB_BASIC_AUTH and GC_CLOUD_DB_APP_NAME
2016-01-17 10:40:57 +00:00
Mark Liversedge
2eb662785e CI Build with CloudDB
.. since src.pro removes for QT4 this should work.
2016-01-17 10:27:05 +00:00
Mark Liversedge
0b7fdd8b88 CloudDB src.pro enforce QT >= 5.5
.. we need QT5.5 for CloudDB, so if user has selected it
   for build we need to make sure they are using the right
   version of QT.
2016-01-17 10:21:51 +00:00
Mark Liversedge
65d1e9f91a Qt5.5 QtInfoMsg handling
.. just make debug the default in the switch statement that
   handles QT debug messaging.
2016-01-17 10:02:20 +00:00
Mark Liversedge
007d94282f GoldenCheetah.org V4 defaults
.. for v4 development we now have a new default config
   URL on goldencheetah.org
2016-01-17 10:01:28 +00:00
Mark Liversedge
b7a12553c7 Library Search UI Nit
.. too small.
2016-01-16 19:49:16 +00:00
Mark Liversedge
74c75e11d1 Workout Editor Reset Hover Nit 2016-01-16 19:49:16 +00:00
Joern
067cac240a CloudDB - Chart Dialog
... double-click on "small chart" opens Window with full version (re-sizable)
... pictures stored as PNG (not JPG) any more (due to much better quality when showing full chart screenshot)
2016-01-16 20:29:14 +01:00
Mark Liversedge
7cb0a49a25 Merge pull request #1795 from Joern-R/CloudDB3
CloudDB - C++98 compatibility
2016-01-16 18:00:30 +00:00
Joern
01121b0f4c CloudDB - Fix refactoring error
... cache not read with the same version like written
... be precise (POST -> 201, GET->200)
2016-01-16 15:44:57 +01:00
Joern
9021d72725 CloudDB - C++98 compatibility
... don't use C++11 specific features
2016-01-16 15:01:19 +01:00
Mark Liversedge
b2bc8df586 Merge pull request #1794 from Joern-R/CloudDB3
Cloud DB - various enhancements
2016-01-16 10:21:03 +00:00
Joern
533d283356 Cloud DB - Charts
... adjust to API change - Header substructure
2016-01-16 10:57:19 +01:00
Joern
ea0096cbe9 CloudDB - Chart
... refactoring - introduce "header" struct for API
... enhance error handling w.r.t. exceeding GAE free Quota
2016-01-16 10:57:19 +01:00
Joern
66c1ddebfb CloudDB / Charts
... add "common" feature for this and future CloudDB artifacts
... add Cache for Chart Headers
... add Language parameter for Chart publishing
... add Text and Language as Filter for Chart Selection
2016-01-16 10:57:19 +01:00
Joern
0bb71a8d9a CloudDB - Publish Dialog
... validate (simple) and store Nickname and Email Adress
2016-01-16 10:57:19 +01:00
Joern
4120a18bdc CloudDB - T&C Acceptance Popup
... provide Terms&Conditions acceptance Popup (first proposal of T&C)
    ... will need Native Speaker adjustments
... track T&C acceptance / rejection in properties
2016-01-16 10:57:19 +01:00
Mark Liversedge
2e894e629f Recognise Irvin Sirotić 2016-01-15 16:48:28 +00:00
Irvin Sirotić
c752449ab3 TrainingPeaks PWX support L/R balance
.. on import and export, using the "pwrright" element.

.. this is not part of the public PWX schema but has
   been used by ipbike when writing PWX, and may or may
   not be supported by TrainingPeaks.com
2016-01-15 16:24:56 +00:00
Mark Liversedge
5c758e7c44 Workout Editor Lap Highlighting 2016-01-15 16:24:56 +00:00
grauser
07f50fec7b CSVRideFile: Read iBike device type and version 2016-01-14 23:15:49 +01:00
Mark Liversedge
18d795be74 Workout Editor Lap Markers
.. and wip for save/properties.
2016-01-13 16:06:26 +00:00
Mark Liversedge
183ba72658 Merge pull request #1777 from bdb/fix-bugs-and-warnings
Fix bugs and warnings
2016-01-13 10:56:50 +00:00
Mark Liversedge
4e1867b823 Workout Editor Red TTE, Amber 85% TTE
.. graduated to give insight into how tough the workout
   is related to TTE, but not just a binary can/can't do it!
2016-01-12 18:59:37 +00:00
Mark Liversedge
851dc1b627 Merge pull request #1790 from max-f/blackburn_tech_fluid_virtual_power_support
Added virtual power support for the Blackburn Tech Fluid trainer
2016-01-12 15:03:45 +00:00
Mark Liversedge
eabc80b84e Workout Editor Warn Impossible Intervals
.. using the sustained interval algorithm we can now
   find sections of a ride that are impossible to
   complete according to the 2 parameter model.

.. only looks at durations > 2 mins.
2016-01-12 13:17:59 +00:00
Max
ff4950f84d Added virtual power support for the Blackburn Tech Fluid trainer 2016-01-11 23:16:22 +01:00
Mark Liversedge
80f11bad54 WorkoutEditor Paste Undo X-Axis
.. rescale the x-axis back when undoing a paste command.
2016-01-10 17:23:35 +00:00
Mark Liversedge
04768ebeca Wokout Editor Paste (raw)
.. this pastes a 'block' that has been copy/cut
   but needs to be updated to work in an expected
   way -- it pastes points, not blocks which leads
   to situations that will confuse users.

.. one fix would be to be paste intelligently to
   avoid duplicate points and "join" the pasted
   blocks to the existing blocks.
2016-01-10 17:13:55 +00:00
Mark Liversedge
4fba1da587 Merge pull request #1785 from Joern-R/CloudDB1
CloudDB - Charts
2016-01-09 18:02:14 +00:00
Joern
0b8cff4053 CloudDB - Charts
... remove wrong "Connect"
2016-01-09 18:28:37 +01:00
Mark Liversedge
a917460d44 Merge pull request #1784 from Joern-R/CloudDB1
CloudDB - LTM Charts - multiple changes
2016-01-09 17:20:14 +00:00
Joern
c0310fe9f4 ClouDB - LTM Charts - multiple changes
... move Chart Import to Library/Sidebar (and remove from LTMTool)
... enhance Import Dialog / First Filter function - Curated
... introduce local Cache to not re-read all time
... read/display in chunks of 10 charts from GAE
... simplify find structure (in sync with CloudDB)
    ... no statusId, no explicite versioning

... Refactoring of File and Class Names to provide a common
    structure for future CloudDB artifacts
2016-01-09 17:39:34 +01:00
Mark Liversedge
e60554f958 Workout Editor Cut/Copy
.. to cut and copy the block selection to the clipboard.
   this is very different to delete points since it will
   shift the remaining points to fill the gap.

.. from a UX perspective the cut/copy/paste functions will
   work with BLOCKS not POINTS. This may cause a bit of
   confusion.... not sure how to deal with that.
2016-01-09 11:41:40 +00:00
Mark Liversedge
ccaff70a40 Workout Editor Scale Y-Axis
.. automatically.
2016-01-08 22:02:20 +00:00
Mark Liversedge
1c12c593a3 Workout Editor Show CP line
.. on background.
2016-01-08 12:16:22 +00:00
Mark Liversedge
01c8da904f Workout Editor Selection Block nit
.. fix window resize paint artefacts on the cursor
   and selection block geometry.
2016-01-08 12:02:31 +00:00
Mark Liversedge
5e9e02aaae Zwift Workout Test Files
.. a couple of files in Zwift format to use for
   testing support for importing files created
   by the Zwift workout editor.
2016-01-08 11:15:42 +00:00
Mark Liversedge
1b5b700ace Workout Editor Selection Block
.. now have a selection block which is rendered onto
   the editor. this will be what gets copied and pasted
   with ^x ^c ^ y etc.
2016-01-08 10:50:34 +00:00
Brian Bergstrand
9fd91e6da5 Comment grammar fix 2016-01-07 21:18:52 -06:00
Brian Bergstrand
d66c8a40b0 Fix possible (though unlikely) duplicate ride item interval IDs 2016-01-07 21:18:52 -06:00
Brian Bergstrand
bb8d292f0d Fix sqrt() NOP
Line comment was used to comment out a multi-line statement.
2016-01-07 21:18:51 -06:00
Brian Bergstrand
244eaf2802 Fix LTM settings not getting updated properly 2016-01-07 21:18:51 -06:00
Brian Bergstrand
0d7143bd88 Remove unused class ivars 2016-01-07 21:18:51 -06:00
Brian Bergstrand
40e5d45a5c Fix forward type warnings for 'class' vs 'struct' 2016-01-07 21:18:51 -06:00
Brian Bergstrand
a5a9824295 Fix shadowed virtual method warning due to missing 'const' 2016-01-07 21:18:51 -06:00
Brian Bergstrand
ee07b18a7b Fix enum conversion warning 2016-01-07 21:18:51 -06:00
Brian Bergstrand
2725ea7d29 Fix constructor initialization order warnings 2016-01-07 21:18:51 -06:00
Brian Bergstrand
f1571fb482 Fix type conversion warnings with abs()
Just use std::abs() which provides type specific overloads.
2016-01-07 21:18:51 -06:00
Brian Bergstrand
5584723811 Fix 'unused function' warning when using QT5 2016-01-07 21:18:51 -06:00
Brian Bergstrand
ef7d1d3795 Remove deprecated 'register' keyword 2016-01-07 21:18:51 -06:00
Brian Bergstrand
1fcc94c7f4 Fix various 'unused variable' warnings 2016-01-07 21:18:50 -06:00
Brian Bergstrand
ef48e0c7b7 Remove unused BikeScore variable 2016-01-07 21:18:50 -06:00
Brian Bergstrand
d160467f0d Fix qwt 'comparison is always false'/true warnings 2016-01-07 21:18:50 -06:00
Brian Bergstrand
c0a8422c30 Remove unused functions 2016-01-07 21:18:50 -06:00
Brian Bergstrand
fe1609eb0e Fix possible wrong QwtDate::ceil() values 2016-01-07 21:18:50 -06:00
Brian Bergstrand
1639abee81 Add qmake Xcode generator side car patterns to ignore file 2016-01-07 21:18:50 -06:00
Mark Liversedge
a4a67cba56 Gitignore Coverity Files
.. as they shouldn't be included in the tree
2016-01-07 20:15:37 +00:00
Mark Liversedge
b52d865998 Coverity Status badge
.. in README.md
2016-01-07 19:44:54 +00:00
Mark Liversedge
89b5aff954 Workout Editor Align Move Block
.. align indicators now appear when drag moving a block
   in the same fashion as when dragging a point.
2016-01-07 18:01:59 +00:00
Mark Liversedge
7f2c42898b Merge pull request #1783 from gille/strava
Strava
2016-01-07 17:43:03 +00:00
Magnus Gille
08dca02f13 Move Strava secrets to Secrets and make Pages.cpp more robust incase Secrets.h gets picked up along the way in the future. 2016-01-07 01:34:19 -05:00
Magnus Gille
78834c1bfc Fix private file uploads. It's a boolean when you download but uses 0/1 for uploading. Also added support for settings rides as commutes and trainer rides. 2016-01-07 01:33:46 -05:00
Magnus Gille
7065d70960 Enable gzip compression for Strava uploads. 2016-01-07 01:18:15 -05:00
Mark Liversedge
3ea174a81b Merge pull request #1781 from dresco/ANT
ANT fixes
2016-01-06 19:49:06 +00:00
Jon Escombe
7b09d3a115 Disable high priority search
This prevents channel searches from taking precedence over
established connections.

When the timeslots for searching and established channels
overlap, the search will blocked for that period instead
of the established channel.

This prevents data loss on the established channels at the
expense of potentially longer search time (only in the case
of channel collisions).
2016-01-06 19:01:46 +00:00
Jon Escombe
342a33ebc1 Differentiate between channel search types
High and low priority channel search timeouts are managed
separately. This patch adds support for setting both types.
2016-01-06 19:01:10 +00:00
Jon Escombe
76c80bab5d Actually use the quick search timeout
Was checking the quick search flag against the channel number
instead of the channel flags!
2016-01-06 19:00:33 +00:00
Jon Escombe
32f66e6e0b Show remote control commands in pairing dialog
Displays the last received command code in the data
field of the pairing dialog.
2016-01-06 18:33:10 +00:00
Jon Escombe
ba41b4b98f Master (remote control) channel fixes
Moved the signal to stop the timer from AttemptTransition() to
Close(), as was not reliably reached.

Also disconnect the timer event slot on close, to avoid multiple
calls on subsequent sessions.
2016-01-06 18:31:59 +00:00
Jon Escombe
958c0717a5 ANTChannel::ChannelEvent() minor fixes
Fixes related to debugging..

Recognise TX events from the master channel (avoid dropping
through to default handler).

Parse the event messages correctly, was checking wrong byte.
2016-01-06 18:30:30 +00:00
Joern
c74c74ea27 MSVC - Memory leak
... missed delete[] of allocated arrays
2016-01-06 13:18:44 +01:00
Joern
d65a58d452 Merge pull request #1778 from Joern-R/WinInstaller
Adding latest Win Installer definitions
2016-01-06 11:25:47 +01:00
Joern
df12830a61 Adding latest Win Installer definitions
... based on Nullsoft Installer System 2.4.9
... adding a copy of the GC iconreferenced in installer files
2016-01-06 10:55:18 +01:00
grauser
ed4ab41077 Change phase position in season.xml
For compatibility with older version of GC
2016-01-06 08:28:33 +01:00
GRAUSER Damien
0949c6070a Season: Add phases (base, build, peak,...) 1/2 2016-01-05 22:01:10 +01:00
Mark Liversedge
016ba66a3a Fix mem leak in FitRideFile
.. don't use read to buffer, just seek.

Fixes #1775
2016-01-05 20:18:28 +00:00
Mark Liversedge
da82e01ef5 Merge pull request #1756 from amtriathlon/master
RideSummary: added Time in Pace Zones for date ranges and fixed compare mode
2016-01-05 20:00:56 +00:00
Mark Liversedge
d92b7baf50 Workout Widget Smart Guide Y-Axis
.. now shows markers on Y-axis when moving / dragging
   points etc around.
2016-01-05 13:05:07 +00:00
Mark Liversedge
ba78b36b6d Workout Editor Smart Guides 2
.. now shoes x-axis guides when dragging a
   block or point around.
2016-01-05 11:55:47 +00:00
Mark Liversedge
f971ccff4b Workout Editor Smart Guides
.. just a simple indicator in the x-axis for now
   when points are selected. may extend to the y-axis
   as well.

.. lots more to come on smart guides but needs a lot
   of thought and play time.
2016-01-04 22:05:01 +00:00
Mark Liversedge
5ae5da1b0f Don't include runs in estimates
.. estimates should be sport specific (modality)

.. this is a hack to fixup cycling, but the whole estimate
   code needs to be reworked as it isn't well thought through
   and isn't well integrated into the rest of the code.

.. thanks to Jon Beverley for heads up and code fixes.
2016-01-04 15:58:56 +00:00
Mark Liversedge
6c707fd94f Workout Editor Create Block 'glitch'
.. when directly under a point it created a nasty
   glitch. This was caused by bounds checking > <
   and not = to.
2016-01-04 15:19:55 +00:00
Mark Liversedge
37441f108d BSX Test File from a Ramp Test
.. thanks to Neil Pugh for the example. Its also quite
   interesting to see SMO2 respond to the test.
2016-01-04 14:34:43 +00:00
Mark Liversedge
ec3e38158f Workout Editor ^A Select all
.. forgot when doing other things.
2016-01-04 14:14:38 +00:00
Mark Liversedge
63d273de50 MSVC ANT.cpp compile error on gettimeofday()
.. not available, use get_timeofday() instead.
2016-01-04 13:29:34 +00:00
Mark Liversedge
aa0cf5b2d6 Workout Editor Power and Duration Label
.. when hovering over blocks.
2016-01-04 11:01:37 +00:00
Mark Liversedge
7958cd7cce Workout Editor Create Block Drag
.. when you create a block (by pressing and holding the mouse
   button) it now enters dragging mode (dragblock state) to allow
   the user to move it around before releasing the mouse button
   to create.

.. we DESPERATELY need guides to appear whilst dragging (!)
2016-01-04 09:55:10 +00:00
Mark Liversedge
1a5f0780a1 Workout Editor MMP Curve
.. now shows MMP curve as you edit.

.. WIP code for block selection is also in there but
   needs some work done to it !
2016-01-03 23:09:11 +00:00
Mark Liversedge
414c9eb15f Cut and Paste
.. so far
2016-01-03 21:17:06 +00:00
Mark Liversedge
3cb292a88e Merge pull request #1769 from vlcvboyer/antlog
ANT: log sent messages
2016-01-03 19:30:48 +00:00
vlcvboyer
ca5d636e45 log sent messages 2016-01-03 18:58:33 +01:00
Alejandro Martinez
05a3869b54 Fixed LTMPlot to honor filters in CompareDateRange
Useful to compare filtered multisport data s.t. sport specific PMCs
2016-01-03 13:38:54 -03:00
Alejandro Martinez
9f06d48c42 Added Time in Pace Zones to RideSummary in Trends Compared Mode
For Date Ranges and Intervals, only when activities are homogeneous
to select the correct Pace Zones
Also enabled Time in Power Zones only when activities are homogeneouse
to select the correct Power Zones
2016-01-03 13:38:52 -03:00
Alejandro Martinez
e55d1af0f2 Add filters to CompareDateRange
Mainly for multisport use
2016-01-03 13:38:51 -03:00
Alejandro Martinez
d44e4bea31 Added Time in Pace Zones to RideSummary for date ranges
Only when the involved activities are all runs or swims
2016-01-03 13:38:49 -03:00
Mark Liversedge
f470803ac2 Workout Editor SEGV
.. when click and hold to create a block when the cursor
   is directly above a point.
2016-01-03 15:55:05 +00:00
Mark Liversedge
2b6af76527 Workout Editor Create Block
.. press and hold a mouse button to create a block
   whilst in draw mode (or shifted in select mode).

.. will add a block in the middle or at the end of
   the workout depending on where you click.
2016-01-03 14:56:43 +00:00
Mark Liversedge
b3c09260f9 Merge pull request #1768 from jonbev/RowPro
Add RowPro csv import
2016-01-03 14:51:01 +00:00
jonbev
60f66982b3 Add RowPro csv import 2016-01-03 14:06:11 +00:00
Mark Liversedge
f6062ab5ef Merge pull request #1767 from Joern-R/clouddb
CloudDB
2016-01-03 13:14:02 +00:00
Joern
dcac0a0925 CloudDB
... add configuration settings to gcconfig.pri.in
2016-01-03 13:04:13 +01:00
Mark Liversedge
255aadab46 MSVC Linker flags for LibKML
.. avoid warning message and linker restart when
   linking with KML libs.
2016-01-03 09:19:35 +00:00
Mark Liversedge
a072163db2 Workout Editor Shift Toggles Draw/Select
.. so in draw mode shift lets you select and
   in select mode shift lets you draw.
2016-01-03 09:06:50 +00:00
Mark Liversedge
5d4679b035 Merge pull request #1765 from gille/readdir
Implement support for multiple scopes in GoogleDrive
2016-01-03 08:49:08 +00:00
Magnus Gille
ff50dcebba Complete support for new scopes and make readdir() only update the currently read directory. 2016-01-02 23:26:28 -05:00
Magnus Gille
6a69b6c3a8 Make OAuth scope configurable for GoogleDrive. 2016-01-02 20:42:20 -05:00
grauser
fb19cf9691 MergeActivityWizard : Display offset when adjusting 2016-01-03 00:56:33 +01:00
grauser
f8076d1d09 MergeActivityWizard: Simply order activities descending 2016-01-03 00:31:16 +01:00
Mark Liversedge
cb6fb85181 Workout Editor Block Cursor
.. better aesthetics

.. need to think about handles and showing
   %MMP for the interval (i.e 100% means this is a
   maximal effort).
2016-01-02 22:56:07 +00:00
Mark Liversedge
5591ea7bc7 Workout Editor Block Cursor Again!
.. tidy up when it is shown and refreshed.
2016-01-02 18:51:18 +00:00
Mark Liversedge
30412d5a0f Workout Editor Block Cursor Performance
.. refactor as paint based approach was awful
   from a utility and performance perspective.

   Even though it was just a UX experiment it
   bombed to CPU on Linux and Windows.
2016-01-02 18:21:39 +00:00
Mark Liversedge
afb3be78b6 Workout Editor Block Cursor Fix
.. needs to have pointer in it !

.. we may need to do this in the eventFilter rather than
   the paint event to stop repainting every time the cursor
   moves and also to manage block selection etc.
2016-01-02 16:38:20 +00:00
Mark Liversedge
c8ee808916 Workout Editor Block Cursor
.. just to get used to it and see how it might work, when
   we start working with blocks as well as points.
2016-01-02 16:17:28 +00:00
Mark Liversedge
b9bcd5fd90 Workout Editor Select/Draw Mode
.. the toolbar draw/select buttons now set the mode.

.. in select mode you can select points (same as holding
   shift whilst in draw mode).

.. this is just to make the UX less complex for casual users.
2016-01-02 15:06:24 +00:00
Mark Liversedge
2f4e94259c Merge pull request #1763 from dresco/antlog_timestamp
Antlog timestamp
2016-01-02 14:08:48 +00:00
Mark Liversedge
012511d6c6 Workout Editor Clear Selection on Rect Select
.. when using a rectangle selection we clear all
   the currently selected points. More often than
   not this behaviour is preferred, we could add a
   keyboard modifier in the future.
2016-01-02 13:48:59 +00:00
Jon Escombe
01e0e3c8ad And rename python script to match 2016-01-02 13:42:08 +00:00
Jon Escombe
d5e0097816 Change to file extension as suggested 2016-01-02 13:37:39 +00:00
Mark Liversedge
986085619d Merge pull request #1762 from dresco/antlog_timestamp
Add timestamps to raw ANT log
2016-01-02 13:33:24 +00:00
Mark Liversedge
dfbb035971 Workout Editor Cursor Keys Move Points
.. constrained editing with the cursor keys moving
   points up down left and right
2016-01-02 13:31:56 +00:00
Jon Escombe
68ad8b7bb3 Add timestamps to raw ANT log
Changes filename to antlog2.bin
Adds a simple python decoding example
2016-01-02 12:46:19 +00:00
Mark Liversedge
66b2b111a0 MSVC Array Semantics
.. MSVC will not create variable length arrays on the
   stack. They need to be allocated on the heap.
2016-01-02 11:50:06 +00:00
Mark Liversedge
b1a3cd58f9 Workout Editor RideFileCache::fastSearch()
.. added a static fastSearch() function to the
   RideFileCache class to perform a search on a
   single series of data without any data prep.

.. its super quick and will work with the workout
   editor recompute() function, but need to think
   about how we can display the MMP curve as we
   edit.
2016-01-02 10:58:46 +00:00
Mark Liversedge
bdb8d63a30 Workout Editor Key Commands undo/redo/delete
.. via ^Z, ^Y and DEL key

.. DEL will delete the selected points
2016-01-01 19:34:56 +00:00
Mark Liversedge
2b3505462c Workout Editor Selection Cosmetics
.. select v hover color of points was too brash.
   there is still plenty of room for improvement.
2016-01-01 16:12:44 +00:00
Mark Liversedge
7cc82c857b Merge pull request #1761 from Joern-R/MSVC6
MSVC - Google Drive Code
2016-01-01 14:24:21 +00:00
Mark Liversedge
dbf8b09548 Merge pull request #1760 from dresco/remote_control
Remote control
2016-01-01 14:24:05 +00:00
Mark Liversedge
8e240ee661 Workout Editor Selection Tools
.. for now pressing SHIFT and CLICK will enable
   selecting points.

   shift-click when hovering on a point will toggle
   selection of that point

   shift-click in space will start a rectangle select
   tool; as it drags it will select points within it.

   hitting the ESC key will clear all selections.

.. the toolbar button "Select" needs to be integrated
   into this scheme so users don't need to know about
   the ability to select with the shift key (as we had
   this before with intervals and it wasn't intuitive
   to casual users).
2016-01-01 14:20:20 +00:00
Jon Escombe
fa7d4a9a95 Merge branch 'master' into remote_control
Conflicts:
	src/ANT.h
	src/ConfigDialog.cpp
	src/ConfigDialog.h
	src/src.pro
2016-01-01 12:46:42 +00:00
Joern
a49e9cdb92 MSVC - Google Drive Code
... Macro Definition is working different on MSVC
2016-01-01 13:32:50 +01:00
Jon Escombe
7cc2cc6cd7 Remote control - less qDebug() 2016-01-01 10:23:21 +00:00
Mark Liversedge
f7c31a78be Workout Editor Resampling Error
.. resampling is the WRONG approach for the erg points
   they need to be INTERPOLATED!

.. e.g. a ramp from 0w to 100w over 10 minutes was previously
   resampled as 10 minutes of 0w followed by a jump to 100w
   and thus W'bal was way off !!
2016-01-01 10:18:13 +00:00
Mark Liversedge
3cccd647ec Workout Editor Toolbar Color
.. used wrong background color for train view.
2016-01-01 08:51:49 +00:00
Mark Liversedge
58352f4b72 Workout Editor Plot W'bal
.. as you edit the workout, its especially
   useful when scaling a workout to increase
   or decrease the intensity.
2016-01-01 00:47:49 +00:00
gcoco
3f046bcecd Oops. Wrong repo 2015-12-31 18:14:11 -05:00
gcoco
113ce091fa Update .travis.yml 2015-12-31 18:11:47 -05:00
Mark Liversedge
78dc9ddb8a Merge pull request #1759 from gille/google
Improved gitignore, ignore patch leftovers and emacs temporaries.
2015-12-31 22:30:15 +00:00
Magnus Gille
9824770110 Improved gitignore, ignore patch leftovers and emacs temporaries. 2015-12-31 17:17:05 -05:00
Mark Liversedge
dae514f586 Workout Editor Show TSS/IF
.. we calculate for ourselves since its probably
   quite expensive to calculate every metric.

.. could look to use the metric factory in the future
   if we want to make these metrics more configurable
2015-12-31 21:10:54 +00:00
Mark Liversedge
135df4b3ab Merge pull request #1748 from gille/google
Add support for syncing to GoogleDrive.
2015-12-31 19:54:53 +00:00
Magnus Gille
74ca328196 QT4 bug fix in Pages.h and authoriseGoogle improvement. 2015-12-31 13:21:23 -05:00
Magnus Gille
56bf17c6d1 QJsonParseError only exists in QT5. 2015-12-31 13:08:22 -05:00
Magnus Gille
c624433386 Remove debug. 2015-12-31 12:58:25 -05:00
Magnus Gille
945d3fd7c1 Improved JSON string parsing in QT4. This uses a regexp based parser. 2015-12-31 12:56:52 -05:00
Mark Liversedge
6d571b8ca5 Merge pull request #1758 from Joern-R/MSVC5
Linux debug build problem with QWT after MSVC related patch
2015-12-31 17:19:03 +00:00
Joern
efe97be345 Linux debug build problem with QWT after MSVC related patch
... Windows/MSVC QWT config creates 2 libs (release and debug)
... previous patch to support MSVC for this did not consider the different behaviour on other OS
    so this is reverted and changed to be platform specific
2015-12-31 17:54:50 +01:00
Mark Liversedge
577e08930e Merge pull request #1757 from Joern-R/MSVC4
MSVC - Problems detected when compiling Debug Code
2015-12-31 16:54:17 +00:00
Mark Liversedge
cd3474b810 Workout Editor QT4 compatibility
.. needed to create a QPoint for WorkoutWidget::scale()
   and only got an int from QWheelEvent::delta() where
   in QT5 deltaAngle() returns a QPoint.
2015-12-31 16:00:27 +00:00
Joern
19aa3e142c Fix Deletion sequence in destructor of AllPlot
... error/exception only visible when running in Debug Mode
... the destructor fo tooltip fires (via multiple step) and mouse even to AllPlot standard,
    which at that point is already deleted - changing the sequence let's GC
    end gracefully also in Debug Mode
2015-12-31 16:46:34 +01:00
Mark Liversedge
f6323a67ab Workout Editor QT4 compatibility
.. fix compile error on QWheelEvent::angleDelta() which
   was called delta() in QT4
2015-12-31 15:38:11 +00:00
Joern
e4216c351b MSVC - Fix Assert error when compiled in Debug mode
... Assert error in MSVC-core library when running code compied with /MDd (debug mode)
... Solution - removed BUGFix code related to QTBUG-14831 (which worked fine until now)
... Tested under MSVC (Release && Debug) QT 5.6.0 and MinGW (Release) QT 5.4.2
2015-12-31 16:19:42 +01:00
Mark Liversedge
58f2840050 Workout Editor Scale via MouseWheel
.. gui only, so need to add 'CP' widget to scale
   by manually changing that too.
2015-12-31 15:14:54 +00:00
Jon Escombe
20bed06094 Remote control config [3/3]: Use configured remote control codes
Utilise the user configured remote control command mappings
2015-12-31 12:51:37 +00:00
Jon Escombe
4453e869b7 Remote control config [2/3]: Config UI
Additions to options page and config file to manage the mappings
between ANT+ remote control codes and native GC actions
2015-12-31 12:39:04 +00:00
Jon Escombe
bea64dc718 Remote control config [1/3]: New classes
Add new RemoteControl classes to manage and map the supported
ANT+ remote control command codes
2015-12-31 12:38:00 +00:00
Mark Liversedge
83dea1b3b1 Workout Editor Redo/Undo
.. we only have two commands; create and move point
   but baking this in early so we can adopt it for
   all other commands as they arrive.

.. due to the interactive nature of a graphical editor
   the command class behaves differently to the one
   used on the ride data editor; commands are added to
   the stack when they complete (so move point isn't a
   history of the mouse cursor moving its just the begin
   and end point).
2015-12-31 12:01:21 +00:00
Magnus Gille
a7b561e7a3 GoogleDrive, now with proper directory support. 2015-12-31 02:50:51 -05:00
Mark Liversedge
874779ec09 Merge pull request #1755 from amtriathlon/master
RideSummary in Trends shows Power Zones according to sport
2015-12-30 21:49:24 +00:00
Alejandro Martinez
77cadf2874 RideSummary in Trends shows Power Zones according to sport
Only when the activities included are homogeneous
2015-12-30 17:53:59 -03:00
Mark Liversedge
5106549120 Workout Editor x/y labels
.. mostly a checkpoint commit since not much
   development done today.
2015-12-30 15:13:26 +00:00
Mark Liversedge
bca2d5145b Merge pull request #1753 from Joern-R/MSVC3
MSVC - QWT Debug vs. Release
2015-12-30 15:12:57 +00:00
Joern
1e0cb4a39f MSVC - QWT Debug vs. Release
... MSVC does not accept mixed libraries (debug/release) when linking
... patch has been tested with MingGW/GCC as well
2015-12-30 15:40:36 +01:00
Magnus Gille
2fb2b7aa4c Add missing default for GC_GOOGLE_DRIVE_CLIENT_ID and Secrets.h to GoogleDrive.cpp. 2015-12-29 10:47:24 -05:00
Mark Liversedge
cc8253489e Merge pull request #1749 from Joern-R/MSVC2
MSVC - LibUSB
2015-12-29 14:41:51 +00:00
Joern
7a2a3050c6 MSVC - Video VLCPlayer
... #warning is unsupported
... uinstd.h not available/required
2015-12-29 13:12:49 +01:00
Joern
e725c77e5e MSVC - LibUSB
.. uinstd.h not required/available unser MSVC
2015-12-29 12:41:28 +01:00
Mark Liversedge
f445189e77 Workout Editor Alignment Guide
.. when dragging a point all points with the same
   Y value are highlighted to help with alignment.
2015-12-29 10:22:17 +00:00
Mark Liversedge
a1e89909b1 Workout Editor X-axis Constraint
.. don't move beyond points to left and right
2015-12-29 09:19:13 +00:00
Magnus Gille
95bffb30af Add support for syncing to GoogleDrive.
This uses GoogleDrive v2 API.
2015-12-29 02:01:36 -05:00
Mark Liversedge
38c54628de Workout Editor Rough Prototype
.. of point based editing, which is a bit difficult
   without constraints like snap-to, guides, undo
   or delete. But the basic concept is there to play
   with.

.. of course it will still be possible to edit in a more
   traditional 'blocks' and 'rectangles' way too but that
   code hasn't been written yet.
2015-12-28 22:38:02 +00:00
Mark Liversedge
284864bb95 CI Fix gcconfig.pri -lz
.. the logic for gcconfig.pri was reversed
   and now we must uncomment for local compress
   libs, rather than getting them by default.
2015-12-28 19:09:39 +00:00
Mark Liversedge
04ec5349bd Fixup src.pro
.. compress and maths libs with win32 and gnu toolchain
.. WINKIT_INSTALL to specify where winkit is installed for MSVC toolchain
.. update gcconfig.pri to reflect this
2015-12-28 18:46:06 +00:00
Mark Liversedge
5e59fbe0b7 Workout Editor - Part 1 of MANY
.. initial code to display an ERG file for editing

.. this just introduces the basic model for rendering
   the erg file and loading the model.

.. the interaction model using a 'points' editor will
   follow next and then one to use 'blocks'.

.. There is a LONG way to go, this commit is just to
   put a checkpoint down and test across platforms
2015-12-28 16:44:28 +00:00
Mark Liversedge
229a43062b tidy up formatting src.pro 2015-12-26 20:18:00 +00:00
Mark Liversedge
6d4207871d -l -l snafu in src.pro
.. breaks OS X but not Win or Linux interestingly.
2015-12-26 14:41:35 +00:00
Mark Liversedge
222ccc4708 Platform neutral SRC.PRO
.. all libs are now resolved using -Lfolder and -llib
   rather than any reference to .a or .lib
2015-12-26 11:47:45 +00:00
Mark Liversedge
2ca332911f More src.pro cleaning
.. most importantly start to remove any reference
   to .lib or .a library files since these differ
   depending upon toolchain.

.. instead we should use a combination of
   LIBS += -Lfolder
   LIBS += -llib

.. so for example
   LIBS += ../qwt/lib/libqwt.a

   becomes
   LIBS += -L../qwt/lib -lqwt

   and is now platform neutral.

.. this needs to be applied throughout to ensure
   src.pro works for MSVC and GNU toolchains
2015-12-26 10:45:30 +00:00
Mark Liversedge
4b6de65e04 Remove reference to code pushed early
.. in previous commit.
2015-12-25 20:30:58 +00:00
Mark Liversedge
192708c3ab Reorganise src.pro
.. it had become a bit of a mess with various changes
   over the last 5 years so restructured into 3 sections

   * core and platform config
   * optional dependencies
   * source and headers

   This is to help make it easier to maintain, especially
   since support for the MSVC toolchain is likely to mean
   it is modified quite a bit (in section 2 anyway)
2015-12-25 20:10:44 +00:00
Mark Liversedge
2bf9337cda Merge pull request #1746 from maxammann/master
Fixed a german translation in AboutDialog to have a fixed length
2015-12-25 11:39:21 +00:00
Max Ammann
e7fa19e5d6 Fixed translation in AboutDialog to have a fixed length 2015-12-25 12:11:39 +01:00
Mark Liversedge
f70f175e92 Version Dialog MSVC/GCC
.. formatting how version is shown.
2015-12-24 22:57:59 +00:00
Mark Liversedge
682f33c6ba MSVC Toolchain in src.pro
.. just for QWT and MS User32/Gdi32 libs when
   compiling with MS Visual Studio 2015
2015-12-24 22:04:01 +00:00
Mark Liversedge
2057669fbe Fix Computrainer TXT parsing
.. when the values are quoted but contain spaces, since this
   breaks the regexp for finding the separator which uses a
   comma -or- a space.
2015-12-24 17:19:13 +00:00
Mark Liversedge
512fc323ed RideMetric.h logic !
.. the assert condition was lost, only issue a debug
   message if the dependent metric is unknown.
2015-12-24 16:07:14 +00:00
Mark Liversedge
1c6843cdb8 Update gcconfig.pri.in for win_flex/bison
.. so developers don't need to guess what to add
   to gcconfig.pri when using them with VS2015/MSVC
2015-12-24 15:31:02 +00:00
Mark Liversedge
d743fdd3ec No Assert in RideMetric.h
.. gets rid of an iritating compiler warning when
   compiling with VS2015 and MSVC

.. is good because user metrics aren't fixed so the
   assert assumption is wrong now

.. means we have to add assert.h to all the source
   files that had it from including RideMetric.h
   and want to use it.
2015-12-24 15:26:29 +00:00
Mark Liversedge
cc5ba4bf29 Visual Studio 2015 / MSVC2015 compatibility
.. fixup win_flex errors related to isatty
   and prefix not being set on the command line
2015-12-24 15:11:33 +00:00
Mark Liversedge
d86215c5a0 Merge pull request #1745 from Joern-R/msvc1
Visual Studio 2015 / MSVC2015 compatibility
2015-12-24 12:03:04 +00:00
Joern
484a59a640 Fix Build for QT 4 2015-12-24 11:32:49 +01:00
Joern
9935edecd3 Visual Studio 2015 / MSVC2015 compatibility
... first set of syntax error fixes to compile GC using Visual Studio 2015
... changes are encapsulated and tested to not conflict with GCC compilation

Note: there is no full compatibility - so GC is not building with MSVC2015 yet
2015-12-24 11:08:31 +01:00
Mark Liversedge
c46bc137a0 IntervalSummaryWindow SEGV user metric missing
.. if you delete a user metric after adding it to the
   interval metrics list the interval summary window
   will crash.

.. the fix goes to source where the RideMetric::compute()
   method now ignores metrics that are not known instead
   of adding a NULL pointer to the results.
2015-12-23 19:02:01 +00:00
Mark Liversedge
fa47344b8e More test charts
.. aggregate using a formula
.. modality using formula
2015-12-23 16:28:03 +00:00
Mark Liversedge
a7728c6bc2 DataFilter fix builtins (again)
.. the DataFilterFunctions[] were not processed correctly
   after validation of calls to named functions was added
   and the correction applied previously only worked for
   functions defined by the lexer/parser, not those defined
   in DataFilterFunctions[]

.. this fixes that, but it would be nice if this was cleaned
   up in to one unified place in the datafilter.
2015-12-23 15:34:27 +00:00
Mark Liversedge
c329f2bb08 Merge pull request #1741 from amtriathlon/master
Fixes autofilter when field names are translated
2015-12-22 16:41:52 +00:00
Alejandro Martinez
9b7597edd7 Fixes autofilter when field names are translated 2015-12-22 13:11:46 -03:00
Mark Liversedge
c9e1c919e3 ::addRide bool planned
.. should have been added at the end of the parameter
   list since it and tempActivity are optional parameters.

.. it broke import via RideImportWizard.
2015-12-22 15:22:03 +00:00
Mark Liversedge
cff326a1b1 RideSummaryWindow filter missing metrics
.. since we can now delete metrics when they
   are user defined. Previously the summary
   would crash if a Bests metric didn't exist.
2015-12-22 12:46:24 +00:00
Mark Liversedge
1f126c98e0 DataFilter Editor Match { }
.. added matching braces as well as brackets in the
   editor since it can get pretty hairy now we
   have code blocks and named functions using braces.
2015-12-22 10:30:12 +00:00
Mark Liversedge
e1e834aa08 Fix CL in PfPv plot
.. recent commit for Pmax on the PfPv plot introduced
   a  stray line of code settng cranklength incorrectly.
   This results in the QA plot being blank and a warning
   message from qDebug() about trying to read a cyclist
   setting incorrectly.
2015-12-22 08:18:28 +00:00
grauser
8080712d4a RideNavigator : Don't crash is no selection 2015-12-21 19:04:37 +01:00
Mark Liversedge
711cf13372 Fix RideSummary SEGV
.. logic error if/else for plotting rides vs dateranges
   along with assumption that zones will not be NULL (esp
   for running) lead to a repeated crash when running power zones
   are not defined.

.. additionally, when summarising for a date range the table was
   displayed for running vs cylcing based upon the current ride item.
   This has been changed to use cycling power zones always.

.. the proper fix would be to summarize power time in zone for running
   and cycling separately.

.. the compare logic appears to be unaware of power time in zone for
   running and so does not have the same SEGV but will also need to
   be updated to list time in zone for running and power separately.
2015-12-21 17:23:44 +00:00
Mark Liversedge
c6d2fef46c Merge pull request #1739 from amtriathlon/stryd
Add support for running power zones (Stryd) part 3
2015-12-21 15:51:50 +00:00
Alejandro Martinez
faff84a552 Changes ModelPlot tu use Zones according to sport 2015-12-21 10:56:57 -03:00
grauser
b7eadf9fb1 RideItem : Don't update path from cache 2015-12-20 23:29:05 +01:00
grauser
274fa7e8f8 PfPvPlot: Add PMax 2015-12-20 22:53:31 +01:00
grauser
5016300650 Remove planned RideFileCache 2015-12-20 22:43:29 +01:00
grauser
913a0d0c70 RideFileCache: distinguish planned activities 2015-12-20 22:43:29 +01:00
grauser
8eef00d99d LTMPlot: Don't plot expected PMC in the past 2015-12-20 22:43:29 +01:00
grauser
e44cd3f696 PMCData: Add expected data 2015-12-20 22:43:29 +01:00
grauser
15ba65544e RideCache: Add cache for planned ride 2015-12-20 22:43:29 +01:00
grauser
2497d5060a PMC: Prepare to add planned and expected values 2015-12-20 22:43:28 +01:00
grauser
527a0fa81b Directories: Add 'planned' directory in Athlete structure 2015-12-20 22:43:28 +01:00
Mark Liversedge
692f5db5f9 Fix DataFilter function validation
.. it broke all the builtin functions !

.. we need to check for user functions after all the
   builtins e.g. config(cp) was marked as inerror
   when it should not have been.
2015-12-20 20:06:52 +00:00
Alejandro Martinez
078d4ac5ad Add support for running power zones (Stryd) part 3
Final part: use the zones according to sport in metrics and charts
2015-12-19 19:08:33 -03:00
Mark Liversedge
95479401d9 DataFilter.l formatting
.. ^M and indentation
2015-12-19 11:54:36 +00:00
Mark Liversedge
2f91591198 Further to previous
.. QVector doesn't have takeAt either on QT4
2015-12-18 14:46:54 +00:00
Mark Liversedge
ae9c2b15f4 QT4 compatibility takeAt not removeAt
.. when working with RideMetric QLists.
2015-12-18 14:28:08 +00:00
Mark Liversedge
0f12872e6f User Metrics Part 3 of 4
.. User Metrics now integrated into the factory, ride cache
   and of course rides and intervals. Which means you can define
   a user metric and it will be computed and displayed like any
   of the builtin metrics.

.. lots of technical changes to support this:

   * DataFilter gets a runtime object to support multi-threading
     and uses a context for construction only - item contexts are
     used when evaluating an expression

   * RideMetric factory can now remove user metrics

   * The context in which the user modifies the user metrics will
     notify all other contexts of the change ***

*** NOTE: STRONGLY RECOMMEND THAT YOU DO NOT HAVE MULTIPLE ATHLETES
          OPEN WHEN DEVELOPING NEW METRICS SINCE IT WILL TRIGGER A
          METRIC REFRESH FOR ALL OPEN ATHLETES.
2015-12-18 13:07:56 +00:00
Mark Liversedge
212e53563f Merge pull request #1731 from vlcvboyer/check_valid_fecchannel
ensure fec_channel is valid
2015-12-18 09:17:14 +00:00
Mark Liversedge
aa6f6b78a4 Merge pull request #1732 from vlcvboyer/cosmetic_add_fixme_flag
point out a previous work in progress
2015-12-18 09:16:29 +00:00
Mark Liversedge
b24592441b Merge pull request #1733 from vlcvboyer/change_cyclist_to_athlete
change "cyclist" to "athlete"
2015-12-18 09:15:58 +00:00
Mark Liversedge
b0aff76866 Merge pull request #1734 from vlcvboyer/cosmetic_define
cosmetic: use define instead of values
2015-12-18 09:15:15 +00:00
Mark Liversedge
3a0f6d3ef4 Merge pull request #1736 from vlcvboyer/cosmetic_unused_param
indicate unused parameter
2015-12-18 09:12:26 +00:00
Mark Liversedge
55f036eca1 Merge pull request #1737 from vlcvboyer/document_fitfile
document more fit files entries
2015-12-18 09:11:54 +00:00
Mark Liversedge
79c2ff3c43 Merge pull request #1730 from flacjacket/flex-2.6
Fix FLEX version checks for 2.6.0
2015-12-18 09:11:14 +00:00
Sean Vig
c7a123907c Fix FLEX version checks for 2.6.0 2015-12-18 00:31:51 -06:00
Vianney Boyer
48e7dda3a5 change 'cyclist' to 'athlete' to be compliant with other sports 2015-12-17 23:34:46 +01:00
Vianney Boyer
b73885378f check fec channel is valid 2015-12-17 23:34:17 +01:00
Vianney Boyer
6a6a29c9d2 use define instead of values 2015-12-17 23:33:14 +01:00
Vianney Boyer
d96d115838 add FIXME flag on old comment 2015-12-17 23:31:45 +01:00
Vianney Boyer
a872ebd7c6 indicate unused parameter 2015-12-17 23:31:03 +01:00
Mark Liversedge
6becfe2aef Merge pull request #1729 from amtriathlon/stryd
Add support for running power zones (Stryd) part 2
2015-12-17 22:25:07 +00:00
Mark Liversedge
8e230c15af Merge pull request #1728 from vlcvboyer/fix_flex26
fix flex version check when >= 2.6
2015-12-17 22:24:52 +00:00
Vianney Boyer
7ffcdec165 document more fit files entries 2015-12-17 22:51:39 +01:00
Alejandro Martinez
10306ca3e1 Add support for running power zones (Stryd) part 2
ZonePage, CPPage and SchemePage changes to support separate editing
Zones and Settings to allow for separate GC_USE_CP_FOR_FTP
RideItem and Coggan metrics are running aware por power zones
2015-12-17 18:37:42 -03:00
Vianney Boyer
bca7990776 fix flex version check when >= 2.6 2015-12-17 21:40:20 +01:00
Mark Liversedge
6b9af54899 Merge pull request #1727 from amtriathlon/stryd
Add support for running power zones (Stryd) part 1
2015-12-17 15:44:24 +00:00
Alejandro Martinez
149e3a8c2d Add support for running power zones (Stryd) part 1
Zones: parameterize for running
Athlete: create zones for cycling and running
ConfigDialog cleanup: removed unused zones member
2015-12-17 12:11:11 -03:00
Mark Liversedge
82363469a8 Merge pull request #1726 from amtriathlon/master
Changed cached paceZoneRange to be sport specific
2015-12-16 20:31:30 +00:00
Alejandro Martinez
eefa8db75b Changed cached paceZoneRange to be sport specific
And use it to compute Run and Swim metrics
2015-12-16 13:30:45 -03:00
Mark Liversedge
16e1ec0a4d User Metric Test Button Works
.. quick push to allow cross platform functional
   and performance testing of User Metric computation
2015-12-16 12:42:53 +00:00
Mark Liversedge
d6c8949355 Major RideMetric compute() refactor
Update of all metrics to work with a RideItem
not directly with a RideFile.

When iterating over the activity samples we now
use a Specification and RideFileIterator to bound
the set of samples used. This means that we can
compute metrics for intervals without having to
create a temporary ridefile.

RideItem now has first class members for zoneRange,
hrZoneRange and paceZoneRange to avoid calculating
for every metric which are stored in RideDB.json.

Compare pane continues to construct a ride file
when working with intervals since it is used lots
of charts, this is unlikely to ever change.

A SEGV in compare intervals has been fixed where
interval items were repointed to temporary compare
pane objects that are deleted - see RideItem::setFrom.

THIS COMMIT CONTAINS 3 REGRESSIONS:
1. TcxRideFile no longer computes metrics
2. FitlogRideFile no longer computes metrics
3. WorkoutWizard no longer computes metrics

-- The workout wizard will be replaced with a new
   Workout editor, whilst the RideFile metrics
   may be deprecated (but considering options)
2015-12-16 11:36:02 +00:00
Mark Liversedge
43d557f558 Merge pull request #1723 from Joern-R/gae3
CloudDB - First Draft of Charts Exchange
2015-12-13 19:42:10 +00:00
Joern
8a033a8c53 OSX - Fix renaming error 2015-12-13 20:22:28 +01:00
Joern
d50a426448 CloudDB - First Draft of Charts Exchange 2015-12-13 18:23:49 +01:00
Mark Liversedge
88ee6248b7 Merge pull request #1722 from amtriathlon/master
Fixed CV model parameters to honor imperial settings
2015-12-13 16:55:35 +00:00
Alejandro Martinez
fb3d9ec816 Fixed CV model parameters to honor imperial settings
The axis still is kph but the tooltip has dual units now
2015-12-13 13:22:21 -03:00
Mark Liversedge
105a3b05db RideFileIterator
.. useful for simplifying iteration over the ride
   samples in the metric compute() method and possibly
   elsewhere in the code

.. will iterate for rides and intervals.
2015-12-12 22:46:54 +00:00
Mark Liversedge
007d942f4e RideFilePoint is a struct
.. not a class.
2015-12-12 19:45:41 +00:00
Mark Liversedge
4c9dc5615a Specification Class Interval Support
.. the specification class is used for filtering
   rides but now also supports filtering ride points

.. this is so we can refactor the metric code to
   use a specification when computing metrics

.. the next update will include a refactor of
   all the metric compute() functions to use this
   new approach
2015-12-12 09:40:46 +00:00
Mark Liversedge
e6e25e9fcd User Metric SEGV OSX
.. fixup for Mac.
2015-12-11 19:41:28 +00:00
Mark Liversedge
09b2f4355c Tidy up context used
.. datafilter uses a context that was used to create it
   which is fine until it is used in user metrics which
   are global and shared across multiple contexts.

.. so now when evaluating a ride item we use the context
   for the rideitem being evaluated not the context of
   the data filter performing the evaluation

.. next couple of commits will need to look at the way
   we use RideItem and RideFile when computing both
   Ride and Interval metrics.
2015-12-11 19:17:53 +00:00
Mark Liversedge
c9b33c834e temp fix hang on test
.. in case anyone is playing along between
   step 2 and 3 of the user metric code update
2015-12-11 15:18:30 +00:00
Mark Liversedge
c93795ee23 nits from previous commit 2015-12-11 15:05:06 +00:00
Mark Liversedge
d7a179907d User Metric Part 2 of 4
.. User metrics can be created, deleted and edited
   in the preferences pane.

.. A new dialog has been created to create user metrics
   and will need to be updated after step 3 of this multi
   part update completes the UserMetric code and integrates
   it into the RideMetric factory.
2015-12-11 14:03:58 +00:00
Mark Liversedge
5a114ab66f Merge pull request #1721 from amtriathlon/master
Refactor calendarText
2015-12-11 08:04:26 +00:00
Alejandro Martinez
d72e75143a Refactor calendarText 2015-12-10 21:34:45 -03:00
Mark Liversedge
5011b7bf64 LTM Formula Edit
.. expand to use space as metric dialog is resized
2015-12-10 22:28:54 +00:00
Mark Liversedge
cbf5b34ded Datafilter 'stack overflow'
.. catch problems with recursion from badly
   written datafilters by limiting function
   call stack depth to 500 calls.
2015-12-10 21:53:01 +00:00
Mark Liversedge
59c13e15ec User Metric Part 1 of 4
.. User defined metrics where a user can define code
   to compute a metric from ride data that can be used
   in the same way as builtin metrics.

   * Part 1 : Introduce User Metrics, Settings and XML config
   * Part 2 : Introduce Dialog for User Metric CRUD in Preferences
   * Part 3 : Integrate with Cache refresh and fingerprints
   * Part 4 : Resolve dependency tree and related aspects

.. The user code will be via a DataFilter; this code has
   already been updated to include variables, functions and
   if/else/while constructs.
2015-12-10 17:27:33 +00:00
Mark Liversedge
6aaf5a2a7e Merge pull request #1720 from amtriathlon/master
CalendarText slight optimization
2015-12-10 15:33:52 +00:00
Alejandro Martinez
071de7ef07 CalendarText slight optimization
Use the cache to get Tag value
2015-12-10 12:15:10 -03:00
Mark Liversedge
0909a67eba Merge pull request #1719 from amtriathlon/master
Support Metrics in Calendar Text
2015-12-10 09:38:01 +00:00
Mark Liversedge
553ade5a9c Datafilter User Functions
We now have named functions that can be called in the datafilter.
This is primarily to support user defined metrics where we will expect
the user to optionally define a bunch of functions we will call as
part of the ridemetric methods (see design mock up).

.. Datafilters can be defimed in three forms;

   * a single line, typically as a filter
     e.g. TSS > 100

   * a block of code, typically as a formula
     e.g. { val <- TSS; val > 100; }

   * a program made up of functions, typically as a user metric
     e.g. { pass { TSS>100; } main { pass(); } }

.. This example is functionally equivalent to "TSS>250":

   {
        pass {

            # only filter rides with a high TSS
            TSS > 250;
        }

        main {

            # call our function to filter rides
            pass();
        }
    }

.. Functions can only be defined within a block

.. Functions must be defined before use

.. A "main" function must be defined as an entry point
   into the program if any functions are defined.
2015-12-09 20:49:08 +00:00
Alejandro Martinez
39bb27f3d8 Support Metrics in Calendar Text
When the Diary checkbox is set for a metric
"Name: value" is added to Calendar Text.
The "Weight" field is special cased to "Athlete Weight" metric.
Calendar Text is no longer stored in json files, just cached
from Metadata Configuration, Tags and Metrics values.
Fixes #1563
2015-12-08 23:06:42 -03:00
Mark Liversedge
5e66df56bd Mockup User Metric Dialog
.. add a png for those that don't have balsamiq
2015-12-08 18:07:10 +00:00
Mark Liversedge
22ae3500ee Mockup for User Metric Dialog
.. Balsamiq mock.

.. note the use of "special" symbols in the code
   to introduce blocks of code that will be called
   at certain points, these will need to be aligned
   to the RideMetric class but limited to those
   attributes that are activity specific

   isRelevantForRide()
   initialize()
   compute()
   setValue()
   setCount()

   we may want to add other attributes like aggregate
   zero and lowerisbetter to the dialog too.
2015-12-08 18:00:19 +00:00
Jon Escombe
8520205c53 Remote Control [5/5]: Pass commands to train view
Create the required signals and slots to pass received commands to
train view, and process these commands within the TrainSideBar class.
2015-12-06 20:29:17 +00:00
Jon Escombe
bba2c903e4 Remote Control [4/5]: Master device broadcast timer
The master device on a channel needs to broadcast at 4Hz. Create
a timer to trigger the broadcast messages and connect the signals
to start & stop it.
2015-12-06 18:54:21 +00:00
Jon Escombe
dfe4395b6b Remote Control [3/5]: ANT master device support
Add support for opening an ANT channel as a master device
2015-12-06 18:53:18 +00:00
Jon Escombe
6ac6debca2 Remote Control [2/5]: ANT message handling
Handle the acknowledged ANT messages containing inbound remote
control commands.
2015-12-06 18:49:06 +00:00
Jon Escombe
263d4e0069 Remote Control [1/5]: AddDeviceWizard support
As we will be the master on this channel, there is nothing to
pair, so just generate and store a random device id for later use.
2015-12-06 18:48:51 +00:00
Mark Liversedge
8f8e7593d5 DataFilter grammar reformat and comments
.. it was a bit of a mess!
2015-12-06 11:26:20 +00:00
Mark Liversedge
1a85bbd70f Added RECINTSECS and NA symbols
.. NA equates to RideFile::NA when working with
   samples or averages etc and wanting to check

.. RECINTSECS is only really available when working
   with ride samples (e.g. in user metrics coming soon)
2015-12-06 10:26:46 +00:00
Mark Liversedge
6bea3d2a3a DataFilter while loops
.. added while loops to the data filter but
   bounded to 10,000 loops to stop runaway
   code.
2015-12-06 09:57:57 +00:00
Mark Liversedge
d02951453e if/else lower case ONLY
.. to avoid conflict with Intensity Factors (IF)
   metric name
2015-12-05 22:48:57 +00:00
Mark Liversedge
69395e6cda Fixup if / else needing terminating ';'
.. needed a bit of hoop jumping to avoid

.. will also need to make if/else _lower_
   case only to avoid clash with the Coggan
   IF !
2015-12-05 22:46:11 +00:00
Mark Liversedge
4cb26cf27c DataFilter if/else support
.. Added if else logic but could not avoid
   needing the statement to be terminated with a
   semi-colon (;)

.. so examples are:

   if (TSS>100) TSS; else 0;

   if (TSS>100) {
      temp <- TSS;
      temp;
   } else {
      temp <- BikeScore;
      temp;
   }

.. Doesn't add much beyond the existing conditional statement
   using '?' and ':' but is a lot more readable (!)
2015-12-05 20:51:45 +00:00
Mark Liversedge
282445abc9 DataFilter { } syntax highlight
.. for errors etc.
2015-12-05 19:46:38 +00:00
Mark Liversedge
1717cd4605 DataFilter Introduce 'Statements'
.. start of transition to a full grammar, so now
   we have statements and compound statements.

   This update just differentiates between an expression
   which is a conditional, logical or binary expression
   versus a statement introducing a user symbol
2015-12-05 10:56:48 +00:00
Mark Liversedge
56273ea0aa DataFilter Compound Statements { ... }
.. You can now use compound statements in data filters

.. A compound statement is:
       { s1; } evaluates to s1
       { s1; s2; s3; .. sn; } evaluates to sn

.. It is possible to use the recently added user defined
   symbols to build up processing logic:

       { temp <- TSS; temp > 100 }

   is functionally equivalent to

       TSS > 100

.. At present there are no control statements outside of
   the ? and ?: operators but these will no doubt be added
   in due course.
2015-12-05 10:09:52 +00:00
Mark Liversedge
fcd7c778f5 Merge pull request #1716 from Joern-R/Settings
Settings Code Documentation
2015-12-04 21:39:23 +00:00
Joern
2c64ffa83f Settings Code Documentation
... improve documentation for developers adding new settings
2015-12-04 20:04:19 +01:00
Mark Liversedge
45880246f0 DataFilter User Symbols and '<-' assign
.. allow users to introduce their own symbols
   into a datafilter with:

   symbol <- expression

   Which will initialise symbol and evaluate it
   with the expression. The symbol can override
   a metric name, but that would be rather dumb!
2015-12-04 18:15:21 +00:00
Mark Liversedge
28f77538ae Merge pull request #1617 from vlcvboyer/windpower
Take wind into account during power estimation
2015-12-04 16:06:44 +00:00
Vianney Boyer
fc223b3b77 take headwind into account for power estimation 2015-12-04 16:30:11 +01:00
Mark Liversedge
1e51f05491 Recognise Dmitry Monakhov
.. for recent patches.
2015-12-04 14:59:09 +00:00
Mark Liversedge
62d8285f2a Merge pull request #1715 from dmonakhov/bsxinsight-fixes
dp: FixMoxy add config options (fix BSXInsight support)
2015-12-04 14:53:10 +00:00
Dmitry Monakhov
253cca6027 dp: FixMoxy add config options (fix BSXInsight support)
Number of data fields depends on sensor model
MoxySensor transmit SMO2 as cadance, tHB as speed,
BSX Insight 2 transmit only SMO2 as cadance, tHB is not supported.

So in case of BSXInsight we should not convert speed data. Let's allow
user to chose which datafields to transfer.

This patch add two new check buttons FixMoxy dialog
 - Cadence to SMO2
 - Speed to tHb
2015-12-04 17:18:48 +03:00
Mark Liversedge
5902365456 DataFilter NOT (!) Operator
.. to negate a condition e.g. !Sport = "Run"
2015-12-04 13:50:59 +00:00
Mark Liversedge
eb6fda0223 Add Italian and German sites
.. to the announce list
2015-12-04 08:40:06 +00:00
Mark Liversedge
994893c928 DataFilter add ELVIS operator
.. x ?: y

   Evaluates to x if it is non-zero, otherwise it
   evaluates to y. y is only evaluated once and only
   if x is zero. Similarly, x is only evaluated once
   and returned if it is non-zero.
2015-12-03 21:49:48 +00:00
Mark Liversedge
7945290079 Merge pull request #1713 from vlcvboyer/segment
Segment/intervals code clean up and NA value check
2015-12-03 21:42:24 +00:00
Vianney Boyer
b21fba4367 add a value validity check in decodeSegment 2015-12-03 21:38:12 +01:00
Vianney Boyer
cd6d1852b2 place back the value validity check 2015-12-03 21:31:06 +01:00
Vianney Boyer
558caa85a5 split decodeLap and decodeSegment as some fields seems different 2015-12-03 21:26:29 +01:00
Mark Liversedge
0485c873f4 NA value and Min Temperature metric
.. allow NA to be used anywhere and skipped on
   the metric trend chart.

.. add a min temperature metric

.. add a chart for tracking temperatures
2015-12-03 14:58:38 +00:00
Mark Liversedge
a0f3b33304 Fix kqoauth tracked files
.. remove them from git when we shouldn't track them
.. no need for multiple .gitignore files
2015-12-03 13:30:05 +00:00
Mark Liversedge
59a6b961c7 Sites to post announcements to 2015-12-03 13:30:05 +00:00
Mark Liversedge
92a4ec6730 Merge pull request #1702 from vlcvboyer/add_fit_data
Add more FIT files data fields description
2015-12-03 08:46:18 +00:00
Vianney Boyer
f361a27028 FIT file data 14: add warning related to valid value check 2015-12-03 00:55:07 +01:00
Vianney Boyer
76c778b158 FIT file data 13: preset var 2015-12-03 00:42:09 +01:00
Vianney Boyer
25ba461a8e FIT file data 12: detail messages type 2015-12-03 00:41:35 +01:00
gcoco
1fd039f95e V4.0 development build id
.. so we can differentiate
2015-12-02 18:40:04 -05:00
Vianney Boyer
453c8ecdd0 FIT file data 11: references to vectors instead of copy 2015-12-03 00:33:22 +01:00
Vianney Boyer
ee741d8753 FIT file data 10: parse segment messages 2015-12-03 00:30:12 +01:00
Vianney Boyer
bccfe24024 FIT file data 9 : device settings messages 2015-12-03 00:29:18 +01:00
Vianney Boyer
89c79e0549 FIT file data 8 : weather broadcast messages 2015-12-03 00:28:27 +01:00
Vianney Boyer
04ee639c69 FIT file data 7 : bearing and headwind calculation during RECORD parsing 2015-12-03 00:26:42 +01:00
Vianney Boyer
cb90839b45 FIT file data 6 : LAP messages 2015-12-03 00:24:13 +01:00
Vianney Boyer
fcd8920507 FIT file data 5 : events messages 2015-12-03 00:09:53 +01:00
Vianney Boyer
addc85afa9 FIT file data 4 : device info 2015-12-03 00:00:08 +01:00
Vianney Boyer
0985c56c76 FIT file data 3 : sports/subsports and summary 2015-12-02 23:59:11 +01:00
Vianney Boyer
1e9952f336 FIT file data 2 : descr additional files ID 2015-12-02 23:56:19 +01:00
Vianney Boyer
7ae6518f25 FIT file data 1 : create wind variables 2015-12-02 23:51:56 +01:00
Mark Liversedge
d888c13157 V4.0 development build id
.. so we can differentiate
2015-12-02 22:29:21 +00:00
Mark Liversedge
89e2a88d0c Merge pull request #1677 from nickb937/strava_id_guard
src/Settings.h: Add #ifndef around GC_STRAVA_CLIENT_ID
2015-12-02 22:21:01 +00:00
Mark Liversedge
73815f570c Merge pull request #1704 from gille/fit
Add segment support to Garmin files
2015-12-02 22:19:29 +00:00
Mark Liversedge
0001aedad7 Merge pull request #1710 from erikboto/monark_novo_support
Monark: Add support for the new Novo devices
2015-12-02 22:07:05 +00:00
Mark Liversedge
b5427d4c34 Versioning has misleading comment
.. build id for 3.3 is 3933 not 3910
2015-11-29 22:20:25 +00:00
Mark Liversedge
27b267e336 CI remove deployment
.. it doesn't work and might be better to use a
   secure ftp approach or similar.

.. need to fix this for the nightly development
   builds planned for v4.0

[skip ci]
2015-11-29 22:19:02 +00:00
Erik Botö
a40f2239c2 Monark: Add support for the new Novo devices 2015-11-29 20:12:43 +01:00
Magnus Gille
aaba5e8f0d Merge remote-tracking branch 'upstream/master' into fit
Conflicts:
	src/FitRideFile.cpp
2015-11-28 12:09:28 -05:00
Magnus Gille
ca38fff251 Add support for Garmin File Segments. 2015-11-27 00:43:58 -05:00
Magnus Gille
4d075f3571 Pass references to vectors instead of copying them. 2015-11-26 23:08:23 -05:00
Nick Burrett
c15451a85c src/Settings.h: Add #ifndef around GC_STRAVA_CLIENT_ID
Allows GC_STRAVA_CLIENT_ID to be defined via gcconfig.pri as
suggested in:
  https://github.com/GoldenCheetah/GoldenCheetah/pull/1672
2015-11-17 12:48:16 +00:00
1032 changed files with 757465 additions and 64332 deletions

20
.gitignore vendored
View File

@@ -1,14 +1,32 @@
Makefile
.qmake.stash
*.o
*.so.*
*.so
*.a
*~
*.orig
*.rej
# old skool
.svn
*.pri
*.prl
*.swp
*.user
# osx noise
.DS_Store
profile
# qmake Xcode generator side-effects
*.xcodeproj
xcshareddata/
*.xcworkspace
*.pbxproj
*.mak
*.build/
moc_*
moc/
obj/
lib/

View File

@@ -7,9 +7,8 @@ compiler:
- gcc
env:
matrix:
## Test 4.8 or 5.4.2
- BRANCH=master QT=qt4 QT_PATH=qt
- BRANCH=master QT=qt5 QT_PATH=qt5
- BRANCH=master QT=qt5 QT_PATH=qt5 QT_VER=5.5.1
global:
- secure: iqYW7f3//ZkMVzeCEarYn0S0DqKjFU9juBh0KF6WTlUsKX902Jtsk7dFoJlNDYBf63HLgV+wW2Hc6MxI9sGiUkom0gY9/To/aeGIJFGEX2sLm/e0Ok3qN521FA0Q/OiCFsD0RC6J+yrHxzI+rf8Z1rujceUsz2KgsrfAjYYv+BY=
- secure: C6f58PXwvvHeVOjCLbyDRjgyF0tk+bXjCNUDur8VJLhJEGNdnrt+rH+d3azYaX0n348ZnQZ14as4M4rHjN1A/3DRbdUdOS7PQZrkj/n363ck1tvYOG/tzYqkEcVoQyjIJ7ZoTuBXDQry/VJmLxQjM0glTa2upNFHMOMwqZNkF+I=
@@ -18,26 +17,29 @@ env:
- secure: rb/MKPHEK8yOK5uYpXq2o+MQ7h65ft+c/xE9XmLFk1jLnK0oxe6+KeoSFlQ0n5UwLSsHrytMXVaUHex6EEt0TheXFlohi7BcNFWRWXr+wLucuaPjMnU49VErrSigjJ5VW/rcR7fORmnDwn5y06r3Rer9SC1hImCxf/pqF8hFZps=
- secure: FXJzm98lwbc1R2eh9/CvVReVRHEPLDm+sCRjiV9HJgeCveIUauLasp9Skamz0c6OKLmkjLY8JERPT491ZgCG8YcQ9x1bM8HGbmRqnn9xSUxINIRzVmyTiLMBoT/ibHHeFjFpyiGfukOAkHwMNNsrSrbaekhiJuekaXo7iTwYQB0=
before_install:
## try early just to check, can delete later
- date
- brew update
##- sh travis/install-qt.sh
- brew install $QT
- sh travis/install-qt.sh
##- brew install $QT
- brew install libical
- brew install libusb libusb-compat
- brew install srmio
- brew install libsamplerate
- brew tap homebrew/science
- brew install r
## Disable KML for now
##- brew install --HEAD travis/libkml.rb
- sudo chmod -R +w /usr/local
- curl -O http://www.ftdichip.com/Drivers/D2XX/MacOSX/D2XX1.2.2.dmg
- git clone --depth 1 https://github.com/sintegrial/qwtplot3d.git qwtplot3d
- cd qwtplot3d
- CC=clang CXX=clang++ /usr/local/opt/$QT_PATH/bin/qmake -makefile -recursive QMAKE_CXXFLAGS_WARN_ON+=-Wno-unused-private-field
- CC=clang CXX=clang++ /usr/local/opt/$QT_PATH/bin/qmake -makefile -recursive QMAKE_CXXFLAGS_WARN_ON+="-Wno-unused-private-field -Wno-c++11-narrowing"
- CC=clang CXX=clang++ make -j2
- cd ..
- git clone --branch 0.98 https://github.com/kypeli/kQOAuth.git kQOAuth-0.98
- cd kQOAuth-0.98
- CC=clang CXX=clang++ /usr/local/opt/$QT_PATH/bin/qmake -makefile -recursive QMAKE_CXXFLAGS_WARN_ON+=-Wno-unused-private-field
- CC=clang CXX=clang++ /usr/local/opt/$QT_PATH/bin/qmake -makefile -recursive QMAKE_CXXFLAGS_WARN_ON+="-Wno-unused-private-field -Wno-c++11-narrowing"
- CC=clang CXX=clang++ make -j2 qmake_all
- CC=clang CXX=clang++ sudo make install
- cd ..
@@ -48,7 +50,7 @@ before_script:
- sudo cp /Volumes/release/D2XX/Object/10.5-10.7/x86_64/libftd2xx.1.2.2.dylib /usr/local/lib
- cp /Volumes/release/D2XX/bin/*.h D2XX
- sed -i "" "s|libftd2xx.dylib|@executable_path/../Frameworks/libftd2xx.1.2.2.dylib|"
src/D2XX.cpp
src/FileIO/D2XX.cpp
- cp qwt/qwtconfig.pri.in qwt/qwtconfig.pri
- cp src/gcconfig.pri.in src/gcconfig.pri
- /usr/local/opt/$QT_PATH/bin/lupdate src/src.pro
@@ -57,6 +59,8 @@ before_script:
src/gcconfig.pri
- sed -i "" "s|#\(QMAKE_CXXFLAGS\).*|\1_RELEASE += -mmacosx-version-min=10.7 -arch
x86_64|" src/gcconfig.pri
- sed -i "" "s|^#CloudDB|CloudDB|" src/gcconfig.pri
- sed -i "" "s|^#LIBZ|LIBZ|" src/gcconfig.pri
- sed -i "" "s|#\(SRMIO_INSTALL =.*\)|\1 /usr/local|" src/gcconfig.pri
- sed -i "" "s|#\(D2XX_INCLUDE =.*\)|\1 ../D2XX|" src/gcconfig.pri
- sed -i "" "s|#\(D2XX_LIBS =.*\)|\1 -L../D2XX -lftd2xx.1.2.2|" src/gcconfig.pri
@@ -73,7 +77,7 @@ before_script:
- sed -i "" "s|#\(ICAL_INSTALL =.*\)|\1 /usr/local|" src/gcconfig.pri
- sed -i "" "s|#\(ICAL_LIBS =.*\)|\1 -L/usr/local/lib -lical|" src/gcconfig.pri
- sed -i "" "s|#\(LIBUSB_INSTALL =\).*|\1 /usr/local|" src/gcconfig.pri
- sed -i "" "s|#\(LIBUSB_LIBS =.*\)|\1 -L/usr/local/lib -lusb|" src/gcconfig.pri
- sed -i "" "s|#\(LIBUSB_LIBS =.*\)|\1 -L/usr/local/lib -lusb -lusb-1.0|" src/gcconfig.pri
- sed -i "" "s|#\(SAMPLERATE_INSTALL =\).*|\1 /usr/local|" src/gcconfig.pri
- sed -i "" "s|#\(SAMPLERATE_LIBS =\).*|\1 -L/usr/local/lib -lsamplerate|" src/gcconfig.pri
- sed -i "" "s|#\(DEFINES += GC_HAVE_LION*\)|\1|" src/gcconfig.pri
@@ -81,15 +85,17 @@ before_script:
- sed -i "" "s|#\(DEFINES += GC_WANT_ROBOT.*\)|\1 |" src/gcconfig.pri
- sed -i "" "s|\(DEFINES += GC_VIDEO_NONE.*\)|#\1 |" src/gcconfig.pri
- sed -i "" "s|#\(DEFINES += GC_VIDEO_QUICKTIME.*\)|\1 |" src/gcconfig.pri
##Issues with c++11 and stdlib on travis and dependencies (e.g. plot3d)
- sed -i "" "s|#\(DEFINES += GC_WANT_R.*\)|\1 |" src/gcconfig.pri
- echo "QMAKE_CFLAGS_RELEASE += -mmacosx-version-min=10.7 -arch x86_64" >> src/gcconfig.pri
- sed -i "" "s/__GC_GOOGLE_CALENDAR_CLIENT_SECRET__/"$GC_GOOGLE_CALENDAR_CLIENT_SECRET"/" src/Secrets.h
- sed -i "" "s/__GC_STRAVA_CLIENT_SECRET__/"$GC_STRAVA_CLIENT_SECRET"/" src/Secrets.h
- sed -i "" "s/__GC_DROPBOX_CLIENT_SECRET__/"$GC_DROPBOX_CLIENT_SECRET"/" src/Secrets.h
- sed -i "" "s/__GC_CYCLINGANALYTICS_CLIENT_SECRET__/"$GC_CYCLINGANALYTICS_CLIENT_SECRET"/" src/Secrets.h
- sed -i "" "s/__GC_TWITTER_CONSUMER_SECRET__/"$GC_TWITTER_CONSUMER_SECRET"/" src/Secrets.h
- sed -i "" "s/__GC_GOOGLE_CALENDAR_CLIENT_SECRET__/"$GC_GOOGLE_CALENDAR_CLIENT_SECRET"/" src/Core/Secrets.h
- sed -i "" "s/__GC_STRAVA_CLIENT_SECRET__/"$GC_STRAVA_CLIENT_SECRET"/" src/Core/Secrets.h
- sed -i "" "s/__GC_DROPBOX_CLIENT_SECRET__/"$GC_DROPBOX_CLIENT_SECRET"/" src/Core/Secrets.h
- sed -i "" "s/__GC_CYCLINGANALYTICS_CLIENT_SECRET__/"$GC_CYCLINGANALYTICS_CLIENT_SECRET"/" src/Core/Secrets.h
- sed -i "" "s/__GC_TWITTER_CONSUMER_SECRET__/"$GC_TWITTER_CONSUMER_SECRET"/" src/Core/Secrets.h
- cat src/gcconfig.pri
script:
- CC=clang CXX=clang++ /usr/local/opt/$QT_PATH/bin/qmake -makefile -recursive QMAKE_CXXFLAGS_WARN_ON+=-Wno-unused-private-field
- CC=clang CXX=clang++ /usr/local/opt/$QT_PATH/bin/qmake -makefile -recursive QMAKE_CXXFLAGS_WARN_ON+="-Wno-unused-private-field -Wno-c++11-narrowing"
- CC=clang CXX=clang++ make qmake_all
- CC=clang CXX=clang++ make -j4 sub-qwt --silent
- CC=clang CXX=clang++ make -j4 sub-src
@@ -106,12 +112,13 @@ after_success:
- cd /Volumes/GoldenCheetah
- ls -laR GoldenCheetah.app
- GoldenCheetah.app/Contents/MacOS/GoldenCheetah --help
before_deploy:
- gem install mime-types -v 2.6.2
deploy:
provider: releases
api_key: $GH_OAUTH_TOKEN
file: GoldenCheetah_$QT.dmg
skip_cleanup: true
on:
tags: true
##deploy broken in travis, read-only filesystem error
##before_deploy:
##- gem install mime-types -v 2.6.2
##deploy:
## provider: releases
## api_key: $GH_OAUTH_TOKEN
## file: GoldenCheetah_$QT.dmg
## skip_cleanup: true
## on:
## tags: true

View File

@@ -114,13 +114,13 @@ need to be downloaded and installed from their website. Alternatively, you
can intall qt via macports (http://www.macports.org) as described in section
1.5.1.
As of today, the latest stable release is 4.7.4, we need 4.7 or higher so
As of today, the latest stable release is 5.6.0, we need 4.7 or higher so
go ahead and download the offline installer - it has everything you need
but is about 1.3GB. Please make sure you download the installer for Mac
OS X 10.6 or later, 64-bit.
The url for QT downloads is: http://qt.nokia.com/downloads and whilst the
offline installer is only 12mb it will still call back and download the
The url for QT downloads is: https://www.qt.io/download-open-source/#section-2 and
whilst the offline installer is only 12mb it will still call back and download the
required objects as you install, I think it is better to get it all in
one hit (and you can save it to reinstall on another computer or if you
want to rebuild/reinstall for any other reason).
@@ -141,9 +141,9 @@ Read and accept the license agreement and then continue and install.
We need to make sure that a program called qmake is installed in a directory where
it can be found. So, we need to create a link from what we just installed in the
user programs folder. For QT SDK1.1 (4.7.4) we need to:
user programs folder. For QT SDK (5.6) we need to:
$ sudo ln -s ~/QtSDK/Desktop/Qt/474/gcc/bin/qmake /usr/bin/qmake
$ sudo ln -s ~/Qt5.6.0/5.6/clang_64/bin/qmake /usr/local/bin/qmake
1.5.1 Install via Mac Ports
---------------------------

View File

@@ -8,7 +8,11 @@ INSTALL-LINUX For building on Ubuntu Linux
INSTALL-MAC For building on Apple OS X
[![Build Status](https://travis-ci.org/GoldenCheetah/GoldenCheetah.svg?branch=master)](https://travis-ci.org/GoldenCheetah/GoldenCheetah)
OSX: [![Build Status](https://travis-ci.org/GoldenCheetah/GoldenCheetah.svg?branch=master)](https://travis-ci.org/GoldenCheetah/GoldenCheetah)
Windows: [![Build status](https://ci.appveyor.com/api/projects/status/i6dwn4m8oyu52ihi?svg=true)](https://ci.appveyor.com/project/Joern-R/goldencheetah-knhd8)
[![Coverity Status](https://scan.coverity.com/projects/7503/badge.svg)](https://scan.coverity.com/projects/goldencheetah-goldencheetah)
Alternatively official builds are available from http://www.goldencheetah.org

32
appveyor.yml Normal file
View File

@@ -0,0 +1,32 @@
version: ci.{build}
image: Visual Studio 2015
clone_depth: 1
init:
# Setup QT 5.6.0 - 64Bit
- set QTDIR=C:\Qt\5.6\msvc2015_64
- set PATH=%QTDIR%\bin;%PATH%
# Setup MSVC - VS 2015
- CALL "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
# Get the libraries
- ps: Start-FileDownload 'https://github.com/Joern-R/gc-ci-libs/releases/download/0.0.1/gc-ci-libs.zip' -Filename 'c:/gc-ci-libs.zip'
- 7z x c:/gc-ci-libs.zip -oC:\libs
install:
- choco install winflexbison
- copy qwt\qwtconfig.pri.in qwt\qwtconfig.pri
- copy c:\libs\gcconfig64-Release.appveyor.pri src\gcconfig.pri
build_script:
- qmake.exe build.pro -r -spec win32-msvc2015
- nmake
#notifications:
#- provider: GitHubPullRequest
# on_build_success: true
# on_build_failure: true
# on_build_status_changed: true

Binary file not shown.

View File

@@ -0,0 +1,80 @@
// R API is C
#include <R.h>
#include <Rinternals.h>
#include <R_ext/Rdynload.h>
// an array of pointers to the actual functions
// in the native GC code -- these are initialised
// once the shared library has been loaded via
// a call to initialiseFunctions()
//
// for this test we only have one function
// GC.display() to make sure the concept works
static SEXP (*fn[6])();
// if we haven't been initialised don't even try
// to dereference the function pointers !!
static int initialised = 0;
// stub methods, call the GC routines if they've been initialised
SEXP GCdisplay() { if (initialised) return fn[0](); else return NULL; }
SEXP GCathlete() { if (initialised) return fn[1](); else return NULL; }
SEXP GCathleteHome() { if (initialised) return fn[2](); else return NULL; }
SEXP GCactivities() { if (initialised) return fn[3](); else return NULL; }
SEXP GCactivity() { if (initialised) return fn[4](); else return NULL; }
SEXP GCmetrics() { if (initialised) return fn[5](); else return NULL; }
SEXP GCinitialiseFunctions(SEXP (*functions[1])())
{
//fprintf(stderr, "RGoldenCheetah initialise functions\n");
// initialise all the function pointers
for(int i=0; i<6; i++) fn[i] = functions[i];
initialised = 1;
return 0;
}
// this function is called by R when the dynamic library
// is loaded via the R command > dyn.load("RGoldenCheetah.so")
// and is expected to register all the C functions to make
// available via the C interface
//
// By return, a number of functions will be created that provide
// wrappers in R (i.e. they call with the .C(xxx) notation and
//
// We so this to avoid using Rcpp / RInside which are not
// compatible with MSVC
void
R_init_RGoldenCheetah(DllInfo *info)
{
//fprintf(stderr, "RGoldenCheetah init is called!\n");
// initialise the parameter table
R_CMethodDef cMethods[] = {
{ "GCinitialiseFunctions", (DL_FUNC) &GCinitialiseFunctions, 0 },
{ "GC.display", (DL_FUNC) &GCdisplay, 0 },
{ "GC.athlete", (DL_FUNC) &GCathlete, 0 },
{ "GC.athlete.home", (DL_FUNC) &GCathleteHome, 0 },
{ "GC.activities", (DL_FUNC) &GCactivities, 0 },
{ "GC.activity", (DL_FUNC) &GCactivity, 0 },
{ "GC.metrics", (DL_FUNC) &GCmetrics, 0 },
{ NULL, NULL, 0 }
};
R_CallMethodDef callMethods[] = {
{ "GCinitialiseFunctions", (DL_FUNC) &GCinitialiseFunctions, 0 },
{ "GC.display", (DL_FUNC) &GCdisplay, 0 },
{ "GC.athlete", (DL_FUNC) &GCathlete, 0 },
{ "GC.athlete.home", (DL_FUNC) &GCathleteHome, 0 },
{ "GC.activities", (DL_FUNC) &GCactivities, 0 },
{ "GC.activity", (DL_FUNC) &GCactivity, 0 },
{ "GC.metrics", (DL_FUNC) &GCmetrics, 0 },
{ NULL, NULL, 0 }
};
// set them up
R_registerRoutines(info, cMethods, callMethods, NULL, NULL);
// make the initialiseFunctions callable from C
R_RegisterCCallable("RGoldenCheetah", "GCinitialiseFunctions", (DL_FUNC)&GCinitialiseFunctions);
}

BIN
doc/contrib/cTSS.pdf Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

View File

@@ -0,0 +1,161 @@
<mockup version="1.0" skin="sketch" fontFace="Balsamiq Sans" measuredW="654" measuredH="544" mockupW="499" mockupH="529">
<controls>
<control controlID="2" controlTypeID="com.balsamiq.mockups::TitleWindow" x="155" y="15" w="499" h="529" measuredW="450" measuredH="400" zOrder="0" locked="false" isInGroup="-1">
<controlProperties>
<text>User%20Defined%20Metric</text>
</controlProperties>
</control>
<control controlID="3" controlTypeID="com.balsamiq.mockups::Canvas" x="170" y="237" w="471" h="228" measuredW="100" measuredH="70" zOrder="1" locked="false" isInGroup="-1"/>
<control controlID="4" controlTypeID="com.balsamiq.mockups::Label" x="170" y="213" w="77" h="-1" measuredW="33" measuredH="21" zOrder="2" locked="false" isInGroup="-1">
<controlProperties>
<bold>true</bold>
<text>Code</text>
</controlProperties>
</control>
<control controlID="5" controlTypeID="com.balsamiq.mockups::Button" x="552" y="479" w="88" h="27" measuredW="41" measuredH="27" zOrder="3" locked="false" isInGroup="-1">
<controlProperties>
<text>OK</text>
</controlProperties>
</control>
<control controlID="7" controlTypeID="com.balsamiq.mockups::Button" x="449" y="479" w="88" h="27" measuredW="64" measuredH="27" zOrder="4" locked="false" isInGroup="-1">
<controlProperties>
<text>Cancel</text>
</controlProperties>
</control>
<control controlID="8" controlTypeID="com.balsamiq.mockups::Label" x="171" y="487" w="77" h="-1" measuredW="60" measuredH="21" zOrder="5" locked="false" isInGroup="-1">
<controlProperties>
<bold>true</bold>
<text>Evaluates</text>
</controlProperties>
</control>
<control controlID="9" controlTypeID="com.balsamiq.mockups::Label" x="246" y="489" w="27" h="-1" measuredW="25" measuredH="21" zOrder="6" locked="false" isInGroup="-1">
<controlProperties>
<bold>false</bold>
<text>200</text>
</controlProperties>
</control>
<control controlID="10" controlTypeID="com.balsamiq.mockups::Label" x="273" y="489" w="50" h="-1" measuredW="34" measuredH="21" zOrder="7" locked="false" isInGroup="-1">
<controlProperties>
<bold>false</bold>
<text>Watts</text>
</controlProperties>
</control>
<control controlID="11" controlTypeID="com.balsamiq.mockups::Label" x="246" y="468" w="77" h="-1" measuredW="41" measuredH="21" zOrder="8" locked="false" isInGroup="-1">
<controlProperties>
<bold>true</bold>
<text>Metric</text>
</controlProperties>
</control>
<control controlID="12" controlTypeID="com.balsamiq.mockups::Label" x="333" y="489" w="27" h="-1" measuredW="25" measuredH="21" zOrder="9" locked="false" isInGroup="-1">
<controlProperties>
<bold>false</bold>
<text>200</text>
</controlProperties>
</control>
<control controlID="13" controlTypeID="com.balsamiq.mockups::Label" x="360" y="489" w="74" h="-1" measuredW="34" measuredH="21" zOrder="10" locked="false" isInGroup="-1">
<controlProperties>
<bold>false</bold>
<text>Watts</text>
</controlProperties>
</control>
<control controlID="14" controlTypeID="com.balsamiq.mockups::Label" x="333" y="468" w="77" h="-1" measuredW="51" measuredH="21" zOrder="11" locked="false" isInGroup="-1">
<controlProperties>
<bold>true</bold>
<text>Imperial</text>
</controlProperties>
</control>
<control controlID="15" controlTypeID="com.balsamiq.mockups::Label" x="176" y="239" w="451" h="-1" measuredW="312" measuredH="224" zOrder="12" locked="false" isInGroup="-1">
<controlProperties>
<text>%23%20Average%20Power%20%5Cr%23%20Calculated%20using%20samples%20and%20should%20work%20with%5Cr%23%20variable%20sample%20rates%20since%20it%20%5Cr%23%20accumulates%20joules%20and%20duration.%20%5Crrelevant%20%7B%20Data%20contains%20%22P%22%3B%20%7D%5Crinit%20%7B%20joules%20%3C-%200%3B%20secs%20%3C-%200%3B%20%7D%20%5Cr%5Crsample%20%7B%5Cr%09joules%20%3C-%20joules%20+%20%28POWER%20*%20RECINTSECS%29%3B%5Cr%09secs%20%3C-%20secs%20+%20RECINTSECS%3B%5Cr%20%7D%5Cr%5Crvalue%20%7B%20joules%20/%20seconds%3B%20%7D%5Crcount%20%7B%20seconds%3B%20%7D</text>
</controlProperties>
</control>
<control controlID="16" controlTypeID="com.balsamiq.mockups::Label" x="170" y="50" w="77" h="-1" measuredW="46" measuredH="21" zOrder="13" locked="false" isInGroup="-1">
<controlProperties>
<bold>true</bold>
<text>Symbol</text>
</controlProperties>
</control>
<control controlID="17" controlTypeID="com.balsamiq.mockups::Label" x="345" y="50" w="77" h="-1" measuredW="72" measuredH="21" zOrder="14" locked="false" isInGroup="-1">
<controlProperties>
<bold>true</bold>
<text>Description</text>
</controlProperties>
</control>
<control controlID="18" controlTypeID="com.balsamiq.mockups::TextInput" x="243" y="47" w="82" h="-1" measuredW="31" measuredH="27" zOrder="15" locked="false" isInGroup="-1">
<controlProperties>
<text>AP</text>
</controlProperties>
</control>
<control controlID="20" controlTypeID="com.balsamiq.mockups::TextArea" x="434" y="48" w="207" h="91" measuredW="200" measuredH="140" zOrder="16" locked="false" isInGroup="-1">
<controlProperties>
<text>Average%20Power%20computed%20via%20Joules%20to%20account%20for%20variable%20sample%20rates.</text>
</controlProperties>
</control>
<control controlID="21" controlTypeID="com.balsamiq.mockups::Label" x="170" y="159" w="77" h="-1" measuredW="77" measuredH="21" zOrder="17" locked="false" isInGroup="-1">
<controlProperties>
<bold>true</bold>
<text>Metric%20Units</text>
</controlProperties>
</control>
<control controlID="22" controlTypeID="com.balsamiq.mockups::Label" x="324" y="159" w="104" h="-1" measuredW="87" measuredH="21" zOrder="18" locked="false" isInGroup="-1">
<controlProperties>
<bold>true</bold>
<text>Imperial%20Units</text>
</controlProperties>
</control>
<control controlID="23" controlTypeID="com.balsamiq.mockups::Label" x="465" y="144" w="80" h="-1" measuredW="68" measuredH="37" zOrder="19" locked="false" isInGroup="-1">
<controlProperties>
<bold>true</bold>
<text>Conversion%5CrFactor</text>
</controlProperties>
</control>
<control controlID="24" controlTypeID="com.balsamiq.mockups::Label" x="567" y="144" w="77" h="-1" measuredW="68" measuredH="37" zOrder="20" locked="false" isInGroup="-1">
<controlProperties>
<bold>true</bold>
<text>Conversion%5CrSum</text>
</controlProperties>
</control>
<control controlID="25" controlTypeID="com.balsamiq.mockups::TextInput" x="170" y="180" w="129" h="-1" measuredW="48" measuredH="27" zOrder="21" locked="false" isInGroup="-1">
<controlProperties>
<text>Watts</text>
</controlProperties>
</control>
<control controlID="26" controlTypeID="com.balsamiq.mockups::TextInput" x="324" y="180" w="119" h="-1" measuredW="48" measuredH="27" zOrder="22" locked="false" isInGroup="-1">
<controlProperties>
<text>Watts</text>
</controlProperties>
</control>
<control controlID="27" controlTypeID="com.balsamiq.mockups::TextInput" x="465" y="180" w="80" h="-1" measuredW="38" measuredH="27" zOrder="23" locked="false" isInGroup="-1">
<controlProperties>
<text>1.00</text>
</controlProperties>
</control>
<control controlID="28" controlTypeID="com.balsamiq.mockups::TextInput" x="564" y="180" w="78" h="-1" measuredW="41" measuredH="27" zOrder="24" locked="false" isInGroup="-1">
<controlProperties>
<text>0.00</text>
</controlProperties>
</control>
<control controlID="29" controlTypeID="com.balsamiq.mockups::Label" x="170" y="118" w="77" h="-1" measuredW="57" measuredH="21" zOrder="25" locked="false" isInGroup="-1">
<controlProperties>
<bold>true</bold>
<text>Precision</text>
</controlProperties>
</control>
<control controlID="30" controlTypeID="com.balsamiq.mockups::TextInput" x="243" y="115" w="82" h="-1" measuredW="23" measuredH="27" zOrder="26" locked="false" isInGroup="-1">
<controlProperties>
<text>2</text>
</controlProperties>
</control>
<control controlID="31" controlTypeID="com.balsamiq.mockups::Label" x="170" y="86" w="77" h="-1" measuredW="31" measuredH="21" zOrder="27" locked="false" isInGroup="-1">
<controlProperties>
<bold>true</bold>
<text>Type</text>
</controlProperties>
</control>
<control controlID="32" controlTypeID="com.balsamiq.mockups::ComboBox" x="243" y="82" w="-1" h="-1" measuredW="77" measuredH="24" zOrder="28" locked="false" isInGroup="-1">
<controlProperties>
<text>Average</text>
</controlProperties>
</control>
</controls>
</mockup>

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

View File

@@ -0,0 +1,20 @@
Sites to announce releases / updates on
* English
Google Groups: golden-cheetah-announce, golden-cheetah-users, wattage
BikeRadar.com: http://www.bikeradar.com/forums/viewforum.php?f=40011
Timetrialling.co.uk: http://www.timetriallingforum.co.uk/index.php?showforum=33
Slowtwitch.com: http://forum.slowtwitch.com/forum/Slowtwitch_Forums_C1/Triathlon_Forum_F1/
Weightweenies: http://weightweenies.starbike.com/forum/viewforum.php?f=8
Roadbike Review: http://forums.roadbikereview.com/racing-training-nutrition-triathlons/
* Italian
Ask "fester54 hotmail com" to post in Italian to http://www.bdc-forum.it/
* German
Ask "joern.rm gmail com" to post in German to http://forum.tour-magazin.de/forum.php

BIN
doc/wiki/RChart.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 KiB

BIN
doc/wiki/Rvideo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 356 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

17
kqoauth/.gitignore vendored
View File

@@ -1,17 +0,0 @@
# ignore Qt/moc files
moc_*
.qmake.stash
# ignore other object files
*.o
# shared libs
*.so
*.so.*
*.prl
#static libs
*.a
# ignore qmake-generated Makefile
Makefile

Some files were not shown because too many files have changed in this diff Show More