Commit Graph

11290 Commits

Author SHA1 Message Date
Joachim Kohlhammer
19ad8699d3 Fix disappearing userchart content when changing the type (#4848)
Removing the explicit copy-constructor and operator= from
GenericSeriesInfo introduced by #4841.
Instead setting user1-4 explicitly to nullptr when duplicating a series.
[publish binaries]
2026-03-21 07:49:38 -03:00
Alejandro Martinez
7437e82a5f Change Planned to isPlanned in DataFilter
Since isPlanned is more consistent with other functions s.t.
isRun, isSwim, etc. Planned function was introduced by #4670
but it is intended to be used starting with v3.8 Planning features.
2026-03-18 10:29:39 -03:00
Joachim Kohlhammer
961456ff19 Calendar: New option to hide planned activities from summary (#4843)
* Options:
  * Include all planned activities
  * Include no planned activities
  * Include upcoming planned activities
  * Include upcoming or missed planned activities
* Tooltip shows if an activity is skipped in the summary
* Added new filter type to Specification
[publish binaries]
2026-03-14 19:36:39 -03:00
Joachim Kohlhammer
5a13b7d6a4 Userchart: New action to duplicate a series (#4841)
On User Charts
2026-03-14 18:33:03 -03:00
Joachim Kohlhammer
5b10ab1288 Using real path (/activities / /planned) for batch export (#4840)
Otherwise export of planned activities fail.
2026-03-14 14:40:45 -03:00
Joachim Kohlhammer
d7167b1cbf Plan activity: Allow to enter Workout Code (#4842)
Similar to "Log activity".
2026-03-14 12:38:42 -03:00
Joachim Kohlhammer
b5a85f313b Addressing crashes reported on the users list (#4839)
See https://groups.google.com/g/golden-cheetah-users/c/tn5TirOOVdk/m/MKYMpsdMAQAJ
Plus a crash in PlanAdherenceWindow
2026-03-13 16:16:05 -03:00
Alejandro Martinez
12d67dd79f Revert "Combine view indexes and view relevance definitions into single enumerated type (#4795)" (#4838)
This reverts commits b716c547cd and 9087c0df99.
It is a problematic non-functional refactoring which doesn't account
for the impact on external representation of the changed
index, the first problem detected was fixed in the complementary
commit but it also breaks chart import/export and likely other
functionality without a clear benefit.
I should not have merged it, sorry for the inconvenience.
[publish binaries]
2026-03-12 15:40:08 -03:00
Joachim Kohlhammer
bbf4722ef2 New chart: Plan Adherence (#4836)
* New chart to visualize the adherence to the current plan
* Allowing retrospective analysis of behavior: Shifted, missed,
  completed, unplanned activities
* Grouping is always on a monthly basis
[publish binaries]
2026-03-09 16:34:14 -03:00
Joachim Kohlhammer
d813585927 Crashes related to seasons (#4834)
* Added safeguards
* Blocking signals during construction
* DateRange no longer inherits from QObject since signal 'changed' was nowhere connected in the codebase
* Safeguards when dragging seasons; preventing phases from being dragged
* Preventing the use of dangling pointers when creating a new season
[publish binaries]
2026-03-07 11:02:36 -03:00
Joachim Kohlhammer
1d37396334 Using QObject as baseclass for ICalendar (#4837)
As ICalendar is not a real UI class and is never added to any layout, it
overlays the menubar, preventing opening the first two entries. Using
QObject instead of QWidget as superclass fixes this issue
2026-03-07 09:46:46 -03:00
Alejandro Martinez
1d61643a0b Activity Chart - TCore can be derived from HR
Use of TCore from XDate was introduce by #4207, but when it is not
available it is still derived from HR, so we need to enable Show TCore
in both cases.
Fixes #4832
2026-03-04 19:44:38 -03:00
Paul Johnson
b716c547cd Revert to previous startup view configuration values (#4830)
Fixes issues caused by #4795
[publish binaries]
2026-02-26 16:39:59 -03:00
Paul Johnson
2834b29167 Startup tiled view display fix (#4829) 2026-02-26 16:38:34 -03:00
Alejandro Martinez
58c5f75c7a AppVeyor - remove dmg upload to temp.sh
It may timeout and we don’t need that in master, it can be added to PRs when necessary.
2026-02-16 09:02:00 -05:00
Magnus Gille
3d54fb799c Clean up the AppVeyor Mac build and package OpenSSL (#4825)
So it's easier to install new packages without system Python
[publish binaries]
2026-02-11 22:51:31 -03:00
Alejandro Martinez
f502c1ab80 AppVeyor - move embedded Python to after_build.sh
Like for the Linux case it is not necessary for building,
only to create the Windows installer
2026-02-10 14:20:41 -03:00
Paul Johnson
6acfbabdd3 Fix the WebEgine data path warning (#4824) 2026-02-10 13:36:26 -03:00
Alejandro Martinez
950fe84922 Update snapshot builds
Changes from v3.8-DEV2601
3b5ec90 Fix bug in RideMetadata
9087c0d Combine view indexes and view relevance definitions into single enumerated type (#4795)
a0fe8af Planned activities: Keeping track of original date (#4822)
31d8708 Fix default Plan layout
a124799 AppVeyor - Refactor Windows build scripts (#4820)
d8b10fe Cloud Service creates unnecessary GlobalContext instances (#4823)
40db2bc Standardize how the config is created for releases. (#4784)
6ab9950 AppVeyor - run lupdate on Windows
a36f527 Copy & Paste for planned activities on calendar (#4819)
dfd932d Fit file import - don't crash on malformed files
2eaf1bc Upgrade Python, Pandas, and SIP versions (#4747)
b00d3b7 Update German translation
4db88fa Update translation files
663526c Choose cyclist default to no avatar (#4814)
f6d4f6a Using "actual activity" instead of "completed activity" (#4813)
253b220 Add Zoomed Elevation Widget to Graphical Meters For simulation workouts without GPS data
b0d16d1 Add reconnect attempt timer after BT40Device unexpected disconnect (#4812)
c85da47 Fix typo in Nonzero Average Power description
07e673d Selectable show/hide planned activities (#4811)
1a4dd1d Updated Time Range context menu (#4808)
a00e276 Dialog to build filter queries for similar activities (#4805)
749a21d Train mode: Improved readability for ErgFilePlot (#4806)
3e8c6fe Updating power values of planned activities with linked workouts (#4799)
1c69798 Fix Edit menu disappearing when changing languages on macOS (#4797)
[publish binaries]
2026-02-07 17:24:52 -03:00
Alejandro Martinez
3b5ec9043d Fix bug in RideMetadata
Detected in #4769 and introduced by 43b8ed7
2026-02-07 09:49:52 -03:00
Paul Johnson
9087c0df99 Combine view indexes and view relevance definitions into single enumerated type (#4795) 2026-02-06 20:57:56 -03:00
Joachim Kohlhammer
a0fe8afa32 Planned activities: Keeping track of original date (#4822)
* Planned activities: Keeping track of original date

* Adding original date to planned activities
* Resetting the original date when copying planned activities
* Showing original planned date in calendar tooltips
* Ensuring metrics get recalculated when moving, shifting, copying
  activities
* Ensuring all tags are written when moving or shifting activities
2026-02-06 11:46:02 -03:00
Alejandro Martinez
31d8708376 Fix default Plan layout
[skip ci]
Expected PMC (TriScore) was duplicated
replacing Expected PMC (Coggan)
2026-02-05 17:48:01 -03:00
Alejandro Martinez
5b71f4ff00 AppVeyor - Fix errors in Windows installer Python
The errors were introduced by #4820
2026-02-05 10:39:30 -03:00
Alejandro Martinez
ab5df0c9d8 AppVeyor - Add missing dlls to Windows installer
Necessary for SSL support
Continuation of 2eaf1bccc1
2026-02-05 02:28:18 -03:00
Alejandro Martinez
a1247996d4 AppVeyor - Refactor Windows build scripts (#4820)
To cleanup appveyor.yml and to match macOS/Linux scripts:
- Move install code to appveyor/windows/install.ps1
- Move after_build code to appveyor/windows/after_build.ps1
Continuation of 40db2bc8ec
2026-02-04 21:05:37 -03:00
Alejandro Martinez
b01f144476 AppVeyor - Add missing dll to Windows installer
Required to use pandas
2026-02-04 15:58:39 -03:00
Paul Johnson
d8b10fe9f4 Cloud Service creates unnecessary GlobalContext instances (#4823)
Changes GlobalContext to hide the constructor so this doesn't occur again since it is a singleton.
2026-02-03 17:02:19 -03:00
Magnus Gille
40db2bc8ec Standardize how the config is created for releases. (#4784)
Build configuration for Windows was moved from appveyor.yml to appveyor/windows/before_build.ps1
and based on gcconfig.pri.in to match the other platforms, Python config is taken from PATH too.
We could do the same with install and after_build too.
Co-authored-by: Alejandro Martinez <amtriathlon@gmail.com>
2026-02-01 17:16:44 -03:00
Alejandro Martinez
6ab99506ad AppVeyor - run lupdate on Windows
For Linux and macOS this was part of before_build.sh
Also remove now unused site-packages from cache section
2026-01-30 21:19:20 -03:00
Joachim Kohlhammer
a36f52760b Copy & Paste for planned activities on calendar (#4819)
* Planned activities can be copied
* Pasting:
  * Month view: Target time is the same time as the source activity
  * Day + week view: Time at mouse pointer is used as target time
  * If the slot at target time is not long enough to take the full
    activity, the closest free slot is used
  * If no free slot could be found, the activity is pasted at a free
    start time (h:00, h:15, h:30, h:45)
  * Night hours (midnight until start hour + end hour until midnight)
    are considered blocked
2026-01-30 18:21:47 -03:00
Alejandro Martinez
dfd932d921 Fit file import - don't crash on malformed files
Fixes #4818
2026-01-30 11:16:07 -03:00
Alejandro Martinez
f8bd9a936d Update Snapshot builds
Embedded Python (3.11) and SIP (6.15.1) upgrade
with updated modules: numpy, pandas, plotly, etc.
[publish binaries]
2026-01-29 15:59:10 -03:00
Alejandro Martinez
025ffa9c0e Fix Windows installer script from previous commit 2026-01-29 15:40:32 -03:00
Magnus Gille
2eaf1bccc1 Upgrade Python, Pandas, and SIP versions (#4747)
Python is moved to 3.11 and packaged in Appveyor. This version is a good spot in the lifecycle.

Packaged SIP at the current version, I needed this to get around some of the reparsing that was required.
Eventually this will break but make -f Makefile.SIP likely creates a new build, we should do this at
every "major" release. Unfroze the rest so it can move freely.

Add iterator support to GoldenCheetah container data types in Python. This avoids the Pandas regression that held us back.

Added code signing for MacOS as this was a requirement to run my local binaries and unfortunately needed to rewrite the build.

This puts us at a good jumping off spot for building a universal Mac binary but there's a lot of work left.
2026-01-29 12:11:45 -03:00
Alejandro Martinez
b00d3b7091 Update German translation
[skip ci]
Contributed by Adrian at the users forum
2026-01-29 09:38:05 -03:00
Alejandro Martinez
73b82180e5 Update snaphot builds
Changes from v3.8-DEV2601
4db88fa Update translation files
663526c Choose cyclist default to no avatar (#4814)
f6d4f6a Using "actual activity" instead of "completed activity" (#4813)
253b220 Add Zoomed Elevation Widget to Graphical Meters For simulation workouts without GPS data
b0d16d1 Add reconnect attempt timer after BT40Device unexpected disconnect (#4812)
c85da47 Fix typo in Nonzero Average Power description
07e673d Selectable show/hide planned activities (#4811)
1a4dd1d Updated Time Range context menu (#4808)
686f431 Revert to Qt 6.5.3 for macOS builds
a00e276 Dialog to build filter queries for similar activities (#4805)
749a21d Train mode: Improved readability for ErgFilePlot (#4806)
3e8c6fe Updating power values of planned activities with linked workouts (#4799)
1c69798 Fix Edit menu disappearing when changing languages on macOS (#4797)
[publish binaries]
2026-01-24 15:50:47 -03:00
Alejandro Martinez
4db88fa286 Update translation files 2026-01-24 15:46:18 -03:00
Paul Johnson
663526cd49 Choose cyclist default to no avatar (#4814)
Minor change, but it does make selecting an athlete with no avatar easier.
2026-01-24 15:44:43 -03:00
Joachim Kohlhammer
f6d4f6a6cb Using "actual activity" instead of "completed activity" (#4813)
To match  #4811
2026-01-24 07:22:25 -03:00
Alejandro Martinez
253b2206ce Add Zoomed Elevation Widget to Graphical Meters
[skip ci]
For simulation workouts without GPS data
2026-01-23 19:53:19 -03:00
Anže Blagus
b0d16d163e Add reconnect attempt timer after BT40Device unexpected disconnect (#4812)
Add reconnect attempt timer every 5s after BT40Device unexpected disconnect
2026-01-23 13:59:52 -03:00
Alejandro Martinez
c85da479ca Fix typo in Nonzero Average Power description
[skip ci]
2026-01-23 10:39:21 -03:00
Paul Johnson
07e673d5d5 Selectable show/hide planned activities (#4811) 2026-01-22 17:49:55 -03:00
Joachim Kohlhammer
1a4dd1d10f Updated Time Range context menu (#4808)
* Centralized the menu creation
* Grouping of actions
* Showing that a phase is always directly assigned to a season
* Harmonized case
* Added ellipsis to all actions opening new dialogs
* Keeping ellipsis out of translatable string to keep as many
  current translations as possible
2026-01-18 11:46:25 -03:00
Alejandro Martinez
3c3927df1b Update snapshot builds
Main changes from v3.8-DEV2601:
686f4310f Revert to Qt 6.5.3 for macOS builds
a00e27638 Dialog to build filter queries for similar activities (#4805)
749a21d9b Train mode: Improved readability for ErgFilePlot (#4806)
3e8c6fe04 Updating power values of planned activities with linked workouts (#4799)
1c6979846 Fix Edit menu disappearing when changing languages on macOS (#4797)
[publish binaries]
2026-01-17 18:31:12 -03:00
Alejandro Martinez
9bf7a3cbb8 Revert "Key the CloudDB cache by hostname and add a button to clear the cache (#4794)"
This reverts commit b25b3e3c61.

While this is useful for development and testing we don't need it
for release versions and it invalidates existing caches causing
additional traffic on CloudDB servers.
2026-01-17 18:26:15 -03:00
Alejandro Martinez
686f4310f9 Revert to Qt 6.5.3 for macOS builds
A user reported having severe performance issues on macOS Tahoe
with v3.8-DEV2601 not present when using v3.7-sp1
Besides 6.5.3 is LTS and 6.6.1 is deprecated, so lets play safe
until we can upgrade to 6.8.3
2026-01-17 18:24:32 -03:00
Joachim Kohlhammer
a00e27638f Dialog to build filter queries for similar activities (#4805)
* list all (non-zero) fields and metrics
* filter list by field / metric name
* select an operator per field (ignore, equals, contains, larger than, ...)
* available in the context menus of activity- and calendar view
2026-01-17 14:36:34 -03:00
jgpallero
7a8f329a84 Update Spanish translation (#4807) 2026-01-17 14:35:45 -03:00