Commit Graph

10899 Commits

Author SHA1 Message Date
Joachim Kohlhammer
210cc1a782 Zones: Sorting ranges in reverse (#4561)
Power, Heartrate, Pace: Showing the most recent range at the top instead
of at the bottom by adding a hidden column _rnum to the TreeViews
2024-10-23 18:59:29 -03:00
Joachim Kohlhammer
02548a98aa Refinement of Semi automatic creation for power zones (#4560)
* Renamed "Adopt" to "Review..."
* Replaced "adopt" by "review" in the code
* Fixed crash when using CP for FTP
2024-10-22 13:26:09 -03:00
Paul Johnson
2a77a639f9 Editable metadata tile fixes #4559
Fixed expanding cancel and ok buttons
Set minimum width for the different fields types
2024-10-21 20:03:02 -03:00
Paul Johnson
cb2198ab74 Position tile config menu (#4558)
* Move tile config dialog near the cog icon
* Ensure config dialog remains within GC window
2024-10-20 17:18:19 -03:00
Paul Johnson
8aea1cfed6 Editable metadata tile (#4519)
* New edit icon on metadata tiles that have editable content
* New metadata dialog
* Ensure metadata dialog remains within GC window
2024-10-20 15:02:30 -03:00
Alejandro Martinez
5c694d0f45 Adapt CloudServiceSyncDialog with service capabilities
Some Cloud Services s.t. Nolio doesn't offer (yet) upload,
but upload was always presented.
Fixes #4177
2024-10-19 09:29:29 -03:00
Alejandro Martinez
3d3aed8eca Table tile in Overview - Colorize for scalar data
Copied how it works for multirow data
Fixes #4062
2024-10-18 13:05:39 -03:00
Joachim Kohlhammer
a5829c5c13 Semi automatic creation of ranges for power zones (#4543)
* Changed the UI of CPPage to inline-editing of all values in all tables
* Added a sports-specific selector for the model (cp2, cp3, ext, manual)
* Allowed to create new ranges either manually or based on the estimated
  values of the model
* Added option to reset each ranges values to those of the selected
  model
* Added message to create a new range if todays estimate differs from
  those of the currently active one
* Refined semi automatic power zones
* Added a dialog to inspect and accept only some values while adoption
* Added info messages
  * when the model does not provide FTP or PMAX
  * that AeTP is only a very rough estimate
* Added a tolerance in comparison before proposing new values
* Using the following order for defaults when adding a new manual range
  * selected row
  * last row
  * predefined defaults
* Zones-Tab: To prevent crashes, a message is shown instead of the real
  interface if a metric refresh is ongoing
* Changed Pace- and HR-Tabs to use inline editing
* Moved the unittests into the same structure as the sourcecode
* Added a simple (incomplete) unittest for kphToPace
* Improved setting the column width
* En-/Disabling the action buttons (add, delete, ...) based on the
  contents state
* Changed the layout to prevent jumping widgets when showing / hiding
  buttons
* Fixed compiler warnings from Visual-C++
* Adopt dialog: Refined layout
* Fixed the unit of "From BPM" on HR-Page
* Set the default mode to manual
Fixes #1381
2024-10-17 18:12:15 -03:00
Alejandro Martinez
d6e570ce3c Update snapshot builds
Relevant changes from v3.7-DEV2408
a30b96cc8 Refactored the placement of items in the ChartSpace (#4549)
62ef8abe4 Make the Workout Editor's Settings Persistent (#4553)
217bd3b88 Scale Line Width default values (#4556)
f4d6c2ae4 avoid regression caused by #4337 due to changed order of data series enum
61fa77b2c respect linewidth setting inside the workout editor realtime plot (#4550)
51b0c9099 Fix intervals in Compare Pane are 1 sample short
b62a2d319 Ride Cache - Don't remove 1 sec intervals
c51941231 CP chart - show tooltip for model curve
5f1598c43 FIT - map fields to standard only for record msg (#4521)
9242f724d Implemented user defined relative date ranges (#4534)
60f903361 Cycling dynamics in train mode (#4337)
1230dc7c6 FIT parser - Lap messages can be first (#4535)
79b523781 Removed wildcard from translatable part (#4545)
ee992ad13 Enable Performance Tests for CV charts
7e7ffd3cb Aerolab - fix imperial units labels (#4542)
[publish binaries]
2024-10-13 18:44:44 -03:00
Joachim Kohlhammer
a30b96cc8a Refactored the placement of items in the ChartSpace (#4549)
Fixes #4467:
* Tiles are dragged to a column, inserted into the columns tile order
* Placing tiles left or right of the existing columns creates a new
  column (up to a fixed limit)
* As there is no concept of lines, the placement must
  * always respect the users choice of a column
  * never move a tile horizontally without user interaction
* Shift-resizing a tile allows spanning multiple columns
* Improved change detection
* Preventing superfluous layouting requests and order increments
* Added a visual indicator where the item will be placed when dropped
* Fixed a glitch when creating new columns on the right, when dragging
  beyond a newly created column on the right, the visual indicator was
  hidden and pseudo changes where detected.
2024-10-13 18:33:08 -03:00
Thies Lennart Alff
62ef8abe42 Make the Workout Editor's Settings Persistent (#4553)
store the workout editor's chart settings as properties of the
perspective's layout xml.
2024-10-13 17:36:01 -03:00
Alejandro Martinez
217bd3b888 Scale Line Width default values (#4556)
This is a follow up of a discussion in #4550: since configurable
GC_LINEWIDTH is not scaled on use, it is convenient to scale fixed
default values so they adapt to display configuration on first use,
to make easier the initial setup for new users without affecting existing ones.
2024-10-13 16:19:09 -03:00
Thies Lennart Alff
f4d6c2ae40 avoid regression caused by #4337 due to changed order of data series
enum
2024-10-13 13:43:33 -03:00
Alejandro Martinez
6e039be362 Revert "sort the dial window's combobox by name (#4551)"
This reverts commit 47e94000a5.
Fixes #4554
2024-10-13 13:41:49 -03:00
Thies Lennart Alff
47e94000a5 sort the dial window's combobox by name (#4551) 2024-10-12 08:34:35 -03:00
Thies Lennart Alff
61fa77b2c0 respect linewidth setting inside the workout editor realtime plot (#4550) 2024-10-11 19:16:08 -03:00
Alejandro Martinez
51b0c9099a Fix intervals in Compare Pane are 1 sample short
The fake rides created for intervals in Compare Pane don't include
the last sample, so they are 1 sample short and 1 sec intervals
don't appear. WPrime calculations are avoided when the ride has
only 1 sample to avoid crashes, besides it doesn't make any sense.
Fixes #4552
2024-10-11 11:18:44 -03:00
Alejandro Martinez
b62a2d3190 Ride Cache - Don't remove 1 sec intervals
Previous behaviour was weird: 1 sec intervals could be created and displayed,
but they were discarded on activity save.
Also 1 sec intervals are useful for 3 param model fitting.
2024-10-04 10:47:52 -03:00
Alejandro Martinez
c519412311 CP chart - show tooltip for model curve
It is useful to see predicted values.
2024-10-04 10:46:52 -03:00
Alejandro Martinez
412c995a43 Update snapshot builds
Relevant changes from v3.7-DEV2408
5f1598c43 FIT - map fields to standard only for record msg (#4521)
9242f724d Implemented user defined relative date ranges (#4534)
60f903361 Cycling dynamics in train mode (#4337)
1230dc7c6 FIT parser - Lap messages can be first (#4535)
79b523781 Removed wildcard from translatable part (#4545)
ee992ad13 Enable Performance Tests for CV charts
7e7ffd3cb Aerolab - fix imperial units labels (#4542)
[publish binaries]
2024-09-28 17:33:46 -03:00
Alejandro Martinez
5f1598c437 FIT - map fields to standard only for record msg
Fixes #4521
2024-09-28 13:17:46 -03:00
Joachim Kohlhammer
9242f724db Implemented user defined relative date ranges (#4534)
Fixes #4512
* Added additional time range options for user defined seasons
  * Relative start (e.g. 3 months ago)
  * Duration after start / Duration before end (e.g. 2 months)
  * Year to Date end, defining the end as the closest day with todays
    day and month after start
* Refactored Season.h/cpp and SeasonParser.h/cpp for better testability
  * Kept Season, Phase, SeasonEvent, SeasonOffset, SeasonLength in
    Season.h/cpp
  * Moved all UI related classes to SeasonDialogs.h/cpp
  * Renamed SeasonParser.h/cpp to Seasons.h/cpp, moved class Seasons
    there
* Replaced deprecated Qt classes
  * Replaced QRegExp by QRegularExpression in SeasonParser
  * Rewrote parsing seasons.xml to use QXmlStreamReader instead of
    QXmlSimpleReader
* Unittesting
  * Added a simple way to implement and execute (make check) unittests
    in Golden Cheetahs source tree based on Qt Test
    (https://doc.qt.io/qt-6/qttest-index.html), tested on Linux and
    Windows
  * Implemented unittests for classes (mostly before refactoring)
    * Season
    * SeasonParser
    * SeasonOffset
2024-09-27 11:25:03 -03:00
vlcvboyer
60f9033617 Cycling dynamics in train mode (#4337)
* TRAIN - add cycling dynamics
Power sensors which deliver cycling dynamics such as power start angle,
rider position, etc. are supported during hometrainer session.
Goldencheetah requests power sensor capabilities and, when available,
request the sensor to enable them (power phase, pedal position, etc.
and 8Hz transmission mode which is mandatory when accessing those
additional data pages)

* COSMETIC - FIX comment related to gc csv header
The comment was not reflecting the up-to-date file
content as per latest CSV header

* FIX load/slope in CSV
Only target power was recorded in CSV records during hometrainer
session.
When not using ERG mode but slope mode then the data was lost.
This patch take care of training mode to determine which data
is to be recorded.

* TRAIN - flexible gc CSV
Allows to add fields in CSV file recorded during hometrainer session
without impacting a lot of files in the code
Historical first fields are still used to determine taht this file
has been created by GoldenCheetah.
During CSV parsing GoldenCheetah will use CSV header to determine which
fields are part of the file and to locate the column which contain it

* TRAIN - add cycling dynamics to CSV records
during hometrainer session


* CsvRideFile fixes
Free gcSeries and Qt6 compatibility
---------

Co-authored-by: Alejandro Martinez <amtriathlon@gmail.com>
2024-09-26 17:21:50 -03:00
Michal Powalko
76e8a07f59 Add Morpheus M7 heart rate monitor
Adds the heart rate monitor from Morpheus Training System:

https://trainwithmorpheus.com/
https://trainwithmorpheus.com/m7-user-guide/
2024-09-26 17:16:00 -03:00
Alejandro Martinez
1230dc7c68 FIT parser - Lap messages can be first
in the new file structure, like in the companion
test file from a Sigma ROX 11.1
2024-09-21 15:29:02 -03:00
Joachim Kohlhammer
79b523781d Removed wildcard from translatable part
Some translations (de, sv) for filters used in QFileDialgos contained
commas to separate wildcards. As this is in violation with Qts syntax,
the dialogs didn't show any files.

This commit separates the wildcards from the name of the filter so that
only the name can be manipulated by translation. All affected
translations are updated.
2024-09-21 12:10:25 -03:00
Alejandro Martinez
85ee81371a Tidy up previous commit 2024-09-20 10:10:13 -03:00
Alejandro Martinez
ee992ad130 Enable Performance Tests for CV charts
Show them in CV charts and use them for fitting,
just like they work in CP charts.
2024-09-19 21:27:51 -03:00
Alejandro Martinez
7e7ffd3cba Aerolab - fix imperial units labels
Fixes #4542
2024-09-13 19:45:24 -03:00
Alejandro Martinez
7536ecdad2 Update Issue Template
[skip ci]
Let's make it simpler and more explicit in another attempt
to prevent users from creating issues unnecessarily.
2024-09-12 10:29:10 -03:00
Alejandro Martinez
0eddf7ab27 Update Issue Template
[skip ci]
Let's make it simpler and more explicit in another attempt
to prevent users from creating issues unnecessarily.
2024-09-12 10:25:42 -03:00
Alejandro Martinez
c8bc647ab3 Update Issue Template
[skip ci]
Let's make it simpler and more explicit in another attempt
to prevent users from creating issues unnecessarily.
2024-09-12 10:23:12 -03:00
Alejandro Martinez
1f62951b32 Update Issue Template
[skip ci]
Let's make it simpler and more explicit in another attempt
to prevent users from creating issues unnecessarily.
2024-09-12 10:09:35 -03:00
Alejandro Martinez
c0bf155398 Update snapshot builds
This is the same as 2404 dev build with a fix
to import FIT files with Power Phase metrics.
Some XData series were discared before (#4535)
[publish binaries]
2024-09-01 17:05:34 -03:00
Poncho
8ec8f2aaf4 Update FIT SDK definitions to 21.141 2024-08-31 10:34:35 -03:00
Poncho
7971bec15c util/fit/nongarmin.json: add Favero Assioma Pro MX 2024-08-31 10:34:35 -03:00
Alejandro Martinez
ed4d8083db Fix FIT parsing when field scale is not integer
Fixes #4535
2024-08-29 13:33:22 -03:00
Alejandro Martinez
71e3928bc6 Allow GPX files without timestamps as workouts
Fixes #4532
2024-08-18 10:09:15 -03:00
Joachim Kohlhammer
e7e8ef3055 Refined the grammar for filtering workouts (#4531)
* Added support to filter for numbers in the description / title / tags,
  similar to #4529
* Added quoted strings when filtering in description / title / tags:
  * Words can be grouped by putting them in quotes to search for exact
    matches
  * Keywords can be put in quotes to strip their special meaning
  * Examples: "Power Builder 60", "Power" 60
  * Added this also to TrainerDay, keeping the syntax similar
* Adjusted the autocompletion to not propose keywords when within open
  quotes
2024-08-08 18:42:38 -03:00
Alejandro Martinez
e783586ec3 Update Issue Template
[skip ci]
2024-08-07 18:17:51 -03:00
Joachim Kohlhammer
06b0ea5a81 TrainerDay: Setting the geometry of the dialog
Setting the geometriy of the download dialog instead of the minimum
size, thus allowing full resizing.
See https://groups.google.com/g/golden-cheetah-users/c/Xi6d3L1t9QA/m/gWe2Q2uNAQAJ
2024-08-05 16:11:05 -03:00
Joachim Kohlhammer
9ea6949f13 TrainerDay: Allowing numbers in query for workouts
See https://groups.google.com/g/golden-cheetah-users/c/Xi6d3L1t9QA/m/gWe2Q2uNAQAJ
2024-08-05 16:11:05 -03:00
Joachim Kohlhammer
a17d069202 TrainerDay: Set fallback for max workouts per page
See https://github.com/GoldenCheetah/GoldenCheetah/pull/4522#issuecomment-2253027635
2024-08-05 16:11:05 -03:00
Alejandro Martinez
46bf477675 Revert force version string on non-tagged ci builds
[skip ci]
2024-08-04 12:18:03 -03:00
Alejandro Martinez
735ef1ab0c August 2024 Development Build
[publish binaries]
v3.7-DEV2408
2024-08-02 17:29:27 -03:00
jgpallero
772d30c444 Update Spanish translation (#4528) 2024-08-01 09:58:54 -03:00
Alejandro Martinez
1eb07f968e Update translation files
To match current source code for dev build 2408
2024-07-31 21:08:33 -03:00
Joachim Kohlhammer
ee1be4c48e ActivitySidebar: New action "scroll to current" (#4524)
Activity Sidebar: Added a new action to ride navigators context / burger
menu: "Scroll to current activity"
2024-07-31 11:03:29 -03:00
Joachim Kohlhammer
dc38e4a148 Changed the tab-order in the athlete selector (#4523)
* Changed the traversal order in ChooseCyclistDialog when using the
  tab-key:
  * Before this change:
    List -> New -> Open -> Cancel -> Delete -> List
  * After this change:
    List -> New -> Delete -> Cancel -> Open -> List
* Changed the default button (activated when pressing enter):
  * "New" when no athlete is available
  * "Open" when athletes are available
  * Behaviour before this change: Always "New"
* Removed the parameter allowNew from the constructor
  ChooseCyclistDialog::ChooseCyclistDialog as it was only used with
  the value true
2024-07-31 11:01:28 -03:00
Joachim Kohlhammer
0799c56c2e Fixed compilation error with gcc 14 (#4527)
gcc 14 turned some warnings into errors:
https://gcc.gnu.org/gcc-14/porting_to.html#warnings-as-errors

This commit fixes the error in EzUsb-1.0.c and additionally removes
indentation warnings.
2024-07-31 10:59:48 -03:00