Compare commits

...

468 Commits

Author SHA1 Message Date
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
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
Erik Botö
17a7b4f660 TrainView: Move controls into bottom and add intensity controls 2016-01-29 13:43:49 +01:00
987 changed files with 688262 additions and 59296 deletions

2
.gitignore vendored
View File

@@ -11,6 +11,8 @@ Makefile
.svn
*.pri
*.prl
*.swp
*.user
# osx noise
.DS_Store

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
@@ -75,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
@@ -83,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

View File

@@ -8,7 +8,9 @@ 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)

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

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.

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

View File

@@ -1,6 +1,4 @@
exists(config.pri):infile(config.pri, SOLUTIONS_LIBRARY, yes): CONFIG += qtsoap-uselib
TEMPLATE += fakelib
QTSOAP_LIBNAME = $$qtLibraryTarget(QtSolutions_SOAP-2.7)
TEMPLATE -= fakelib
QTSOAP_LIBDIR = $$PWD/lib
unix:qtsoap-uselib:!qtsoap-buildlib:QMAKE_RPATHDIR += $$QTSOAP_LIBDIR

View File

@@ -77,7 +77,6 @@ SOURCES += \
qwt_scale_div.cpp \
qwt_scale_draw.cpp \
qwt_scale_map.cpp \
qwt_scale_map_table.h \
qwt_spline.cpp \
qwt_scale_engine.cpp \
qwt_symbol.cpp \

View File

@@ -19,7 +19,7 @@ QWT_OUT_ROOT = $${OUT_PWD}/..
TEMPLATE = lib
TARGET = $$qwtLibraryTarget(qwt)
DESTDIR = $${QWT_OUT_ROOT}/lib
DESTDIR = $${PWD}/../lib
contains(QWT_CONFIG, QwtDll) {

View File

@@ -29,6 +29,7 @@
#include <QApplication>
#include <QStylePainter>
#include <QStyleOptionSlider>
#include <QTime>
QxtSpanSliderPrivate::QxtSpanSliderPrivate() :
lower(0),
@@ -622,6 +623,16 @@ void QxtSpanSlider::mousePressEvent(QMouseEvent* event)
*/
void QxtSpanSlider::mouseMoveEvent(QMouseEvent* event)
{
// hack for uncompressed mouse events
#if defined(Q_OS_LINUX) && (QT_VERSION > 0x050000) && (QT_VERSION < 0x050600)
static QTime p;
if (p.elapsed() > 0 && p.elapsed() < 100) {
event->ignore();
return;
}
p.start();
#endif
if (qxt_d().lowerPressed != QStyle::SC_SliderHandle && qxt_d().upperPressed != QStyle::SC_SliderHandle)
{
event->ignore();

7
src/.gitignore vendored
View File

@@ -6,6 +6,13 @@ Info.plist
*.xcodeproj
gcconfig.pri
# QtCreator
src.pro.user
*.autosave
# MSVC2015
*.opt
# old skool
.svn

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