Commit Graph

10771 Commits

Author SHA1 Message Date
Alejandro Martinez
3d832ddd2c Version 3.7 - Development Build April 2024
First development build after v3.6 release.
[Publish Binaries]
v3.7-DEV2404
2024-04-13 13:11:42 -03:00
Alejandro Martinez
3395c7a4c9 Fix 3b50dd8 for reentrancy
Changed static variable for a member one,
the problem was apparent when opening a
different athlete besides the initial one.
2024-04-12 12:10:50 -03:00
Alejandro Martinez
3b50dd81a9 RideCache - send less load update notifications
To minimize overhead and avoid crashes on Windows
Fixes #4471
2024-04-10 19:37:35 -03:00
Alejandro Martinez
a1a19d86a0 Update version information and defaults link 2024-04-09 16:39:47 -03:00
Alejandro Martinez
656cdc701d Change Zoomed Elevation Widget Position 2024-04-09 14:21:27 -03:00
Alejandro Martinez
edc3979504 Update FITmetadata.json to FIT SDK 21.133 2024-04-08 16:35:01 -03:00
Peter Kanatselis
424c635a08 Zoomed Elevation widget (#3793) 2024-04-08 14:31:31 -03:00
Joachim Kohlhammer
8718974722 Added a graphical splashscreen (#4468)
* Based on QSplashScreen
* Shrinking the image for low resolutions (screen width <= 1280, < 1024)
* Dynamically adding Golden Cheetahs version and build id
* Showing messages related to the current loading state (including the
  current counter)
* Closing the splashscreen as close as possible to showing the MainWindow
* The image (splashscreen.svg) was created using Inkscape
2024-04-08 11:34:55 -03:00
Joachim Kohlhammer
d0e536306f Added a configurable grayscale filter to RideMapWindow (#4417)
* Added a CSS-grayscale filter to OSM based maps in RideMapWindow
* Added a configuration-option for the intensity level (0..10)
* Configuration is persisted per Tile-Server
* Fixed the visibility of Google/OSM specific settings (previously the
  settings were only correct after selection of the other Maptype)
2024-04-07 08:36:33 -03:00
r.clista
8d0307ed10 Add ignore zeros LTM setting (#2927)
* Add 'ignore zeros' metric detail setting
* Draw gapped curve when ignoreZeros is set
* Hide Ignore Zeros when not available
* Consider special cases in compare mode too
Co-authored-by: Antonius Riha <antoniusriha@gmail.com>
Co-authored-by: Alejandro Martinez <amtriathlon@gmail.com>
2024-04-06 20:51:59 -03:00
Stefan Schake
69b0dd3c2b Zoom & Pan for the AllPlot (#2366)
* Add mouse wheel zoom capability to AllPlot, only when
  ctrl modifier is present to avoid conflict with scrolling,
  similar to Workout Editor.
* Add AllPlot panning by mouse wheel click-n-drag
2024-04-05 14:15:19 -03:00
Joachim Kohlhammer
0a7072e5be ErgFile: Coalescing neighbouring sections (#4462)
* ErgFile: Coalescing neighboring sections

In erg-mode, some ErgFiles have neighboring sections of same power.
This is fine for creators / editors of workouts but gives "wrong"
remaining section times from a athletes perspective, example:
* workout: 10 min @200 watts followed by 5 min @200 watts
* current situation: first counts down from 10:00 to 0, then from
  5:00 to 0
* for an athlete, the countdown should be from 15:00 to 0 instead

This change
* Added global config option to enable coalescing
* If enabled, coalesced sections are used globally
* Added a message to the WorkoutWindow (Properties) if the ErgFile
  contains coalesced sections
* Restricted coalescing to watt based workouts
2024-04-03 20:32:04 -03:00
Joachim Kohlhammer
2ce84cbefd Bound global action to QKeySequence::Quit (#4464)
This change allows to quit Golden Cheetah using a keyboard shortcut.
QKeySequence::Quit is Ctrl+q on Linux and Cmd+q on MacOS but unbound
on Windows, although Alt+F4 still works as usual there. 
See https://doc.qt.io/qt-6/qkeysequence.html#standard-shortcuts

Additionally set Qt::WaitCursor while shutting down Golden Cheetah to
indicate the application is blocked
2024-03-29 20:04:19 -03:00
Alejandro Martinez
fd1eed4ed2 Update German Translation
Contributed by Marcen at the users forum.
2024-03-27 19:03:50 -03:00
jgpallero
de4741ba89 Fix typos in Spanish translation (#4463) 2024-03-27 11:13:01 -03:00
luzpaz
67ac67c509 Fix various typos (#4383)
Found via `codespell -q 3 -S "*.pdf,*.slf,*.smf,*.ts,./deprecated,./contrib" -L ans,ded,nam,nd,parm,parms,serie `
2024-03-25 20:46:26 -03:00
enngq11k
16ccc43d7a Fixed rounding error on loading and saving erg files (#4455) 2024-03-25 15:45:18 -03:00
jeepingben
65deb0f7fa Multiple custom power curves 4460 (#4461)
In cases where this config was loaded and is being saved again, preserve the virtual power definition string.
2024-03-24 21:34:39 -03:00
r.clista
28c9af8754 Workout Editor: Support MRC flavoured qwkcode (#3112)
New action allows to select desired flavor and format is displayed
on top of qwkcode, default file extension is selected accordingly.
2024-03-24 19:49:09 -03:00
mattipee
159804284a Download Strava Routes as Workouts (#3413)
Allows to download Strava routes as GPX files automatically imported as workouts.
To access to private Routes it is necessary to grant read_all permission at authorization
time, existing Strava users need re-authorization.
Downloaded files are named as Strava-Route-id-RouteName.gpx
2024-03-23 18:12:54 -03:00
Joachim Kohlhammer
ce7bbe11ed Replaced the icons in the TrainBottomBar (#4453)
* Replaced the icons in the TrainBottomBar

* Replaced the icons from oxygen (png) by new ones from breeze (svg)
* Added support for dark- and light-mode
* Grouped the icons by function
* Added a hover-effect to the icons
* The new theme fits better into the overall appearance
* Made the separators visible also for dark themes
2024-03-22 18:26:33 -03:00
Alejandro Martinez
ba47ff741a Remove special case for Sidebar background color
Intended for macOS Yosemite it has a bug which doesn't
allow the Sidebar background color be changed on macOS
Sonoma and may be other versions, since the forced color
is now default for macOS and Yosemite has been phased out
long time ago, let's remove this.
Fixes #4459
2024-03-22 18:20:33 -03:00
Alejandro Martinez
bcf8ea7e6a Update macOS build instructions for current master
[skip ci]
Using latest versions.
2024-03-19 19:34:37 -03:00
Alejandro Martinez
e3ad77e9c6 Remove levmar dependency
It is not being used
2024-03-19 16:36:34 -03:00
Alejandro Martinez
2c3df3122d Update snapshot builds
Summary of functional changes from v3.6 release:
ea641a6 FitRideFile - Added support for new message structure (#4456)
642eae9 Deprecate Today's Plan integration
ecdfe0c Deprecate export to KML files
2b5f1d7 Enable Pace metric for Walking
663fd78 Rename fatigue zones for consistency
2afd38c Initialized mode when parsing a zwo-file (#4448)
a0b6b17 Fixed some valgrind findings (#4445)
f174d74 Fix memory leak in SplitActivityWizard
d335ff4 Charts/PfPvPlot (QA): allow vertical scales up to 2500N (#4444)
b3df633 Drag and Drop Images onto a ride
50c305b bluetooth FTMS fix to get device speed  (#4440)
bd75198 Add Context help for Create/Edit User Metrics
809d72d MainWindow gets drag/drop from Overview
46545d6 Don't use Ctrl+C to check for new activities
07d1197 Update German Translation
49cf634 Upgraded Qwt to 6.2 (branch: qwt-multiaxes) (#4427)
ea044a0 Accelerators are QKeySequence not tr strings
31636b1 Update Travis-ci macOS builds to xcode 14.2
c46a99e Update Spanish translation (#4426)
b6aefcc Fix some non-translatable strings and update ts files
6c2a260 DataFilter - isAero
bd4bed1 Upgrade Travis-ci builds to macOS 12.6
6b1dbf4 Added Bluetooth pairing to the device wizard (#4422)
c0c8f57 Update FIT SDK definitions to 21.126 (#4423)
0dd4bf6 Cursor in text workout editor was invisible
6e5b950 Fix crash on metadata config
1dd7faa Interval Metadata
d9abb58 Datafilter xdataseries(), xdataunits() and xdatavalues()
5fb3bbf FIT parser bounds check when adding new series
943deb6 Generic Support for Session and Lap in FIT files
146f9ea Fix Weekly tiles in default Trends layouts
ec0653f ErgFilePlot - realtime curves honor FFWD/RWND and lap F/B
43368ad Mapview: Added interactivity to the Smallplot (#4408)
72de6bb Fix lap data auto-reset in slope workouts
c2f440c Fix broken workout directory check for the first start (#4410)
b095b40 Fix shortcuts not available due to translations
e6ff1a1 Python Chart Editor Cosmetics
00e182c Better user experience when drawing segments on the map (#4403)
f746f73 GPX parser - support ns3 TrackPointExtension name
9ae7521 Upgrade Travis-ci macOS version to macOS 11.6
e8132b1 Upgrade Travis-ci Linux version to Ubuntu 20.04
8f2ba0e Special case Start Date and Time in the cache
110652b Update German translation
fabc344 Add Wahoo PowrLink
f783814 Train library - add path to the list of possible errors
48d91d0 Fix issues after perspective switch (#786)
59a8ca2 Implemented compare mode for RideMapWindow (#786)
733db9c Ignore dot folders on athlete open/backup/delete
951e5f3 Fix crash on invalid perspective filter
[publish binaries]
2024-03-12 18:27:19 -03:00
Alejandro Martinez
ea641a6955 FitRideFile - Added support for new message structure (#4456)
Main change is activity, session and lap messages come
before than record messages so this would be the minimum
change to adapt to the new structure while still supporting
the old one.
Fixes #4451
2024-03-11 16:01:16 -03:00
Joachim Kohlhammer
a1f02e925f Qt6: Fixed flickering MainWindow (#4452)
* Qt6: Fixed flickering MainWindow

When opening a Mapchart for the first time after start of GC, the
MainWindow used to shrink and be maximized again afterwards
automatically, matching the description in
https://forum.qt.io/topic/141398/qwebengineview-closes-reopens-window-when-added-dynamically

By adding and removing a QWebEngineView before showing MainWindow,
this flicker can be avoided

* Added empty HTML to RideMapWindow

This fix avoids flicker for the RideMapWindow in (un-)maximized windows
(only if the chart was already part of the layout on startup)
2024-03-10 09:28:24 -03:00
Alejandro Martinez
642eae96cb Deprecate Today's Plan integration
Fixes #4450
2024-03-02 19:02:30 -03:00
Alejandro Martinez
dbf8877c53 Disable OpenGL for QtChart series
When Qt version is 6.4 or higher since it doesn't work
and it creates "ghost" windows. We can revert this if it
gets fixed, but it happens even using Qt 6.6.2
2024-03-01 18:05:59 -03:00
Alejandro Martinez
ecdfe0c4e2 Deprecate export to KML files
Related to #3983, see discussion there for the rationale.
2024-03-01 15:22:29 -03:00
Alejandro Martinez
2b5f1d749b Enable Pace metric for Walking 2024-02-28 17:12:36 -03:00
Alejandro Martinez
663fd7833a Rename fatigue zones for consistency
Fixes #4434
2024-02-28 16:19:50 -03:00
Joachim Kohlhammer
2afd38cb30 Initialized mode when parsing a zwo-file (#4448)
When zwo workout files are read, mode was not set but the original value
kept. This could lead to wrong perspective switches in Train-mode.
2024-02-20 14:09:57 -03:00
Joachim Kohlhammer
a0b6b17072 Fixed some valgrind findings (#4445)
Fixed some findings of valgrind (a tool to detect memory management bugs):
* Mismatched free() / delete / delete [] (HrPwPlot.cpp)
* Conditional jump or move depends on uninitialised value(s) (other files)
2024-02-09 20:58:35 -03:00
Alejandro Martinez
f174d74dcd Fix memory leak in SplitActivityWizard 2024-02-09 10:06:06 -03:00
Alejandro Martinez
35433b4f65 Add assignment operators to some classes (#3937)
The implicitly defined assignment operator for classes having custom
defined copy constructor is deprecated.
This patch adds explicit assignment operators.
XDataSeries assignment operator now deletes XDataPoints pointed by
datapoints array in the target and creates new ones for the source,
this required a change in the way XDataSeries is used in JSON parser,
which was based on default assignment operator semantics.
2024-02-09 10:02:39 -03:00
Alejandro Martinez
81fc763a4f Revert "Merge branch 'add_assignment_operator' of https://github.com/andreasbuhr/GoldenCheetah into andreasbuhr-add_assignment_operator"
This reverts commit 4e09cd0717, reversing
changes made to 0c4107d78b.
2024-02-05 17:53:06 -03:00
Alejandro Martinez
f2291f4522 Merge branch 'andreasbuhr-add_assignment_operator' 2024-02-04 19:19:03 -03:00
Alejandro Martinez
4e09cd0717 Merge branch 'add_assignment_operator' of https://github.com/andreasbuhr/GoldenCheetah into andreasbuhr-add_assignment_operator 2024-02-04 19:18:42 -03:00
Alejandro Martinez
0c4107d78b Qt6 - Replace deprecated 2 parameters qChecksum 2024-02-04 17:44:27 -03:00
Gabriel M. Beddingfield
d335ff425c Charts/PfPvPlot (QA): allow vertical scales up to 2500N (#4444)
The vertical axis on the QA plots (pedal force, Newtons) was stuck at
600N, even if the ride data exceeded it. The code that calculated the
max force for the activity was apperently trying to throw out outliers
(defined as "more than 2500N" -- 562 lbf)... but when finding the "max
force" the value was seems to have accidentally been typed in as
"255". This created logically dead code:

    maxAEPF = 600;
    ...
    if (aepf < 255 && aepf > maxAEPF) maxAEPF = aepf;

Thus, the max is never updated.

This patch changes the filter value from 255 to 2500 (as is indicated
to be the intent elsewhere in the source file).
2024-02-04 17:04:52 -03:00
Alejandro Martinez
76922846f8 Update snapshot builds
Functional changes from last snapshot:
b3df63378 Drag and Drop Images onto a ride
50c305b7f bluetooth FTMS fix to get device speed  (#4440)
bd751988e Add Context help for Create/Edit User Metrics
809d72d00 MainWindow gets drag/drop from Overview
46545d6e7 Don't use Ctrl+C to check for new activities
07d1197c6 Update German Translation

There are also lot of changes related to QT6 refactor but,
in principle, they should not affect snapshot builds using Qt5.15

Previous changes from v3.6 release
ee39d19adf
[publish binaries]
2024-02-03 11:27:36 -03:00
Joachim Kohlhammer
425db688da Qt6: Fixed a crash related to drag & drop (#4443)
* Qt6: Fixed a crash related to drag & drop

Qt6 changed the signature of the method mimeData in QTreeWidget and
QTableWidget from
Q...::mimeData(const QList<...>) const
to
Q...::mimeData(const QList<...>&) const
therefore ignoring local implementations and falling back to the
base-implementation with the default-serialization.
This PR supports both Qt5 and Qt6 by a selecting the matching signature
based on the Qt-version. Additionally the specifier override was
added to Q...::mimeData, Q...::mimeTypes and some drag&drop-related
event-handlers to prevent this kind of error for future versions.

* Fixed drag&drop for seasons

In Qt6, QList::count() returns q qsizetype instead of QT5s int,
therefore casting the number of seasons to int when serializing for
drag & drop
2024-02-02 20:17:32 -03:00
Alejandro Martinez
94d4bf7b9d QTextStream::readAll is too slow in Qt6 for rideDB
Using the QString from QByteArray constructor and
QFile::readAll is way faster on Qt6.x and similar on Qt5.15
2024-01-30 23:00:45 -03:00
Mark Liversedge
b3df633787 Drag and Drop Images onto a ride
.. drag and dropping images into a ride will store them
   in the media folder and add the filename to the "Images"
   metadata tag which contains a list separated by newlines.

   The metadata does not include the full path since we may
   change the path in future releases
2024-01-30 15:50:33 +00:00
Odald
50c305b7f2 bluetooth FTMS fix: if condition was always false, so no speed was reported... (#4440)
!FTMS_MORE_DATA == 0
flags & 0  == 0
-> if statement is always false
2024-01-29 10:17:16 -03:00
Alejandro Martinez
bd751988e3 Add Context help for Create/Edit User Metrics
Also updated to Favourites instead of Intervals/etc.
2024-01-27 17:19:32 -03:00
Mark Liversedge
809d72d000 MainWindow gets drag/drop from Overview
.. the chartspace widget used by the athlete view and
   overview chart now passes drag and drop events up to
   mainwindow so they can be processed
2024-01-27 10:27:39 +00:00
Alejandro Martinez
9119fe05e0 Fix crash when program is empty using Qt6
Failed QString[i] assert "i>=0 && i<size()"
Reported by Marcen at the users forum.
2024-01-25 17:31:42 -03:00
Alejandro Martinez
66ee605998 Recognize Joachim Kohlhammer
For his contributions with new features, bug fixes
and QT6 migration.
https://github.com/GoldenCheetah/GoldenCheetah/commits?author=thejockl
2024-01-25 09:13:53 -03:00