Compare commits

...

638 Commits

Author SHA1 Message Date
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
Mark Liversedge
c02bacc57b Revert "Fix "out-of-source" build"
This reverts commit 95548d9258.

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

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

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

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

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

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

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

.. WebKit is not available and breaks our builds

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.. we now disable it via the Windows API too

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.. will hide toolbar whilst recording

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

   hitting the ESC key will clear all selections.

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

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

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

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

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

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

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

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

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

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

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

   and is now platform neutral.

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

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

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

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

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

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

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

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

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

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

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

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

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

.. lots of technical changes to support this:

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

   * RideMetric factory can now remove user metrics

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.. Datafilters can be defimed in three forms;

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

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

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

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

   {
        pass {

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

        main {

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

.. Functions can only be defined within a block

.. Functions must be defined before use

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

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

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

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

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

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

.. so examples are:

   if (TSS>100) TSS; else 0;

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

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

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

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

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

       { temp <- TSS; temp > 100 }

   is functionally equivalent to

       TSS > 100

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

   symbol <- expression

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

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

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

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

.. add a min temperature metric

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

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

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

19
.gitignore vendored
View File

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

View File

@@ -7,7 +7,6 @@ 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
global:
@@ -20,8 +19,8 @@ env:
before_install:
- 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
@@ -48,7 +47,7 @@ before_script:
- sudo cp /Volumes/release/D2XX/Object/10.5-10.7/x86_64/libftd2xx.1.2.2.dylib /usr/local/lib
- cp /Volumes/release/D2XX/bin/*.h D2XX
- sed -i "" "s|libftd2xx.dylib|@executable_path/../Frameworks/libftd2xx.1.2.2.dylib|"
src/D2XX.cpp
src/FileIO/D2XX.cpp
- cp qwt/qwtconfig.pri.in qwt/qwtconfig.pri
- cp src/gcconfig.pri.in src/gcconfig.pri
- /usr/local/opt/$QT_PATH/bin/lupdate src/src.pro
@@ -57,6 +56,8 @@ before_script:
src/gcconfig.pri
- sed -i "" "s|#\(QMAKE_CXXFLAGS\).*|\1_RELEASE += -mmacosx-version-min=10.7 -arch
x86_64|" src/gcconfig.pri
- sed -i "" "s|^#CloudDB|CloudDB|" src/gcconfig.pri
- sed -i "" "s|^#LIBZ|LIBZ|" src/gcconfig.pri
- sed -i "" "s|#\(SRMIO_INSTALL =.*\)|\1 /usr/local|" src/gcconfig.pri
- sed -i "" "s|#\(D2XX_INCLUDE =.*\)|\1 ../D2XX|" src/gcconfig.pri
- sed -i "" "s|#\(D2XX_LIBS =.*\)|\1 -L../D2XX -lftd2xx.1.2.2|" src/gcconfig.pri
@@ -73,7 +74,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
@@ -82,11 +83,11 @@ before_script:
- sed -i "" "s|\(DEFINES += GC_VIDEO_NONE.*\)|#\1 |" src/gcconfig.pri
- sed -i "" "s|#\(DEFINES += GC_VIDEO_QUICKTIME.*\)|\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
@@ -106,12 +107,13 @@ after_success:
- cd /Volumes/GoldenCheetah
- ls -laR GoldenCheetah.app
- GoldenCheetah.app/Contents/MacOS/GoldenCheetah --help
before_deploy:
- gem install mime-types -v 2.6.2
deploy:
provider: releases
api_key: $GH_OAUTH_TOKEN
file: GoldenCheetah_$QT.dmg
skip_cleanup: true
on:
tags: true
##deploy broken in travis, read-only filesystem error
##before_deploy:
##- gem install mime-types -v 2.6.2
##deploy:
## provider: releases
## api_key: $GH_OAUTH_TOKEN
## file: GoldenCheetah_$QT.dmg
## skip_cleanup: true
## on:
## tags: true

View File

@@ -10,6 +10,8 @@ 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)
[![Coverity Status](https://scan.coverity.com/projects/7503/badge.svg)](https://scan.coverity.com/projects/goldencheetah-goldencheetah)
Alternatively official builds are available from http://www.goldencheetah.org
whilst latest developer builds are available from http://goldencheetah.stand2surf.net

Binary file not shown.

BIN
doc/contrib/cTSS.pdf Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

View File

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

17
kqoauth/.gitignore vendored
View File

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

View File

@@ -1,6 +0,0 @@
QMAKE_PRL_BUILD_DIR = /home/markl/Projects/Live/GoldenCheetah/kqoauth
QMAKE_PRO_INPUT = kqoauth.pro
QMAKE_PRL_TARGET = libkqoauth.a
QMAKE_PRL_CONFIG = lex yacc exceptions depend_includepath testcase_targets import_plugins import_qpa_plugin qt warn_on release link_prl incremental qpa no_mocdepend release qt_no_framework linux unix posix gcc create_prl static have_target staticlib thread opengl moc resources
QMAKE_PRL_VERSION = 0.97
QMAKE_PRL_LIBS = -lssl -lcrypto -L/home/markl/QT/Qt5.4.0/5.4/gcc_64/lib -lQt5Gui -lQt5Network -lQt5Core -lGL -lpthread

View File

@@ -1,127 +0,0 @@
/****************************************************************************
** Meta object code from reading C++ file 'kqoauthauthreplyserver.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.4.0)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "kqoauthauthreplyserver.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'kqoauthauthreplyserver.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.4.0. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
struct qt_meta_stringdata_KQOAuthAuthReplyServer_t {
QByteArrayData data[4];
char stringdata[72];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_KQOAuthAuthReplyServer_t, stringdata) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_KQOAuthAuthReplyServer_t qt_meta_stringdata_KQOAuthAuthReplyServer = {
{
QT_MOC_LITERAL(0, 0, 22), // "KQOAuthAuthReplyServer"
QT_MOC_LITERAL(1, 23, 20), // "verificationReceived"
QT_MOC_LITERAL(2, 44, 0), // ""
QT_MOC_LITERAL(3, 45, 26) // "QMultiMap<QString,QString>"
},
"KQOAuthAuthReplyServer\0verificationReceived\0"
"\0QMultiMap<QString,QString>"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_KQOAuthAuthReplyServer[] = {
// content:
7, // revision
0, // classname
0, 0, // classinfo
1, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
1, // signalCount
// signals: name, argc, parameters, tag, flags
1, 1, 19, 2, 0x06 /* Public */,
// signals: parameters
QMetaType::Void, 0x80000000 | 3, 2,
0 // eod
};
void KQOAuthAuthReplyServer::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
KQOAuthAuthReplyServer *_t = static_cast<KQOAuthAuthReplyServer *>(_o);
switch (_id) {
case 0: _t->verificationReceived((*reinterpret_cast< QMultiMap<QString,QString>(*)>(_a[1]))); break;
default: ;
}
} else if (_c == QMetaObject::IndexOfMethod) {
int *result = reinterpret_cast<int *>(_a[0]);
void **func = reinterpret_cast<void **>(_a[1]);
{
typedef void (KQOAuthAuthReplyServer::*_t)(QMultiMap<QString,QString> );
if (*reinterpret_cast<_t *>(func) == static_cast<_t>(&KQOAuthAuthReplyServer::verificationReceived)) {
*result = 0;
}
}
}
}
const QMetaObject KQOAuthAuthReplyServer::staticMetaObject = {
{ &QTcpServer::staticMetaObject, qt_meta_stringdata_KQOAuthAuthReplyServer.data,
qt_meta_data_KQOAuthAuthReplyServer, qt_static_metacall, Q_NULLPTR, Q_NULLPTR}
};
const QMetaObject *KQOAuthAuthReplyServer::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *KQOAuthAuthReplyServer::qt_metacast(const char *_clname)
{
if (!_clname) return Q_NULLPTR;
if (!strcmp(_clname, qt_meta_stringdata_KQOAuthAuthReplyServer.stringdata))
return static_cast<void*>(const_cast< KQOAuthAuthReplyServer*>(this));
return QTcpServer::qt_metacast(_clname);
}
int KQOAuthAuthReplyServer::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QTcpServer::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 1)
qt_static_metacall(this, _c, _id, _a);
_id -= 1;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 1)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 1;
}
return _id;
}
// SIGNAL 0
void KQOAuthAuthReplyServer::verificationReceived(QMultiMap<QString,QString> _t1)
{
void *_a[] = { Q_NULLPTR, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
QMetaObject::activate(this, &staticMetaObject, 0, _a);
}
QT_END_MOC_NAMESPACE

View File

@@ -1,115 +0,0 @@
/****************************************************************************
** Meta object code from reading C++ file 'kqoauthauthreplyserver_p.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.4.0)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "kqoauthauthreplyserver_p.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'kqoauthauthreplyserver_p.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.4.0. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
struct qt_meta_stringdata_KQOAuthAuthReplyServerPrivate_t {
QByteArrayData data[4];
char stringdata[65];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_KQOAuthAuthReplyServerPrivate_t, stringdata) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_KQOAuthAuthReplyServerPrivate_t qt_meta_stringdata_KQOAuthAuthReplyServerPrivate = {
{
QT_MOC_LITERAL(0, 0, 29), // "KQOAuthAuthReplyServerPrivate"
QT_MOC_LITERAL(1, 30, 20), // "onIncomingConnection"
QT_MOC_LITERAL(2, 51, 0), // ""
QT_MOC_LITERAL(3, 52, 12) // "onBytesReady"
},
"KQOAuthAuthReplyServerPrivate\0"
"onIncomingConnection\0\0onBytesReady"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_KQOAuthAuthReplyServerPrivate[] = {
// content:
7, // revision
0, // classname
0, 0, // classinfo
2, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
// slots: name, argc, parameters, tag, flags
1, 0, 24, 2, 0x0a /* Public */,
3, 0, 25, 2, 0x0a /* Public */,
// slots: parameters
QMetaType::Void,
QMetaType::Void,
0 // eod
};
void KQOAuthAuthReplyServerPrivate::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
KQOAuthAuthReplyServerPrivate *_t = static_cast<KQOAuthAuthReplyServerPrivate *>(_o);
switch (_id) {
case 0: _t->onIncomingConnection(); break;
case 1: _t->onBytesReady(); break;
default: ;
}
}
Q_UNUSED(_a);
}
const QMetaObject KQOAuthAuthReplyServerPrivate::staticMetaObject = {
{ &QObject::staticMetaObject, qt_meta_stringdata_KQOAuthAuthReplyServerPrivate.data,
qt_meta_data_KQOAuthAuthReplyServerPrivate, qt_static_metacall, Q_NULLPTR, Q_NULLPTR}
};
const QMetaObject *KQOAuthAuthReplyServerPrivate::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *KQOAuthAuthReplyServerPrivate::qt_metacast(const char *_clname)
{
if (!_clname) return Q_NULLPTR;
if (!strcmp(_clname, qt_meta_stringdata_KQOAuthAuthReplyServerPrivate.stringdata))
return static_cast<void*>(const_cast< KQOAuthAuthReplyServerPrivate*>(this));
return QObject::qt_metacast(_clname);
}
int KQOAuthAuthReplyServerPrivate::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QObject::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 2)
qt_static_metacall(this, _c, _id, _a);
_id -= 2;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 2)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 2;
}
return _id;
}
QT_END_MOC_NAMESPACE

View File

@@ -1,316 +0,0 @@
/****************************************************************************
** Meta object code from reading C++ file 'kqoauthmanager.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.4.0)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "kqoauthmanager.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'kqoauthmanager.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.4.0. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
struct qt_meta_stringdata_KQOAuthManager_t {
QByteArrayData data[27];
char stringdata[445];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_KQOAuthManager_t, stringdata) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_KQOAuthManager_t qt_meta_stringdata_KQOAuthManager = {
{
QT_MOC_LITERAL(0, 0, 14), // "KQOAuthManager"
QT_MOC_LITERAL(1, 15, 12), // "requestReady"
QT_MOC_LITERAL(2, 28, 0), // ""
QT_MOC_LITERAL(3, 29, 12), // "networkReply"
QT_MOC_LITERAL(4, 42, 22), // "authorizedRequestReady"
QT_MOC_LITERAL(5, 65, 2), // "id"
QT_MOC_LITERAL(6, 68, 26), // "authorizationPageRequested"
QT_MOC_LITERAL(7, 95, 7), // "pageUrl"
QT_MOC_LITERAL(8, 103, 13), // "receivedToken"
QT_MOC_LITERAL(9, 117, 11), // "oauth_token"
QT_MOC_LITERAL(10, 129, 18), // "oauth_token_secret"
QT_MOC_LITERAL(11, 148, 22), // "temporaryTokenReceived"
QT_MOC_LITERAL(12, 171, 21), // "authorizationReceived"
QT_MOC_LITERAL(13, 193, 14), // "oauth_verifier"
QT_MOC_LITERAL(14, 208, 19), // "accessTokenReceived"
QT_MOC_LITERAL(15, 228, 21), // "authorizedRequestDone"
QT_MOC_LITERAL(16, 250, 22), // "onRequestReplyReceived"
QT_MOC_LITERAL(17, 273, 14), // "QNetworkReply*"
QT_MOC_LITERAL(18, 288, 5), // "reply"
QT_MOC_LITERAL(19, 294, 32), // "onAuthorizedRequestReplyReceived"
QT_MOC_LITERAL(20, 327, 22), // "onVerificationReceived"
QT_MOC_LITERAL(21, 350, 26), // "QMultiMap<QString,QString>"
QT_MOC_LITERAL(22, 377, 8), // "response"
QT_MOC_LITERAL(23, 386, 9), // "slotError"
QT_MOC_LITERAL(24, 396, 27), // "QNetworkReply::NetworkError"
QT_MOC_LITERAL(25, 424, 5), // "error"
QT_MOC_LITERAL(26, 430, 14) // "requestTimeout"
},
"KQOAuthManager\0requestReady\0\0networkReply\0"
"authorizedRequestReady\0id\0"
"authorizationPageRequested\0pageUrl\0"
"receivedToken\0oauth_token\0oauth_token_secret\0"
"temporaryTokenReceived\0authorizationReceived\0"
"oauth_verifier\0accessTokenReceived\0"
"authorizedRequestDone\0onRequestReplyReceived\0"
"QNetworkReply*\0reply\0"
"onAuthorizedRequestReplyReceived\0"
"onVerificationReceived\0"
"QMultiMap<QString,QString>\0response\0"
"slotError\0QNetworkReply::NetworkError\0"
"error\0requestTimeout"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_KQOAuthManager[] = {
// content:
7, // revision
0, // classname
0, 0, // classinfo
13, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
8, // signalCount
// signals: name, argc, parameters, tag, flags
1, 1, 79, 2, 0x06 /* Public */,
4, 2, 82, 2, 0x06 /* Public */,
6, 1, 87, 2, 0x06 /* Public */,
8, 2, 90, 2, 0x06 /* Public */,
11, 2, 95, 2, 0x06 /* Public */,
12, 2, 100, 2, 0x06 /* Public */,
14, 2, 105, 2, 0x06 /* Public */,
15, 0, 110, 2, 0x06 /* Public */,
// slots: name, argc, parameters, tag, flags
16, 1, 111, 2, 0x08 /* Private */,
19, 1, 114, 2, 0x08 /* Private */,
20, 1, 117, 2, 0x08 /* Private */,
23, 1, 120, 2, 0x08 /* Private */,
26, 0, 123, 2, 0x08 /* Private */,
// signals: parameters
QMetaType::Void, QMetaType::QByteArray, 3,
QMetaType::Void, QMetaType::QByteArray, QMetaType::Int, 3, 5,
QMetaType::Void, QMetaType::QUrl, 7,
QMetaType::Void, QMetaType::QString, QMetaType::QString, 9, 10,
QMetaType::Void, QMetaType::QString, QMetaType::QString, 9, 10,
QMetaType::Void, QMetaType::QString, QMetaType::QString, 9, 13,
QMetaType::Void, QMetaType::QString, QMetaType::QString, 9, 10,
QMetaType::Void,
// slots: parameters
QMetaType::Void, 0x80000000 | 17, 18,
QMetaType::Void, 0x80000000 | 17, 18,
QMetaType::Void, 0x80000000 | 21, 22,
QMetaType::Void, 0x80000000 | 24, 25,
QMetaType::Void,
0 // eod
};
void KQOAuthManager::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
KQOAuthManager *_t = static_cast<KQOAuthManager *>(_o);
switch (_id) {
case 0: _t->requestReady((*reinterpret_cast< QByteArray(*)>(_a[1]))); break;
case 1: _t->authorizedRequestReady((*reinterpret_cast< QByteArray(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
case 2: _t->authorizationPageRequested((*reinterpret_cast< QUrl(*)>(_a[1]))); break;
case 3: _t->receivedToken((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break;
case 4: _t->temporaryTokenReceived((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break;
case 5: _t->authorizationReceived((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break;
case 6: _t->accessTokenReceived((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break;
case 7: _t->authorizedRequestDone(); break;
case 8: _t->onRequestReplyReceived((*reinterpret_cast< QNetworkReply*(*)>(_a[1]))); break;
case 9: _t->onAuthorizedRequestReplyReceived((*reinterpret_cast< QNetworkReply*(*)>(_a[1]))); break;
case 10: _t->onVerificationReceived((*reinterpret_cast< QMultiMap<QString,QString>(*)>(_a[1]))); break;
case 11: _t->slotError((*reinterpret_cast< QNetworkReply::NetworkError(*)>(_a[1]))); break;
case 12: _t->requestTimeout(); break;
default: ;
}
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
switch (_id) {
default: *reinterpret_cast<int*>(_a[0]) = -1; break;
case 8:
switch (*reinterpret_cast<int*>(_a[1])) {
default: *reinterpret_cast<int*>(_a[0]) = -1; break;
case 0:
*reinterpret_cast<int*>(_a[0]) = qRegisterMetaType< QNetworkReply* >(); break;
}
break;
case 9:
switch (*reinterpret_cast<int*>(_a[1])) {
default: *reinterpret_cast<int*>(_a[0]) = -1; break;
case 0:
*reinterpret_cast<int*>(_a[0]) = qRegisterMetaType< QNetworkReply* >(); break;
}
break;
case 11:
switch (*reinterpret_cast<int*>(_a[1])) {
default: *reinterpret_cast<int*>(_a[0]) = -1; break;
case 0:
*reinterpret_cast<int*>(_a[0]) = qRegisterMetaType< QNetworkReply::NetworkError >(); break;
}
break;
}
} else if (_c == QMetaObject::IndexOfMethod) {
int *result = reinterpret_cast<int *>(_a[0]);
void **func = reinterpret_cast<void **>(_a[1]);
{
typedef void (KQOAuthManager::*_t)(QByteArray );
if (*reinterpret_cast<_t *>(func) == static_cast<_t>(&KQOAuthManager::requestReady)) {
*result = 0;
}
}
{
typedef void (KQOAuthManager::*_t)(QByteArray , int );
if (*reinterpret_cast<_t *>(func) == static_cast<_t>(&KQOAuthManager::authorizedRequestReady)) {
*result = 1;
}
}
{
typedef void (KQOAuthManager::*_t)(QUrl );
if (*reinterpret_cast<_t *>(func) == static_cast<_t>(&KQOAuthManager::authorizationPageRequested)) {
*result = 2;
}
}
{
typedef void (KQOAuthManager::*_t)(QString , QString );
if (*reinterpret_cast<_t *>(func) == static_cast<_t>(&KQOAuthManager::receivedToken)) {
*result = 3;
}
}
{
typedef void (KQOAuthManager::*_t)(QString , QString );
if (*reinterpret_cast<_t *>(func) == static_cast<_t>(&KQOAuthManager::temporaryTokenReceived)) {
*result = 4;
}
}
{
typedef void (KQOAuthManager::*_t)(QString , QString );
if (*reinterpret_cast<_t *>(func) == static_cast<_t>(&KQOAuthManager::authorizationReceived)) {
*result = 5;
}
}
{
typedef void (KQOAuthManager::*_t)(QString , QString );
if (*reinterpret_cast<_t *>(func) == static_cast<_t>(&KQOAuthManager::accessTokenReceived)) {
*result = 6;
}
}
{
typedef void (KQOAuthManager::*_t)();
if (*reinterpret_cast<_t *>(func) == static_cast<_t>(&KQOAuthManager::authorizedRequestDone)) {
*result = 7;
}
}
}
}
const QMetaObject KQOAuthManager::staticMetaObject = {
{ &QObject::staticMetaObject, qt_meta_stringdata_KQOAuthManager.data,
qt_meta_data_KQOAuthManager, qt_static_metacall, Q_NULLPTR, Q_NULLPTR}
};
const QMetaObject *KQOAuthManager::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *KQOAuthManager::qt_metacast(const char *_clname)
{
if (!_clname) return Q_NULLPTR;
if (!strcmp(_clname, qt_meta_stringdata_KQOAuthManager.stringdata))
return static_cast<void*>(const_cast< KQOAuthManager*>(this));
return QObject::qt_metacast(_clname);
}
int KQOAuthManager::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QObject::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 13)
qt_static_metacall(this, _c, _id, _a);
_id -= 13;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 13)
qt_static_metacall(this, _c, _id, _a);
_id -= 13;
}
return _id;
}
// SIGNAL 0
void KQOAuthManager::requestReady(QByteArray _t1)
{
void *_a[] = { Q_NULLPTR, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
QMetaObject::activate(this, &staticMetaObject, 0, _a);
}
// SIGNAL 1
void KQOAuthManager::authorizedRequestReady(QByteArray _t1, int _t2)
{
void *_a[] = { Q_NULLPTR, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)) };
QMetaObject::activate(this, &staticMetaObject, 1, _a);
}
// SIGNAL 2
void KQOAuthManager::authorizationPageRequested(QUrl _t1)
{
void *_a[] = { Q_NULLPTR, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
QMetaObject::activate(this, &staticMetaObject, 2, _a);
}
// SIGNAL 3
void KQOAuthManager::receivedToken(QString _t1, QString _t2)
{
void *_a[] = { Q_NULLPTR, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)) };
QMetaObject::activate(this, &staticMetaObject, 3, _a);
}
// SIGNAL 4
void KQOAuthManager::temporaryTokenReceived(QString _t1, QString _t2)
{
void *_a[] = { Q_NULLPTR, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)) };
QMetaObject::activate(this, &staticMetaObject, 4, _a);
}
// SIGNAL 5
void KQOAuthManager::authorizationReceived(QString _t1, QString _t2)
{
void *_a[] = { Q_NULLPTR, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)) };
QMetaObject::activate(this, &staticMetaObject, 5, _a);
}
// SIGNAL 6
void KQOAuthManager::accessTokenReceived(QString _t1, QString _t2)
{
void *_a[] = { Q_NULLPTR, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)) };
QMetaObject::activate(this, &staticMetaObject, 6, _a);
}
// SIGNAL 7
void KQOAuthManager::authorizedRequestDone()
{
QMetaObject::activate(this, &staticMetaObject, 7, Q_NULLPTR);
}
QT_END_MOC_NAMESPACE

View File

@@ -1,125 +0,0 @@
/****************************************************************************
** Meta object code from reading C++ file 'kqoauthrequest.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.4.0)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "kqoauthrequest.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'kqoauthrequest.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.4.0. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
struct qt_meta_stringdata_KQOAuthRequest_t {
QByteArrayData data[3];
char stringdata[32];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_KQOAuthRequest_t, stringdata) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_KQOAuthRequest_t qt_meta_stringdata_KQOAuthRequest = {
{
QT_MOC_LITERAL(0, 0, 14), // "KQOAuthRequest"
QT_MOC_LITERAL(1, 15, 15), // "requestTimedout"
QT_MOC_LITERAL(2, 31, 0) // ""
},
"KQOAuthRequest\0requestTimedout\0"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_KQOAuthRequest[] = {
// content:
7, // revision
0, // classname
0, 0, // classinfo
1, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
1, // signalCount
// signals: name, argc, parameters, tag, flags
1, 0, 19, 2, 0x06 /* Public */,
// signals: parameters
QMetaType::Void,
0 // eod
};
void KQOAuthRequest::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
KQOAuthRequest *_t = static_cast<KQOAuthRequest *>(_o);
switch (_id) {
case 0: _t->requestTimedout(); break;
default: ;
}
} else if (_c == QMetaObject::IndexOfMethod) {
int *result = reinterpret_cast<int *>(_a[0]);
void **func = reinterpret_cast<void **>(_a[1]);
{
typedef void (KQOAuthRequest::*_t)();
if (*reinterpret_cast<_t *>(func) == static_cast<_t>(&KQOAuthRequest::requestTimedout)) {
*result = 0;
}
}
}
Q_UNUSED(_a);
}
const QMetaObject KQOAuthRequest::staticMetaObject = {
{ &QObject::staticMetaObject, qt_meta_stringdata_KQOAuthRequest.data,
qt_meta_data_KQOAuthRequest, qt_static_metacall, Q_NULLPTR, Q_NULLPTR}
};
const QMetaObject *KQOAuthRequest::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *KQOAuthRequest::qt_metacast(const char *_clname)
{
if (!_clname) return Q_NULLPTR;
if (!strcmp(_clname, qt_meta_stringdata_KQOAuthRequest.stringdata))
return static_cast<void*>(const_cast< KQOAuthRequest*>(this));
return QObject::qt_metacast(_clname);
}
int KQOAuthRequest::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QObject::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 1)
qt_static_metacall(this, _c, _id, _a);
_id -= 1;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 1)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 1;
}
return _id;
}
// SIGNAL 0
void KQOAuthRequest::requestTimedout()
{
QMetaObject::activate(this, &staticMetaObject, 0, Q_NULLPTR);
}
QT_END_MOC_NAMESPACE

View File

@@ -1,89 +0,0 @@
/****************************************************************************
** Meta object code from reading C++ file 'kqoauthrequest_xauth.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.4.0)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "kqoauthrequest_xauth.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'kqoauthrequest_xauth.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.4.0. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
struct qt_meta_stringdata_KQOAuthRequest_XAuth_t {
QByteArrayData data[1];
char stringdata[21];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_KQOAuthRequest_XAuth_t, stringdata) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_KQOAuthRequest_XAuth_t qt_meta_stringdata_KQOAuthRequest_XAuth = {
{
QT_MOC_LITERAL(0, 0, 20) // "KQOAuthRequest_XAuth"
},
"KQOAuthRequest_XAuth"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_KQOAuthRequest_XAuth[] = {
// content:
7, // revision
0, // classname
0, 0, // classinfo
0, 0, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
0 // eod
};
void KQOAuthRequest_XAuth::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
Q_UNUSED(_o);
Q_UNUSED(_id);
Q_UNUSED(_c);
Q_UNUSED(_a);
}
const QMetaObject KQOAuthRequest_XAuth::staticMetaObject = {
{ &KQOAuthRequest::staticMetaObject, qt_meta_stringdata_KQOAuthRequest_XAuth.data,
qt_meta_data_KQOAuthRequest_XAuth, qt_static_metacall, Q_NULLPTR, Q_NULLPTR}
};
const QMetaObject *KQOAuthRequest_XAuth::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *KQOAuthRequest_XAuth::qt_metacast(const char *_clname)
{
if (!_clname) return Q_NULLPTR;
if (!strcmp(_clname, qt_meta_stringdata_KQOAuthRequest_XAuth.stringdata))
return static_cast<void*>(const_cast< KQOAuthRequest_XAuth*>(this));
return KQOAuthRequest::qt_metacast(_clname);
}
int KQOAuthRequest_XAuth::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = KQOAuthRequest::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
return _id;
}
QT_END_MOC_NAMESPACE

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