Golden Cheetah V3.7 calendar

1,762 views
Skip to first unread message

Thomas Lohse

unread,
May 1, 2025, 2:51:41 AMMay 1
to golden-cheetah-users
Hi, I would like to use in Golden Cheetah V3.7 the calendar which was available in V3.5 for having an overview on the training sessions (name, duration, ...).


Is there any way to do so? Many thanks in advance.

Ale Martinez

unread,
May 1, 2025, 7:56:45 AMMay 1
to golden-cheetah-users
In v3.7 Calendar is available as a Trends view chart so it can be added as usual:  https://github.com/GoldenCheetah/GoldenCheetah/wiki/UG_Charts-Bar_General-handling, in default layout it is included in a Diary perspective for new athletes or after reset layout.

marco...@gmail.com

unread,
May 1, 2025, 11:47:30 AMMay 1
to golden-che...@googlegroups.com

Hi,

 

I have added Calendar Chart as a Trend Chart but even before that there was already a “Calendar menu?” on the Activity but it has no effect.

What’s that for?

 

Thank you,

 

--
_______________________________________________
Golden-Cheetah-Users mailing list
golden-che...@googlegroups.com
http://groups.google.com/group/golden-cheetah-users?hl=en
---
You received this message because you are subscribed to the Google Groups "golden-cheetah-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golden-cheetah-u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/golden-cheetah-users/32a54243-f590-4df4-a569-4b39a6513853n%40googlegroups.com.


Não contém vírus.www.avast.com
image001.png

Ale Martinez

unread,
May 1, 2025, 11:59:01 AMMay 1
to golden-cheetah-users
El jueves, 1 de mayo de 2025 a la(s) 12:47:30 p.m. UTC-3, marco...@gmail.com escribió:

Hi,

 

I have added Calendar Chart as a Trend Chart but even before that there was already a “Calendar menu?” on the Activity but it has no effect.

What’s that for?

When all else fails RTFM

Thomas Lohse

unread,
May 1, 2025, 1:04:48 PMMay 1
to golden-cheetah-users
Perfect, thanks, Ale.

ZajtiM

unread,
May 13, 2025, 11:27:23 PMMay 13
to golden-cheetah-users
I just added Trends Calendar and there might be a problem with it. Btw, nothing critical, just a bit weird behavior.
Example: I select current month (May), with navigation button at the top. Then i open some other tab (overview for example). Then when i click back on Calendar tab, it shows April. It should be showing current month by default, or am i wrong?
I tried it few times. Every time it switches to April. I have plenty of workouts in May, so i don't know why is switching to April. Even if it would work in a way to show month with latest workout.
https://github.com/GoldenCheetah/GoldenCheetah/wiki/UG_ChartTypes_Trends#calendar

And here is also text from Wiki, which i can update. Is also nothing critical, but can be confusing for new users.
"The data fields shown as calendar text are those where the check-box Diary is checked."
There is no "Dairy" in data fields. It is Summary.

ZajtiM

unread,
May 13, 2025, 11:57:24 PMMay 13
to golden-cheetah-users
On Wednesday, 14 May 2025 at 05:27:23 UTC+2 ZajtiM wrote:
I just added Trends Calendar and there might be a problem with it. Btw, nothing critical, just a bit weird behavior.
Example: I select current month (May), with navigation button at the top. Then i open some other tab (overview for example). Then when i click back on Calendar tab, it shows April. It should be showing current month by default, or am i wrong?
I tried it few times. Every time it switches to April. I have plenty of workouts in May, so i don't know why is switching to April. Even if it would work in a way to show month with latest workout.
https://github.com/GoldenCheetah/GoldenCheetah/wiki/UG_ChartTypes_Trends#calendar


I noticed that you don't even have to switch tabs. I select May and if i click on Calendar tab (which is already displayed) it switches to April.

Build date: Apr 5 2025 21:05:12
Build id: 5005
Version: V3.7
DB Schema: 160
Metrics: 382
OS: Linux Mint 21.1
OpenGL:
UI: dpi scale (0) font size (-1)

QT: 6.8.3


And here is also text from Wiki, which i can update. Is also nothing critical, but can be confusing for new users.
"The data fields shown as calendar text are those where the check-box Diary is checked."
There is no "Dairy" in data fields. It is Summary.

I already updated wiki, since image for "data field"  settings shows "Summary" and not "Dairy".
https://github.com/GoldenCheetah/GoldenCheetah/wiki/UG_Preferences_Data%20Fields#fields

Ale Martinez

unread,
May 14, 2025, 8:48:25 AMMay 14
to golden-cheetah-users

Ale Martinez

unread,
May 14, 2025, 10:27:43 AMMay 14
to golden-cheetah-users
El miércoles, 14 de mayo de 2025 a la(s) 12:57:24 a.m. UTC-3, ZajtiM escribió:
On Wednesday, 14 May 2025 at 05:27:23 UTC+2 ZajtiM wrote:
I just added Trends Calendar and there might be a problem with it. Btw, nothing critical, just a bit weird behavior.
Example: I select current month (May), with navigation button at the top. Then i open some other tab (overview for example). Then when i click back on Calendar tab, it shows April. It should be showing current month by default, or am i wrong?
I tried it few times. Every time it switches to April. I have plenty of workouts in May, so i don't know why is switching to April. Even if it would work in a way to show month with latest workout.
https://github.com/GoldenCheetah/GoldenCheetah/wiki/UG_ChartTypes_Trends#calendar


I noticed that you don't even have to switch tabs. I select May and if i click on Calendar tab (which is already displayed) it switches to April.

The likely reason is you have an April activity selected on Activities view, that activity should appear with a different color on the calendar and when you go back to Calendar the month with the selected activity will be displayed, no matter what month you navigate before if you didn't select an activity on that month.

This behavior is kind of weird and it doesn't play nice with the new navigation model (back & forward) either, but the reality is Calendar was deprecated in v3.6 since it would be replaced for a more modern/nice/functional one in https://github.com/GoldenCheetah/GoldenCheetah/issues/3329 and I just rescued it from oblivion for lack of a better replacement.

I think this should be the priority for any new development, even without the other more ambitious planning features a new calendar view is something I would like we have.
Ale.

ZajtiM

unread,
May 14, 2025, 1:15:22 PMMay 14
to golden-cheetah-users
On Wednesday, 14 May 2025 at 16:27:43 UTC+2 Ale Martinez wrote:
The likely reason is you have an April activity selected on Activities view, that activity should appear with a different color on the calendar and when you go back to Calendar the month with the selected activity will be displayed, no matter what month you navigate before if you didn't select an activity on that month.

Hi Ale. Yep, that was it. Didn't even noticed it.
 
This behavior is kind of weird and it doesn't play nice with the new navigation model (back & forward) either, but the reality is Calendar was deprecated in v3.6 since it would be replaced for a more modern/nice/functional one in https://github.com/GoldenCheetah/GoldenCheetah/issues/3329 and I just rescued it from oblivion for lack of a better replacement.

I think this should be the priority for any new development, even without the other more ambitious planning features a new calendar view is something I would like we have.
Ale.

Is it any specific calendar / planner you like (and other devs / users)?

I always had Polar products, so i always used only Polar. I do have Strava account, but i don't use calendar at all.
Here is how Polar Flow calendar looks like and how it "connects" between month->week->day.

Monthly view. If you click on last square (in red frame) it opens Weekly view. Add button (in yellow frame) shows option to either add "Training target" or "Training result" (manually). But as you can see there is also Add button in each Day. You could open Daily view if you click on day at the same level where number of the day is displayed.
Polar_Flow_Month_view.png

Weekly view. Same as in monthly view, if you click on square (in red frame) it opens Daily view.
Polar_Flow_Week_view.png

Daily view. Today i did Orthostatic test at 4:23am, but calendar "starts" at 8:00am.
Polar_Flow_Day_view.png

And this is Training (or Activity) Summary. It is always displayed underneath each calendar view. In this case shows current week Training Summary. So it depends on what you are looking. For Monthly view it will obviously show Monthly Training Summary and for Daily view Daily Summary
Polar_Flow_Week_Summary.png

This is just to show some options / ideas how calendar / planner could look like. I posted this, to maybe get the ball rolling. I like Polar Flow mainly because it is fairly simple and you get enough basic info / data in calendar itself. I never used Garmin connect or any other calendar planner.

Ale Martinez

unread,
May 14, 2025, 6:37:23 PMMay 14
to golden-cheetah-users
El miércoles, 14 de mayo de 2025 a la(s) 2:15:22 p.m. UTC-3, ZajtiM escribió:
On Wednesday, 14 May 2025 at 16:27:43 UTC+2 Ale Martinez wrote:
The likely reason is you have an April activity selected on Activities view, that activity should appear with a different color on the calendar and when you go back to Calendar the month with the selected activity will be displayed, no matter what month you navigate before if you didn't select an activity on that month.

Hi Ale. Yep, that was it. Didn't even noticed it.

I pushed a fix for this weird behavior, it is included in latest snapshot builds: https://github.com/GoldenCheetah/GoldenCheetah/releases/tag/snapshot
 
This behavior is kind of weird and it doesn't play nice with the new navigation model (back & forward) either, but the reality is Calendar was deprecated in v3.6 since it would be replaced for a more modern/nice/functional one in https://github.com/GoldenCheetah/GoldenCheetah/issues/3329 and I just rescued it from oblivion for lack of a better replacement.

I think this should be the priority for any new development, even without the other more ambitious planning features a new calendar view is something I would like we have.
Ale.

Is it any specific calendar / planner you like (and other devs / users)?

I always had Polar products, so i always used only Polar. I do have Strava account, but i don't use calendar at all.
Here is how Polar Flow calendar looks like and how it "connects" between month->week->day.

Monthly view. If you click on last square (in red frame) it opens Weekly view. Add button (in yellow frame) shows option to either add "Training target" or "Training result" (manually). But as you can see there is also Add button in each Day. You could open Daily view if you click on day at the same level where number of the day is displayed.
Polar_Flow_Month_view.png

Weekly view. Same as in monthly view, if you click on square (in red frame) it opens Daily view.
Polar_Flow_Week_view.png

Daily view. Today i did Orthostatic test at 4:23am, but calendar "starts" at 8:00am.
Polar_Flow_Day_view.png

And this is Training (or Activity) Summary. It is always displayed underneath each calendar view. In this case shows current week Training Summary. So it depends on what you are looking. For Monthly view it will obviously show Monthly Training Summary and for Daily view Daily Summary
Polar_Flow_Week_Summary.png

This is just to show some options / ideas how calendar / planner could look like. I posted this, to maybe get the ball rolling. I like Polar Flow mainly because it is fairly simple and you get enough basic info / data in calendar itself. I never used Garmin connect or any other calendar planner.

I was a Polar user several years ago and I liked their approach to calendar view: simple and functional, I still miss it today. 
Message has been deleted

ZajtiM

unread,
May 15, 2025, 2:45:42 PMMay 15
to golden-cheetah-users
Few question and ideas that might be important to start calendar / planner with good foundation.

1. Where should calendar be "located"? "Plan" icon on sidebar?
2. QStackedWidget as main widget for calendar? For switching between Month, Week or Day view.
3. a) SQLite DB for storing future events, planned workouts, etc.? trainDB already exists. Or should it be separate DB file for Calendar / planner?
3. b) Should it be saved in a file in the users folder (in the config directory) instead of DB?
4. Icons for sports and tests? I like simple small icons in Polar calendar. This way you can immediately see what is what.
5. When adding future workouts, it could give you option to select from workouts you already have stored in "Workout and VideoSync Library" or option to create new one with Workout Creator. I assume other external planners would eventually be included as well, for importing whole training plans.

P.S.: I included screenshot of Training summary (in previous post) which is underneath each calendar view in Polar Flow. But i assume we don't need it in GC. That's why we have "activities" and "trends" in sidebar.

This is it from me for now.

Joachim Kohlhammer

unread,
May 17, 2025, 11:01:32 AMMay 17
to golden-cheetah-users
As I am very much interested in this feature, both as user and possible developer, let me share my brief thoughts. Headlines (#) are topics, the bullets (*) my current ideas:

# Purpose
## Which usecases does the calendar support?
* Give an overview of past activities on a timeline
* Review the training process, support a retrospective
* Review plan vs reality
* Sync in other calendars to identify blockers like family or business events that prevent training (future, support planning)
* Show training plan (future)


# UI
## Which calendar views should be available?
* Daily
* Weekly
* Monthly
* Yearly
* Season (similar to yearly)
* Agenda (future, after planning is available)

## Layout
* I like the screenshots provided by Mitja and would use them as templates
* Scroll vs scale:
  * Horizontally: Scale, avoid scrolling
  * Vertically: Scale to fully utilize vertical space, if more space is required: scroll

## Integrate into views (Trends or other)
* Chart in Trends view (same as current calendar)


# Behaviour
## Navigation
* Select and jump to activity view
* Navigate between calendar views
* Jump to today
* Jump to day / week / month of currently selected activity
* Next / Prev Year, Month, Week, Day
* Show / hide seasons, phases, events

## Actions
* Create seasons, phases, events
* Create activities

## How to deal with filters / searches (Gray out or hide)
* Hide
* Current calendar: show all activities, use different text color for filtered activities


# Data
## Celltypes
* Activity
* Season / Phase / Event: Markers (icon + name)
* Daily summary
* Weekly summary
* Monthly summary
* Yearly summary
* Season summary
* Day: Container of activities, seasons, phases, events, daily summary
* Week, Month: Container of days

## Which data fields should be configurable per celltype
* Activity: Select datafields, similar to activities list in activity view
* Season / Phase / Event: Show name only
* Summaries: Use configuration from Activity


Any additional thoughts, additional topics or ideas are welcome. Lets use this to align on a basic concept before we go into alignment on technical details and implementation.

ZajtiM

unread,
May 17, 2025, 1:28:27 PMMay 17
to golden-cheetah-users
Great list of features / ideas Joachim. Don't know how many developers here use Polar Flow (if any). So if needed i can create short animated gifs, which can showcase view transitions and other features in Calendar and Training Summary which is under calendar. Just let me know. Is inserting images better than adding them as attachment?

#UI (calendar views) - I think Daily, Weekly and Monthly should be there by default / starting point. But for Yearly and Season it depends how or what would be displayed. I'm not a Pro (athlete) or a coach and i understand that they might want Yearly and Season. But it might get very "busy" fairly quickly.

Definitely agree with what you said about #Layout -> Scroll vs scale.

## Navigation
* Jump to day / week / month of currently selected activity
Would that be one of the options on context menu in activity view? Because current calendar had this feature. To show month based on currently selected activity. But if you're new user it can be confusing why calendar keeps "switching" to specific month, etc.
Something like:
Open / show (context menu button with sub menu)
  -> day
  -> week
  -> month

Ale Martinez

unread,
May 17, 2025, 5:14:57 PMMay 17
to golden-cheetah-users
Great, I remember some users requesting the ability to add daily/weekly notes independent of activities, besides we have daily measures which could be amenable to display (and ideally edit) in the calendar view.

WRT to filters an alternative is for them to work like in other charts: ignore the activities not passing the filter.

WRT planned activities there is a partially implemented feature (https://github.com/search?q=repo%3AGoldenCheetah%2FGoldenCheetah+%22planned%22&type=code) intended to represent planned activities as segregated regular activities, it is incomplete and it will likely require to generalize the format but it has the advantage of filters and metrics working mostly unchanged. 

I agree initially it could be a Trends chart, until we have other planning features to move it to the Plan view, For reference I reopened an Issue with some related ideas (https://github.com/GoldenCheetah/GoldenCheetah/issues/2084) and linked there Mark's blog with his view of the planning process and coaches interviews summary.

Cheers, Ale.

Joachim Kohlhammer

unread,
May 18, 2025, 8:44:24 AMMay 18
to golden-cheetah-users
Ale Martinez schrieb am Samstag, 17. Mai 2025 um 23:14:57 UTC+2:
WRT planned activities there is a partially implemented feature (https://github.com/search?q=repo%3AGoldenCheetah%2FGoldenCheetah+%22planned%22&type=code) intended to represent planned activities as segregated regular activities, it is incomplete and it will likely require to generalize the format but it has the advantage of filters and metrics working mostly unchanged. 

This looks very promising, I will check it out. For the initial implementation of the calendar it is IMHO optional.
 
I agree initially it could be a Trends chart, until we have other planning features to move it to the Plan view, For reference I reopened an Issue with some related ideas (https://github.com/GoldenCheetah/GoldenCheetah/issues/2084) and linked there Mark's blog with his view of the planning process and coaches interviews summary.

Very cool, will also have a look at this

 Here is my list updated with the feedback from Ale and Mitja (see markers updated / new):

# Purpose
## Which usecases does the calendar support?
* Give an overview of past activities on a timeline
* Review the training process, support a retrospective
* Sync in other calendars to identify blockers like family or business events that prevent training (future, support planning)
* (new) Diary: Annotate days / weeks independent of activities
* (new) Show planned activities (future, requires extra implementation https://github.com/search?q=repo%3AGoldenCheetah%2FGoldenCheetah+%22planned%22&type=code)
* (updated) Review plan vs reality (future)
* (new) Support planning (see https://github.com/GoldenCheetah/GoldenCheetah/issues/2084)



# UI
## Which calendar views should be available?
* (updated) Daily, including annotation capabilities
* Weekly
* Monthly
* (updated) Yearly (future)
* (updated) Season (future, similar to yearly)

* Agenda (future, after planning is available)

## Layout
* (updated) use the screenshots provided by Mitja as templates

* Scroll vs scale:
  * Horizontally: Scale, avoid scrolling
  * Vertically: Scale to fully utilize vertical space, if more space is required: scroll

## Integrate into views (Trends or other)
* (update) Chart in Trends view (same as current calendar) until Plan view is available
* (new / alternative) Create very simple Plan view to contain the calendar (prevent migration effort)



# Behaviour
## Navigation
* Select and jump to activity view
* Navigate between calendar views
* Jump to today
* Jump to day / week / month of currently selected activity
* Next / Prev Year, Month, Week, Day
* Show / hide seasons, phases, events

## Actions
* Create seasons, phases, events
* Create activities
* (new) Move planned activities using drag & drop (future)


## How to deal with filters / searches (Gray out or hide)
* (updated) Hide, similar to the other charts

* Current calendar: show all activities, use different text color for filtered activities


# Data
## Celltypes
* Activity
* (new) Planned activities (future)

* Season / Phase / Event: Markers (icon + name)
* Daily summary
* Weekly summary
* Monthly summary
* Yearly summary
* Season summary
* (updated) Day: Container for activities, planned activities (future), seasons, phases, events, daily summary
* Week, Month: Container for days


## Which data fields should be configurable per celltype
* Activity: Select datafields, similar to activities list in activity view
* (new) Planned activity: Select datafields, similar to activities list in activity view (future)

* Season / Phase / Event: Show name only
* Summaries: Use configuration from Activity

Cheers
 Joachim

Joachim Kohlhammer

unread,
May 29, 2025, 9:10:38 AMMay 29
to golden-cheetah-users
Ale Martinez schrieb am Samstag, 17. Mai 2025 um 23:14:57 UTC+2:

WRT planned activities there is a partially implemented feature (https://github.com/search?q=repo%3AGoldenCheetah%2FGoldenCheetah+%22planned%22&type=code) intended to represent planned activities as segregated regular activities, it is incomplete and it will likely require to generalize the format but it has the advantage of filters and metrics working mostly unchanged. 

Ale, can you please share your thoughts where additional implementation for the planned activities is expected? As this probably will affect the calendar, I would like to be at least  aware of the scope. What I could think of is being able to bind indoor workouts to planned activities.
My understanding of the three levels per metric are (I will use ATL as example, however this is valid for all):
  • (Actual) ATL includes all actual (i.e. not planned) activities. This can even include future activities
  • Planned ATL includes all planned activities, past, present and future
  • Expected ATL includes all planned activities from the future
My (simple) expectation differs from the current implementation around the expected ATL which starts today with a value of 0 instead of building upon the actual ATL:
Bildschirmfoto_20250529_115419.png
When removing the restriction for past activities on the expected ATL, the graph differs from the actual ATL:
Bildschirmfoto_20250529_141616.png
Since I could not find documentation on this in the wiki, I would be happy and grateful if I could get help to better understand the concepts.

Cheers
 Joachim

Ale Martinez

unread,
May 29, 2025, 12:40:42 PMMay 29
to golden-cheetah-users
Hi Joachim, I am not aware of any documentation other than the commits from 10 years ago: https://github.com/search?q=repo%3AGoldenCheetah%2FGoldenCheetah+%22planned%22+author%3Agrauser&type=commits

My interpretation, which may not match the code, would be:

Activities:
  • planned activities could occur anytime and they could be linked to a workout or have an embedded workout
  • real activities only in the past (I know future activities are allowed now, but this is likely due to not having planned ones)
Metrics:
  • normal metrics operate only on real activities, just like now
  • planned metrics operate only on planned activities
  • expected metrics operate on real activities until today and planned activities for the future, so they represent what you can expect following the plan given the current state, which may be different from originally planned.
Cheers, Ale.

Joachim Kohlhammer

unread,
May 29, 2025, 1:44:05 PMMay 29
to golden-cheetah-users
Thanks Ale, it seems we have matching views. I will look further into it

Joachim Kohlhammer

unread,
May 30, 2025, 7:26:26 AMMay 30
to golden-cheetah-users
After calculating the expected load same as actual and planned, the graphs look good to me (see screenshots below). For today's stress I have made the following assumption: If there is an actual activity with stress, this stress is used otherwise the planned stress which might also be 0. Reasoning is that I don't want to use both planned and actual stress on the same day as it would pollute the prediction.
The original implementation uses 0 for all load values before today, mine currently the same as the actual load. I would prefer my version but am open to the zeroed variant.

Additionally I did some code deduplication for the calculation. The PR is https://github.com/GoldenCheetah/GoldenCheetah/pull/4651

I am aware that this thread is about a future calendar, but consider this as a precondition. Before starting the actual calendar implementation, I would like to take the following steps:
  • Highlight planned activities in the activities list (I expect this to help me a lot when creating and deleting activities during development)
  • Rework the dialog to manually create activities (planned and actual, see Activity > Manual Entry...)
    • Simplify the current dialog
    • Allow planned activities (when date is in the future)
    • Allow to plan Train-workouts (this might include format changes to the activity-files)
As always, feedback is welcome!

Cheers,
 Joachim
Bildschirmfoto_20250530_115024.png

Bildschirmfoto_20250530_115100.png

Ale Martinez

unread,
May 30, 2025, 4:29:50 PMMay 30
to golden-cheetah-users
El viernes, 30 de mayo de 2025 a la(s) 8:26:26 a.m. UTC-3, tiefgara...@gmail.com escribió:
After calculating the expected load same as actual and planned, the graphs look good to me (see screenshots below). For today's stress I have made the following assumption: If there is an actual activity with stress, this stress is used otherwise the planned stress which might also be 0. Reasoning is that I don't want to use both planned and actual stress on the same day as it would pollute the prediction.
The original implementation uses 0 for all load values before today, mine currently the same as the actual load. I would prefer my version but am open to the zeroed variant.

Additionally I did some code deduplication for the calculation. The PR is https://github.com/GoldenCheetah/GoldenCheetah/pull/4651

I agree with the choices, the PR is merged, thank you!
 
I am aware that this thread is about a future calendar, but consider this as a precondition. Before starting the actual calendar implementation, I would like to take the following steps:
  • Highlight planned activities in the activities list (I expect this to help me a lot when creating and deleting activities during development)
I don't remember if we have a planned filter, but we need one. Anyway, I think displaying planned activities in Activities view by default could be confusing, an alternative at least for the moment could be to keep Activities view for realized activities and to re-enable the inactive Diary view with the full activity list including planned, so we can play with the new functionality minimizing the impact on what is currently in use.
  • Rework the dialog to manually create activities (planned and actual, see Activity > Manual Entry...)
    • Simplify the current dialog
    • Allow planned activities (when date is in the future)
    • Allow to plan Train-workouts (this might include format changes to the activity-files)
Agree.

Joachim Kohlhammer

unread,
May 30, 2025, 5:29:23 PMMay 30
to golden-cheetah-users
Ale Martinez schrieb am Freitag, 30. Mai 2025 um 22:29:50 UTC+2:
El viernes, 30 de mayo de 2025 a la(s) 8:26:26 a.m. UTC-3, tiefgara...@gmail.com escribió:
After calculating the expected load same as actual and planned, the graphs look good to me (see screenshots below). For today's stress I have made the following assumption: If there is an actual activity with stress, this stress is used otherwise the planned stress which might also be 0. Reasoning is that I don't want to use both planned and actual stress on the same day as it would pollute the prediction.
The original implementation uses 0 for all load values before today, mine currently the same as the actual load. I would prefer my version but am open to the zeroed variant.

Additionally I did some code deduplication for the calculation. The PR is https://github.com/GoldenCheetah/GoldenCheetah/pull/4651

I agree with the choices, the PR is merged, thank you!

Thanks!
 
 
I am aware that this thread is about a future calendar, but consider this as a precondition. Before starting the actual calendar implementation, I would like to take the following steps:
  • Highlight planned activities in the activities list (I expect this to help me a lot when creating and deleting activities during development)
I don't remember if we have a planned filter, but we need one. Anyway, I think displaying planned activities in Activities view by default could be confusing, an alternative at least for the moment could be to keep Activities view for realized activities and to re-enable the inactive Diary view with the full activity list including planned, so we can play with the new functionality minimizing the impact on what is currently in use.

Agree, it feels horrible having the planned activities in the Activities View. I will keep this change as temporary development helper for myself, the Diary / Calendar must be the real solution. After it is available, we can think about how to hide the planned activities in the list as well as the tiles with sparkline.
  • Rework the dialog to manually create activities (planned and actual, see Activity > Manual Entry...)
    • Simplify the current dialog
    • Allow planned activities (when date is in the future)
    • Allow to plan Train-workouts (this might include format changes to the activity-files)
Agree.

As soon as I have an idea I will come back here

Joachim Kohlhammer

unread,
Jun 8, 2025, 5:22:43 AMJun 8
to golden-cheetah-users
Since I use Golden Cheetah only for cycling, it took some time understanding the details of the "Manual Entry..."-dialog. I would like to make it easier understandable by transforming it into a wizard-style dialog (2 steps) and show only the input fields applicable to the current sport. Details are in the attached sheet.
Feedback is welcome, as soon as we come to an agreement I will start with the implementation.
manual-activity.xlsx

Ale Martinez

unread,
Jun 9, 2025, 8:02:39 PMJun 9
to golden-cheetah-users
El domingo, 8 de junio de 2025 a la(s) 6:22:43 a.m. UTC-3, tiefgara...@gmail.com escribió:
Since I use Golden Cheetah only for cycling, it took some time understanding the details of the "Manual Entry..."-dialog. I would like to make it easier understandable by transforming it into a wizard-style dialog (2 steps) and show only the input fields applicable to the current sport. Details are in the attached sheet.
Feedback is welcome, as soon as we come to an agreement I will start with the implementation.

Hi Joachim, agree with your design. Personally I would prefer to remove Daniels Points and to enable TriScore for remaining sports.

Cheers, Ale.

Ale Martinez

unread,
Jun 10, 2025, 2:39:09 AMJun 10
to golden-cheetah-users
PS: I think we should include RPE in manual workouts too. 

Joachim Kohlhammer

unread,
Jun 10, 2025, 4:54:18 PMJun 10
to golden-cheetah-users
Perfect - I will start with the implementation. Regarding RPE I have doubts as the dialog should stay small IMHO - and a very nice tile exists for setting the RPE outside the creation dialog. For the same reason I left out the Notes as they can be set very comfortably using the new edit-function. 

Joachim Kohlhammer

unread,
Jun 14, 2025, 1:52:41 PMJun 14
to golden-cheetah-users
See https://github.com/GoldenCheetah/GoldenCheetah/pull/4656 for my initial implementation. Testing is needed, especially on the estimations and imperial vs metric units. For the UI I am open to improvements, especially some explanatory texts and icons are missing. If anybody is aware of a good and free icon font (bike, run, multisports, ...), please let me know. This would also help designing the calendar.

For the planned workouts I want to try a similar approach, but lets finish this dialog first.

Ale Martinez

unread,
Jun 14, 2025, 7:54:53 PMJun 14
to golden-cheetah-users
El sábado, 14 de junio de 2025 a la(s) 2:52:41 p.m. UTC-3, tiefgara...@gmail.com escribió:
See https://github.com/GoldenCheetah/GoldenCheetah/pull/4656 for my initial implementation. Testing is needed, especially on the estimations and imperial vs metric units. For the UI I am open to improvements, especially some explanatory texts and icons are missing. If anybody is aware of a good and free icon font (bike, run, multisports, ...), please let me know. This would also help designing the calendar.

Thank you, Joachim, it looks very nice!

For users willing to collaborate with testing and not able or willing to build from source, binaries are generated automatically for each Pull Request, they are available expanding "All checks have passed", clicking on AppVeyor link, the Operating System of your choice and the Artifacts tab, there is a daily quota so you may need to try the following day.

BTW, if you want to have an opinion about GC features, the moment is now -when they are in active development- waiting for others to do the work until release may look convenient but it is too late to influence development and even to report bugs and to expect a rapid response.

Cheers, Ale.
 

Joachim Kohlhammer

unread,
Jun 15, 2025, 3:55:08 PMJun 15
to golden-cheetah-users
Ale Martinez schrieb am Sonntag, 15. Juni 2025 um 01:54:53 UTC+2:

Thank you, Joachim, it looks very nice!
 
Great! I found some symbols in a fork of Material Symbols (https://github.com/Templarian/MaterialDesign-SVG), licensed under Apache 2. IMHO this is compatible with Golden Cheetahs GPL-license.
The icons adapt to the currently set sport:
Bildschirmfoto_20250615_214317.pngBildschirmfoto_20250615_214354.pngBildschirmfoto_20250615_214513.png

As soon as we can agree on the dialog, I will add initial translations using DeepL

Joachim Kohlhammer

unread,
Jun 20, 2025, 11:47:05 AMJun 20
to golden-cheetah-users
Added machine generated translations for all languages using the latin alphabet, completing the PR from my perspective. Next step: Create a similar dialog for planned workouts

Ale Martinez

unread,
Jun 22, 2025, 6:05:19 PMJun 22
to golden-cheetah-users
Hi Joachim, my experience in the last weeks using it for Gym workouts since they are the only ones I don't record using Garmin is: the new format is nicer, the wizard structure is more clear even when I was used to the old dialog, but I really miss to be able to enter Notes there.
I understand Notes can be added afterwards but location depends on Overview (or Data) config, and that argument applies to all metadata and metrics overrides now.
I think Notes are a key piece of information which we should stimulate users to enter -other being RPE- and the wizard format solves the space problem nicely. Not to have them at this point is a backward step, IMHO.
Cheers, Ale.

Joachim Kohlhammer

unread,
Jun 23, 2025, 1:34:43 PMJun 23
to golden-cheetah-users
Added Notes and RPE:
Bildschirmfoto_20250623_193307.png

Ale Martinez

unread,
Jun 23, 2025, 6:35:10 PMJun 23
to golden-cheetah-users
Thank you, Joachim, the PR is now merged in master.

Joachim Kohlhammer

unread,
Jun 26, 2025, 3:39:18 PMJun 26
to golden-cheetah-users
The attached table summarizes my thoughts on how to design a similar wizard for adding planned activities. It includes the option to select workouts from Train-view, a very important usecase for me. Because of this additional selection, the field-distribution needs to be slightly different to the current wizard. As i want to avoid code duplication, I created a harmonized setup that needs small changes to the recently created wizard but should allow reuse. Lets discuss which way to go - or maybe a completely different solution.
As an extra I want to add a summary page as last step.
The selection of workouts (Page P2 for planned activities) might look something like Bildschirmfoto_20250626_201832.png
planActivity.xlsx

Ale Martinez

unread,
Jun 30, 2025, 3:42:20 PMJun 30
to golden-cheetah-users
Hi Joachim, I agre with all the above.

WRT existing Objective field likely it was introduced to store Goal when importing WKO+ files IIRC, afterwards it was also used to import the name when downloading activities from SportTracks and other sources. I think it is a good idea to use it for the goal of the planned activity (may be initialized to the name of the linked workout?) and it could be part of manual activities too, Notes can be used for details/instructions/recommendations, etc.

Cheers, Ale.

Joachim Kohlhammer

unread,
Jul 1, 2025, 2:24:53 PMJul 1
to golden-cheetah-users
Ale Martinez schrieb am Montag, 30. Juni 2025 um 21:42:20 UTC+2:
Hi Joachim, I agre with all the above.

Perfect, the implementation is mostly done, will hopefully be able to create a PR tomorrow or the day after.
 
WRT existing Objective field likely it was introduced to store Goal when importing WKO+ files IIRC, afterwards it was also used to import the name when downloading activities from SportTracks and other sources. I think it is a good idea to use it for the goal of the planned activity (may be initialized to the name of the linked workout?) and it could be part of manual activities too, Notes can be used for details/instructions/recommendations, etc.

My assumption on Notes and Objective is that Notes are retrospective, Objective prospective instructions. Technically it would be no issue to add Objective to completed activities but personally I would stick to Notes only.
Setting the workout title to the Objective is logically difficult as its field appears prior to the workout selection, so I would have to enrich its content. When going back and forth even multiple times. My alternative is to write the workouts title to the Route-tag which I personally already use for all my workouts, indoor and outdoor.
For the filename (primary key in the TrainDB) I use the new tag WorkoutFilename. Is there a way / migration to ensure that it is created automatically?
An additional discussion could be on the default time for planned workouts. I use 16:00 as default - with a warning message if an activity (planned or completed) would be overwritten by the new one. 16:00 to avoid odd numbers later in the calendar.
Bildschirmfoto_20250701_200752.png
Bildschirmfoto_20250701_202314.png
 
Cheers, Joachim

Joachim Kohlhammer

unread,
Jul 2, 2025, 1:59:19 PMJul 2
to golden-cheetah-users
Created the PR https://github.com/GoldenCheetah/GoldenCheetah/pull/4666
This time I did not update the translations, will wait until the whole feature settles (i.e. is merged and integrated into the upcoming calendar)

Cheers, Joachim

Ale Martinez

unread,
Jul 3, 2025, 5:37:35 PMJul 3
to golden-cheetah-users
El martes, 1 de julio de 2025 a la(s) 3:24:53 p.m. UTC-3, tiefgara...@gmail.com escribió:
My assumption on Notes and Objective is that Notes are retrospective, Objective prospective instructions. Technically it would be no issue to add Objective to completed activities but personally I would stick to Notes only.

Existing Objective field is used mostly as a short indication of the goal -or primary benefit- of the activity, and Notes for details, at least is my interpretation and the way they are filled from different downloaders. I think that could be carried to planned activities too since they are mutually exclusive, but its your call since you are implementing this.

Joachim Kohlhammer

unread,
Jul 4, 2025, 6:54:40 AMJul 4
to golden-cheetah-users
Ale Martinez schrieb am Donnerstag, 3. Juli 2025 um 23:37:35 UTC+2:

Existing Objective field is used mostly as a short indication of the goal -or primary benefit- of the activity, and Notes for details, at least is my interpretation and the way they are filled from different downloaders. I think that could be carried to planned activities too since they are mutually exclusive, but its your call since you are implementing this.

I had my assumptions but changed the implementation to match your very much appreciated knowledge and experience :) 

Ale Martinez

unread,
Jul 8, 2025, 9:18:36 AMJul 8
to golden-cheetah-users
Thank you, Joachim, I triggered a snapshot updated to see if that way we have some users feedback.

Poncho

unread,
Jul 8, 2025, 9:42:22 AMJul 8
to golden-che...@googlegroups.com
On 7/8/25 15:18, Ale Martinez wrote:
> Thank you, Joachim, I triggered a snapshot updated to see if that way we
> have some users feedback.

I did some quick testing and couldn't find anything buggy.

What I've noticed though:
* the planned workout wasn't reflected in the PMC chart (PMC Coggan)
* I use a custom metric as a score and custom metrics aren't calculated
for future workouts

Thanks to Joachim and Ale for their work :)
Score.gmetric

Ale Martinez

unread,
Jul 9, 2025, 1:28:27 PMJul 9
to golden-cheetah-users
El martes, 8 de julio de 2025 a la(s) 10:42:22 a.m. UTC-3, Poncho escribió:
On 7/8/25 15:18, Ale Martinez wrote:
> Thank you, Joachim, I triggered a snapshot updated to see if that way we
> have some users feedback.

I did some quick testing and couldn't find anything buggy.

What I've noticed though:
* the planned workout wasn't reflected in the PMC chart (PMC Coggan)

You need to change the PMC to use Coggan Expected metrics to include planned workouts 

* I use a custom metric as a score and custom metrics aren't calculated
for future workouts

{

relevant { Data contains "P" || Data contains "H"; }

value { BikeStress ?: TRIMP_Zonal_Points; }

}

 
Your relevant method excludes activities without Power and Heart Rate data and for the moment we are not generating synthetic data, only overrides.
An alternative could be to use something like: relevant { BikeStress > 0 || TRIMP_Zonal_Points > 0; }

Poncho

unread,
Jul 10, 2025, 2:30:49 AMJul 10
to golden-che...@googlegroups.com
On 7/9/25 19:28, Ale Martinez wrote:
> Your relevant method excludes activities without Power and Heart Rate data
> and for the moment we are not generating synthetic data, only overrides.
> An alternative could be to use something like: relevant { BikeStress > 0 ||
> TRIMP_Zonal_Points > 0; }

Makes sense, thanks. Haven't thought about that. My PMC chart is already
based on my custom "score" metric. So changing the relevant line as you
suggested resolved both of my mentioned issues.

Thanks :)

Joachim Kohlhammer

unread,
Jul 11, 2025, 10:02:03 AMJul 11
to golden-cheetah-users
Thanks for publishing and testing! Happy to see no issues yet :)

In the meantime, I had a look at Mitjas Screenshots and tried implementing a similar monthly view in a playground project outside Golden Cheetah (for the Training-View-Workout-Search I took a similar approach). My plan is to integrate it later into the currently inactive Diary-View - but have questions that need to be discussed:

Season, phases and events are Golden Cheetahs means to define timeranges and points in time. Seasons are the toplevel-structure phases and events can be attached (or created within) a season.
 
Topic #1 is how to visualize seasons in the calendar. The options I see are:
  1. Use a date ranges sidebar similar to trends view
  2. Add a combo box (marked yellow below) to select any season
  3. Ignore the selected season and show an icon in each cell indicating the seasons this day belongs to
My favorite is option 2 as I expect the calendar to require every pixel available on the screen.
Option 3 would probably confuse the users and give no real benefit.

Topic #2: How should phases and events be visualized
  1. Add them to the cells just like an activity
  2. Add phases- and events-icons to each cell in the top row next to the day with a tooltip showing all names of these elements
My favorite is option 1 to keep the UI as uniform as possible.

Topic #3: Notes. Ale, you mentioned that you have been asked to allow notes on days independent of activities. The calendars daily view is IMHO the ideal place to create and edit them. For the monthly view I would like to add a small icon in the cells first row as an indicator with a tooltip but without the option to edit the note

Bildschirmfoto_20250711_151455-1.png

To avoid confusion: This prototype has very limited functionality (showing activities, moving planned activities using drag & drop, switching months, ...) and will be stopped after it is integrated into Golden Cheetah. If there is demand, I can publish it on Github (have to clean some rough edges though).

Cheers,  Joachim

ZajtiM

unread,
Jul 11, 2025, 6:11:16 PMJul 11
to golden-cheetah-users
Great work Joachim! I really like how it looks. As i said in my post with Polar Flow screenshots. If you need some extra screenshots let me know.

I attached two GIFs. One for Add "Training result" and one for "Training target". Maybe it can give you some extra idea. If you feel like you don't have enough work already. ;)
And here you can see how "Season planner" looks like (Polar support page). Might be worth checking out how "Season timeline" looks like.

If you publish it, i can help with testing. I use dark style, if it needs to be tested with dark style as well. For icons, etc..

Cheers, Mitja
Training_Target_for_plan.gif
Training_Results_for_plan.gif

Ale Martinez

unread,
Jul 11, 2025, 7:54:10 PMJul 11
to golden-cheetah-users
El viernes, 11 de julio de 2025 a la(s) 7:11:16 p.m. UTC-3, ZajtiM escribió:
Great work Joachim! I really like how it looks. 

Agree, it looks great! 

Mark Liversedge

unread,
Jul 12, 2025, 4:45:26 AMJul 12
to golden-cheetah-users
Nice!

The key will be how uploading an activity is merged into the planned activity- i.e. if you plan a workout for Sunday and then perform it, the result should be a single activity that has the target and actuals in the same activity.

So need to:
* match completed activity that are added (download/import etc) to the planned activity
* have some way of letting the user decide if that is right (e.g. 2 a day, change of plans)
* new metrics to track compliance to plan (incl. planned activities that never got performed)

Not saying its needed from the first commit- but need to think it thru before you start - the first 2 are non-trivial from a UX perspective

Cheers
Mark

Ale Martinez

unread,
Jul 12, 2025, 11:27:46 AMJul 12
to golden-cheetah-users
El sábado, 12 de julio de 2025 a la(s) 5:45:26 a.m. UTC-3, liver...@gmail.com escribió:
Nice!

The key will be how uploading an activity is merged into the planned activity- i.e. if you plan a workout for Sunday and then perform it, the result should be a single activity that has the target and actuals in the same activity.

So need to:
* match completed activity that are added (download/import etc) to the planned activity
* have some way of letting the user decide if that is right (e.g. 2 a day, change of plans)
* new metrics to track compliance to plan (incl. planned activities that never got performed)

Not saying its needed from the first commit- but need to think it thru before you start - the first 2 are non-trivial from a UX perspective

Hi Mark, I think we could keep planned and actual as separate activities but bi-directionally linked, with the linking process happening automatically at import time, considering how insistent are users about auto-import...
The algorithm could be simply to link the closest planned activity with matching sports in the same day at import time and let the user to change that afterwards for special cases, ideally via the GUI.
So we would have:
- Planned activities happening in the future which are created unlinked.
- Planned activities happening in the past which are linked to the actual activity on import or continue unlinked when not realized
- Actual activities unlinked when a matching planning activity is not found at import time (unplanned or exception for the algorithm)
- Actual activities linked to the corresponding planned activity.
Just my .02
Cheers, Ale.

Mark Liversedge

unread,
Jul 14, 2025, 6:46:15 AMJul 14
to golden-cheetah-users
Linking activities introduces a different set of challenges- how to override/change that and then supporting delete and rename (change date time).
But honestly, getting a calendar and planned activities up and running is way more exciting and should be the priority.

I don't have a massively strong opinion on either approach

Mark

Ale Martinez

unread,
Jul 14, 2025, 6:11:00 PMJul 14
to golden-cheetah-users
El lunes, 14 de julio de 2025 a la(s) 7:46:15 a.m. UTC-3, liver...@gmail.com escribió:
Linking activities introduces a different set of challenges- how to override/change that and then supporting delete and rename (change date time).
But honestly, getting a calendar and planned activities up and running is way more exciting and should be the priority.

Fully agree, lets keep this thread focused on the calendar. 
 
I don't have a massively strong opinion on either approach

I created a GitHub issue about the planned property and we can continue there.

Joachim Kohlhammer

unread,
Jul 15, 2025, 12:12:36 PMJul 15
to golden-cheetah-users
For all who want to have a look at my prototype, you can find it now on github: https://github.com/thejockl/calendar
As soon as I we agree, I would start with the integration.

Ale Martinez schrieb am Dienstag, 15. Juli 2025 um 00:11:00 UTC+2:

I created a GitHub issue about the planned property and we can continue there.

This is why I added the menu-entry "Mark as completed" to the (fake-) context menu, Lets use your ticket for further discussions. 

Ale Martinez

unread,
Jul 16, 2025, 12:47:49 PMJul 16
to golden-cheetah-users
El martes, 15 de julio de 2025 a la(s) 1:12:36 p.m. UTC-3, tiefgara...@gmail.com escribió:
For all who want to have a look at my prototype, you can find it now on github: https://github.com/thejockl/calendar
As soon as I we agree, I would start with the integration.

Hi Joachim, I played with the prototype and it is perfect for me.

WRT phases/seasons I like how Google Calendar shows multiday events simulation a continuous line covering all the days involved, but I have no idea how much complex is to implement that.

The integration would be as a GoldenCheetah chart?

Cheers, Ale.

ZajtiM

unread,
Jul 16, 2025, 2:45:34 PMJul 16
to golden-cheetah-users
Hi Joachim. Looks great.

There is one thing that i would change. It looks a bit odd at the moment. At least to me. Not sure what others think.
I would move "July 2025" between buttons to change year or month.
<<  <   July 2025   >   >>

Joachim Kohlhammer

unread,
Jul 16, 2025, 4:44:55 PMJul 16
to golden-cheetah-users
Thanks for the feedback, Ale and Mitja! I would probably start the integration as a new chart for trends, but as a target I see it more as part of the plan-view. But as this view will be completely new, this needs discussion. Therefore my plan is starting small.

For the multi-day-phases, this would be a major change as I decided to take the easy path and use a QTableWidget for the calendar. Combining colspans with per-day-activities is probably not easy to achieve.

On the topic of the date-navigation buttons: I also don't like their appearance at the moment, I just did a quick and dirty look-alike to the screenshots. Lets make this nice while integrating it in Golden Cheetah.

Semi-off-topic: I used the new "Plan activity"-wizard today in real life and added 10 workouts. It felt horrible to always select the new date. Therefore I would like to add a kind of quick-train-mode-plan-feature to the calendar (yes, at a later point in time) that allows drag & drop from a workout-list to the calendar.
As a quick workaround a small change also could help (plan only): Preselect the last planned activities date +1 day or today if none exists? That would have made it much quicker to use.

Cheers, Joachim

Ale Martinez

unread,
Jul 16, 2025, 7:32:03 PMJul 16
to golden-cheetah-users
El miércoles, 16 de julio de 2025 a la(s) 5:44:55 p.m. UTC-3, tiefgara...@gmail.com escribió:
Thanks for the feedback, Ale and Mitja! I would probably start the integration as a new chart for trends, but as a target I see it more as part of the plan-view. But as this view will be completely new, this needs discussion. Therefore my plan is starting small.

Agree
 
For the multi-day-phases, this would be a major change as I decided to take the easy path and use a QTableWidget for the calendar. Combining colspans with per-day-activities is probably not easy to achieve.

Fair enough, it is not a priority now.
 
Semi-off-topic: I used the new "Plan activity"-wizard today in real life and added 10 workouts. It felt horrible to always select the new date. Therefore I would like to add a kind of quick-train-mode-plan-feature to the calendar (yes, at a later point in time) that allows drag & drop from a workout-list to the calendar.
As a quick workaround a small change also could help (plan only): Preselect the last planned activities date +1 day or today if none exists? That would have made it much quicker to use.

What about a Plan activity context menu option for days on the calendar to start the Plan activity wizard with the selected date preset? 

Joachim Kohlhammer

unread,
Jul 27, 2025, 4:45:23 PMJul 27
to golden-cheetah-users
To collect feedback while the full functionality is not yet there, I created a Draft PR that integrates the new calendar with Golden Cheetah as a new Trends-Chart: https://github.com/GoldenCheetah/GoldenCheetah/pull/4679
It shows all phases, events, activities (planned and completed) while greying out days out of the current season. Filters and searches are respected. Single planned activities can be moved via drag & drop (no icon yet added to the mouse pointer) or shifted left or right by adding / removing a restday - but beware, this is currently painfully slow. The right-click menu is context aware. The data shown for the activities is for the moment hardcoded (top line: Route, then Workout Code, then Sport, then <undefined>, bottom line duration). The weekly summary is just there, counting planned and completed activities. The header must be prettified. Planned activities use orange icons and thin text. Currently the calendar always starts on mondays.

Cheers
 Joachim

Bildschirmfoto_20250727_223921.png


Ale Martinez

unread,
Jul 27, 2025, 6:39:22 PMJul 27
to golden-cheetah-users
Great, Joachim, thank you! I will be using this in the next weeks to plan for Xterra WC paired with Expected PMC.
Some recommendations for users adding planned activities:
1)  Edit all your Trends perspectives adding a !Planned filter to avoid Planned activities distort your charts,  see https://github.com/GoldenCheetah/GoldenCheetah/wiki/UG_Tool-Bar_Functions#manage-perspectives)
2) Add the new Planning Calendar to a new Planning perspective in Trends without the above filter, here you can add an Expected PMC which will show normal PMC curves until Today and expected values according Planned activities for the futures, examples for cycling (Coggan) and triathlon (TriScore) available for download from: https://github.com/GoldenCheetah/GoldenCheetah/tree/master/test/charts
Cheers, Ale.

Ale Martinez

unread,
Jul 27, 2025, 6:59:50 PMJul 27
to golden-cheetah-users
PS: I like how it looks before to start planning!
Screenshot 2025-07-27 195531.png 
Perspective file to import:
Trends Planning.gchartset

ZajtiM

unread,
Jul 29, 2025, 9:53:41 AMJul 29
to golden-cheetah-users
Hi Joachim.

I really like how calendar looks like. I use dark theme in GC and everything looks great. Planned text might look a bit thin, but it is visible.
Here is one idea for text / row for planned activities. Text could be normal (not thin), and then use orange background for whole row only for planned activities. That might also make it even more transparent which are planned and which are completed. Some users might also have orange color which is used for planned activities (or similar) in their Data Fileds -> Colour Keywords. So they would be "forced" to change it to something else, just tdistinguish the planned from the completed.

Not sure if i missed this anywhere in your posts. But ERG activities use Torch icon by default, unless you manually change sport to Bike. Since it is GC - ERG activity might be good to have bike icon (if possible). Didn't look at the code, so i'm not sure if there is a way to "detect" ERG activities in Planned Calendar.

Cheers,
Mitja

Ale Martinez

unread,
Jul 29, 2025, 12:32:35 PMJul 29
to golden-cheetah-users
El martes, 29 de julio de 2025 a la(s) 10:53:41 a.m. UTC-3, ZajtiM escribió:
Not sure if i missed this anywhere in your posts. But ERG activities use Torch icon by default, unless you manually change sport to Bike. Since it is GC - ERG activity might be good to have bike icon (if possible). Didn't look at the code, so i'm not sure if there is a way to "detect" ERG activities in Planned Calendar.

A way to fix this is to use the sport field of RideItem as proposed in https://github.com/GoldenCheetah/GoldenCheetah/pull/4679#discussion_r2234160931 

Joachim Kohlhammer

unread,
Jul 29, 2025, 2:13:07 PMJul 29
to golden-cheetah-users
ZajtiM schrieb am Dienstag, 29. Juli 2025 um 15:53:41 UTC+2:
I really like how calendar looks like. I use dark theme in GC and everything looks great. Planned text might look a bit thin, but it is visible.
Here is one idea for text / row for planned activities. Text could be normal (not thin), and then use orange background for whole row only for planned activities. That might also make it even more transparent which are planned and which are completed. Some users might also have orange color which is used for planned activities (or similar) in their Data Fileds -> Colour Keywords. So they would be "forced" to change it to something else, just tdistinguish the planned from the completed.

Fully agree on the thin text, but consider a full orange row as too massive. I will play with this, my current idea is using the cell color with an orange border around the icon. 
 
Not sure if i missed this anywhere in your posts. But ERG activities use Torch icon by default, unless you manually change sport to Bike. Since it is GC - ERG activity might be good to have bike icon (if possible). Didn't look at the code, so i'm not sure if there is a way to "detect" ERG activities in Planned Calendar.

Can you please test again? The latest commit contains Ales suggestion.

Other topics I'd like to discuss are where to configure some settings:
  1. The first day of week is currently hardcoded to monday but should be configurable (sunday or monday)
    1. Chart settings
    2. Athlete settings
    3. Use system settings (QLocale::firstDayOfWeek()) without configuration in Golden Cheetah
    4. Global options (General / Localization) with QLocale::firstDayOfWeek as default (<- my favorite)
  2. Where and how to configure the entries shown fields (must be extended later by what to show in the summary)
    1. Chart settings
    2. New tab Calendar in global options under Data Fields
    3. New column Calendar in tab Fields under Data Fields
For 2. I am unsure as the Fields-table is the obvious choice but already quite wide and complex and we will need one more column for the weekly summary.

Cheers, Joachim 

ZajtiM

unread,
Jul 29, 2025, 3:26:29 PMJul 29
to golden-cheetah-users
On Tuesday, 29 July 2025 at 20:13:07 UTC+2 Joachim Kohlhammer wrote:
Fully agree on the thin text, but consider a full orange row as too massive. I will play with this, my current idea is using the cell color with an orange border around the icon. 

Here is quick preview done with GIMP. I assume that's what you're thinking about. I think that is a good solution. BUT there will be more work for you, since GC would need dark and light icons. Light for users using dark GC theme.
Planned_Icon_border.png
 
After work i changed all material SVG icons to light color. Here is link with all icons in .zip, to save you some time. In case you will implement planned activities with border around icons, instead of full /filled background.
 https://temp.sh/UvqFD/material_light.zip
material_light_icons.png

Can you please test again? The latest commit contains Ales suggestion.

Some checks haven't completed yet. So i will check it when is done. 

Other topics I'd like to discuss are where to configure some settings:
  1. The first day of week is currently hardcoded to monday but should be configurable (sunday or monday)
    1. Chart settings
    2. Athlete settings
    3. Use system settings (QLocale::firstDayOfWeek()) without configuration in Golden Cheetah
    4. Global options (General / Localization) with QLocale::firstDayOfWeek as default (<- my favorite)

I like option 1. and 4.
 
  1. Where and how to configure the entries shown fields (must be extended later by what to show in the summary)
    1. Chart settings
    2. New tab Calendar in global options under Data Fields
    3. New column Calendar in tab Fields under Data Fields
For 2. I am unsure as the Fields-table is the obvious choice but already quite wide and complex and we will need one more column for the weekly summary.

I agree with you. Might be good to hear from Mark as well.

Joachim Kohlhammer

unread,
Jul 29, 2025, 3:57:33 PMJul 29
to golden-cheetah-users
ZajtiM schrieb am Dienstag, 29. Juli 2025 um 21:26:29 UTC+2:
 
After work i changed all material SVG icons to light color. Here is link with all icons in .zip, to save you some time. In case you will implement planned activities with border around icons, instead of full /filled background.
 https://temp.sh/UvqFD/material_light.zip

Please don't make this effort! I created methods in C++ (see Colors.h: svgAsColoredPixmap(const QString &file, const QSize &size, int margin, const QColor &color) and svgOnBackground(const QString& file, const QSize &size, int margin, const QColor &bg, int radius = 10)) that do the recoloring automatically. As soon as the background becomes dark enough, the icon turns white:
Bildschirmfoto_20250729_214622.png


Where I could need some help though is the event-icons. Currently I use the podium-icons: Undefined Prio and Prio A use the fully filled podium with three stars, Prio B podium-gold, Prio C silver, Prio D & E bronze. Maybe you have a better idea what could be used, maybe a fully empty podium without stars for E - or something completely different. I use the material symbols taken from https://github.com/Templarian/MaterialDesign-SVG The letter-icons (A-E) were unreadable at this small size

Joachim Kohlhammer

unread,
Jul 29, 2025, 4:50:51 PMJul 29
to golden-cheetah-users
The border around the icon looked strange and out of place, but no background and a colored icon works fine for me (orange is currently hardcoded):
Bildschirmfoto_20250729_224854.png

ZajtiM

unread,
Jul 29, 2025, 4:57:22 PMJul 29
to golden-cheetah-users
On Tuesday, 29 July 2025 at 21:57:33 UTC+2 Joachim Kohlhammer wrote:
Please don't make this effort! I created methods in C++ (see Colors.h: svgAsColoredPixmap(const QString &file, const QSize &size, int margin, const QColor &color) and svgOnBackground(const QString& file, const QSize &size, int margin, const QColor &bg, int radius = 10)) that do the recoloring automatically. As soon as the background becomes dark enough, the icon turns white:

I already changed colors, that's why i posted link to .zip. But good to know for future icons. Train view uses dark and light color icons (for control buttons). That's why i thought you might need light for calendar as well.
 
Where I could need some help though is the event-icons. Currently I use the podium-icons: Undefined Prio and Prio A use the fully filled podium with three stars, Prio B podium-gold, Prio C silver, Prio D & E bronze. Maybe you have a better idea what could be used, maybe a fully empty podium without stars for E - or something completely different. I use the material symbols taken from https://github.com/Templarian/MaterialDesign-SVG The letter-icons (A-E) were unreadable at this small size

I've noticed you mentioned git for material icons in one of your previous posts. Huge icon collection, which can be good for any future addition.
What about using sport icons (colored based on Prio) for events as well? Sports icons are fairly simple, so they might be good even in smaller size as event icons. The only "problem" might be triathlon. Since it is swim, bike and run. 
Polar Grit X Pro uses icon like this for Multisport (triathlon). I made a quick one, so it is not perfect. Just to show what could be used.
multisport.png

I like new example with orange icon for planned.

Ale Martinez

unread,
Jul 29, 2025, 5:43:55 PMJul 29
to golden-cheetah-users
El martes, 29 de julio de 2025 a la(s) 3:13:07 p.m. UTC-3, tiefgara...@gmail.com escribió:
Other topics I'd like to discuss are where to configure some settings:
  1. The first day of week is currently hardcoded to monday but should be configurable (sunday or monday)
    1. Chart settings
    2. Athlete settings
    3. Use system settings (QLocale::firstDayOfWeek()) without configuration in Golden Cheetah
    4. Global options (General / Localization) with QLocale::firstDayOfWeek as default (<- my favorite)
Agree 4. would be better provided we implement https://github.com/GoldenCheetah/GoldenCheetah/issues/599, which may be a PITA since this logic may be distributed in several places, but I am no sure. If it will apply only to the chart calendar perhaps 1. could be enough.
  1. Where and how to configure the entries shown fields (must be extended later by what to show in the summary)
    1. Chart settings
    2. New tab Calendar in global options under Data Fields
    3. New column Calendar in tab Fields under Data Fields
For 2. I am unsure as the Fields-table is the obvious choice but already quite wide and complex and we will need one more column for the weekly summary.

There is a PR moving the summary (old diary) checkbox out of Fields table (https://github.com/GoldenCheetah/GoldenCheetah/pull/4680), while I think it is overkill just for the ride list, it could make sense if integrated in the new calendar and/or extended to weekly summary.
Message has been deleted

ZajtiM

unread,
Jul 29, 2025, 11:36:27 PMJul 29
to golden-cheetah-users
On Tuesday, 29 July 2025 at 20:13:07 UTC+2 Joachim Kohlhammer wrote:
Not sure if i missed this anywhere in your posts. But ERG activities use Torch icon by default, unless you manually change sport to Bike. Since it is GC - ERG activity might be good to have bike icon (if possible). Didn't look at the code, so i'm not sure if there is a way to "detect" ERG activities in Planned Calendar.

Can you please test again? The latest commit contains Ales suggestion.

I downloaded AppImage from latest commit. Looks like it works.
All activities done with .erg and .crs (in my case Gradient workouts) are now showing with bike icon.

I have one question regarding other sports icons. I do some jump rope workouts as well. Is there a plan for more sports (with icons) as well? I know you have a lot of work with current development, so i'm not expecting you to add every sport right now. Only asking if there are any plans or possibility in future.
Btw, i checked if Git repo with material icons contains jump rope icon. Contains jump-rope.svg, but i don't like it. I can create new one. I can also create / modify some others if needed.

Joachim Kohlhammer

unread,
Jul 31, 2025, 4:25:27 PMJul 31
to golden-cheetah-users
The PR is updated with the following features:
  • First day of week is now configurable (chart setting)
  • Added chart setting to show / hide the summary column
  • Added an icon to the cursor when dragging an activity
  • Updated the appearance of planned workouts (icon has transparent background, orange drawing, text using normal weight)

ZajtiM schrieb am Mittwoch, 30. Juli 2025 um 05:36:27 UTC+2:

I have one question regarding other sports icons. I do some jump rope workouts as well. Is there a plan for more sports (with icons) as well? I know you have a lot of work with current development, so i'm not expecting you to add every sport right now. Only asking if there are any plans or possibility in future.
Btw, i checked if Git repo with material icons contains jump rope icon. Contains jump-rope.svg, but i don't like it. I can create new one. I can also create / modify some others if needed.

I would also want to have this feature, but lets think about its addition later. We will have to think about where to store custom icons, how to add and assign them to sports.

Ale Martinez

unread,
Aug 4, 2025, 10:56:02 AMAug 4
to golden-cheetah-users
Thank you, Joachim, while trying to setup a plan the the next weeks I realized we need a way to copy a previously planned or completed activity to a new date, I tend to repeat myself ;)
May be drag and drop with a modifier or copy and paste, I don’t know the best way.

Denis Bigl'air

unread,
Aug 5, 2025, 7:09:36 AMAug 5
to golden-cheetah-users

Hello everyone, I have created the first four icons.
If you are interested, I can create all the missing ones. Just let me know the file format and desired size. You can make a list of all the sports and events you would like to include.

sportIcones.jpg

ZajtiM

unread,
Aug 5, 2025, 7:35:19 AMAug 5
to golden-cheetah-users
Hi Denis.

Joachim is using icons from this git repo. https://github.com/Templarian/MaterialDesign-SVG
I think it contains icons for more less everything it will be needed for Calendar. So i don't think Calendar needs whole new set of icons, since some  are already implemented. And it would look weird with two different styles of icons. But since Joachim is working on Calendar, he can tell you if he needs more icons.

Joachim Kohlhammer

unread,
Aug 5, 2025, 1:30:32 PMAug 5
to golden-cheetah-users
Sounds very useful to me and yes, team repetition :) My first thought is to add something like "repeat plan from daterange / season / phase here", to the context-menu. I don't like multi drag-drop too much as you never know upfront what you really do and what is really selected. But let me think a little bit more on this.

What I am currently working on is the summary. It basically works but some unexpected effects drive me mad:
I added a call to gather the weekly summaries to PlannedCalendarWindow::updateActivities that basically only iterates over some metrics-symbols and the weeks activities to aggregate the values. As soon as I activate this additional call, the RideNavigator shows (after a restart of Golden Cheetah) activities only in one line, because in NavigatorCellDelegate::sizeHint their QModelIndex is mapped to an invalid one. I suppose this is a timing issue but not sure yet.
As of now I am hesitant pushing my changes since I don't know if this damages any persisted data. If you have an idea what could be the root causet - that would be super helpful.

Cheers, Joachim

Joachim Kohlhammer

unread,
Aug 5, 2025, 1:36:16 PMAug 5
to golden-cheetah-users
Hi Dennis,

thanks for your offer! I will come back to you later. Currently my main goal is to get the calendar stable and useful, thereafter probably thinking about / contributing to https://github.com/GoldenCheetah/GoldenCheetah/issues/4675 as this will - with a high probability - affect the calendar and its implementation. But to get the calendar even better, I am fully with you that the users should be free to assign their own icons to sports, especially for non-predefined ones. And then lets align!

Cheers, Joachim

Ale Martinez

unread,
Aug 5, 2025, 9:02:06 PMAug 5
to golden-cheetah-users
El martes, 5 de agosto de 2025 a la(s) 2:30:32 p.m. UTC-3, tiefgara...@gmail.com escribió:
Sounds very useful to me and yes, team repetition :) My first thought is to add something like "repeat plan from daterange / season / phase here", to the context-menu. I don't like multi drag-drop too much as you never know upfront what you really do and what is really selected. But let me think a little bit more on this.

Initially I was thinking about a simple version: single activity copy and paste using the context menu, but I am not an UX person
 
What I am currently working on is the summary. It basically works but some unexpected effects drive me mad:
I added a call to gather the weekly summaries to PlannedCalendarWindow::updateActivities that basically only iterates over some metrics-symbols and the weeks activities to aggregate the values. As soon as I activate this additional call, the RideNavigator shows (after a restart of Golden Cheetah) activities only in one line, because in NavigatorCellDelegate::sizeHint their QModelIndex is mapped to an invalid one. I suppose this is a timing issue but not sure yet.
As of now I am hesitant pushing my changes since I don't know if this damages any persisted data. If you have an idea what could be the root causet - that would be super helpful.

I don't know, but I could try some debugging if you link the commit. For the old calendar the weekly summary was in the sidebar, it was deprecated to reduce dependence on WebKit/WebEngine but it was working, the code is in https://github.com/GoldenCheetah/GoldenCheetah/blob/master/deprecated/WeeklySummaryWindow.cpp#L156.  

Cheers, Ale.

Mark Liversedge

unread,
Aug 6, 2025, 6:01:53 AMAug 6
to golden-cheetah-users
Please note the Apache 2.0 license is NOT compatible with GPL 2.0 - the license that applies to GoldenCheetah

Joachim Kohlhammer

unread,
Aug 6, 2025, 10:46:37 AMAug 6
to golden-cheetah-users
Thanks for the heads-up Mark, this slipped through and is quite unfortunate.

@Dennis, the moment I need your support came sooner than expected. It would be awesome if you could provide alternatives for the icons found in https://github.com/thejockl/GoldenCheetah/tree/calendar-monthly-view/src/Resources/images/material as svg-files under a license compatible to the GPL 2.0.
The podium-icons are used to indicate events, so they could be styled differently (categories undefined, A-E). Maybe using just letters could also work here.

Cheers, Joachim

Ale Martinez

unread,
Aug 6, 2025, 3:40:25 PMAug 6
to golden-cheetah-users

Joachim Kohlhammer

unread,
Aug 7, 2025, 3:00:37 PMAug 7
to golden-cheetah-users
Hi Ale, attached is a diff (should apply cleanly using "git apply") that creates the unexpected behaviour. I will continue debugging, but it would be awesome if you could also have a look. For me it is reproducible when going to the calendar, quit and restart. The list remains broken on every start thereafter, also when not visiting the calendar. When running, the list can be fixed by using the search / filter and remains correct if the filterbox is cleared.
The data seems to be good again after starting from a master-build.
As of now I only use testdata and keep it away from my real activities. Would recommend doing the same.
The patch contains a fix for the warnings
[19:48:32.695] warning: beginResetModel called on GroupByModel(0x558bdfda89e0) without calling endResetModel first (unknown:0)
[19:48:32.695] warning: beginResetModel called on RideNavigatorSortProxyModel(0x558bdfda8390) without calling endResetModel first (unknown:0)
[19:48:32.698] warning: endResetModel called on GroupByModel(0x558bdfda89e0) without calling beginResetModel first (unknown:0)
[19:48:32.698] warning: endResetModel called on RideNavigatorSortProxyModel(0x558bdfda8390) without calling beginResetModel first (unknown:0)
but that didn't fix my issue

Cheers, Joachim

Bildschirmfoto_20250807_204706.png

calendar-summary.diff

Joachim Kohlhammer

unread,
Aug 8, 2025, 10:00:27 AMAug 8
to golden-cheetah-users
The issue seems to be related to my data. It also happens when running with master - and without need to visit the calendar. Will nevertheless investigate further before pushing my latest changes

Ale Martinez

unread,
Aug 8, 2025, 11:29:21 AMAug 8
to golden-cheetah-users
El viernes, 8 de agosto de 2025 a la(s) 11:00:27 a.m. UTC-3, tiefgara...@gmail.com escribió:
The issue seems to be related to my data. It also happens when running with master - and without need to visit the calendar. Will nevertheless investigate further before pushing my latest changes

Hi Joachim, I could not reproduce the issue with my test or even my real data.
Just in case I would do a make clean to discard the toolchain making weird things.
BTW, I think it is temporary but anyway, beware #warning is not available on MSVC.
Cheers, Ale.

Joachim Kohlhammer

unread,
Aug 17, 2025, 5:19:05 AMAug 17
to golden-cheetah-users
The PR is updated and adds a configurable weekly summary. For now I added the configuration to the chart-settings, lets see if we keep it this way in the long run. But for now it seemed reasonable to me.
The data (fields for primary line, metrics for secondary) used in the calendar entries can also be configured.
Additionally I removed some material-icons (phases, events, plus, generic sport) and replaces them with others from Breeze. I am fully aware that Harvey Balls are meant to visualize completeness and not priority, but couldn't find something better that is also recognizable in very small icons. Will look out more, maybe arrows (double up, up, side, down, double down)?
@Denis, do you think you can contribute replacements for the sport-icons? That would be highly appreciated and essential for this PR.

The header of the calendar was also updated. I kept the month-label next to the navigation because otherwise the buttons right of it would either jump with different months or short months like "May" would have a huge amount of whitespace around them.

Feedback is welcome as always. The biggest open topic is sport-icons, available under a compatible license. And believe me, I am far from being able to design and create some!

Ale Martinez schrieb am Freitag, 8. August 2025 um 17:29:21 UTC+2:
BTW, I think it is temporary but anyway, beware #warning is not available on MSVC.
 
Exactly, I use #warning to not forget about some tasks and usually remove all of them before committing. Same is true for __PRETTY_FUNCTION__ which I use in all of my temporary debug-statements.

Cheers, Joachim

Joachim Kohlhammer

unread,
Aug 17, 2025, 8:46:45 AMAug 17
to golden-cheetah-users
Created one more PR (https://github.com/GoldenCheetah/GoldenCheetah/pull/4686) to jump from AnalysisSidebar to the planned workout:
Bildschirmfoto_20250817_144240.png

If a workout was assigned to the planned activity, the filter is updated to select the workout by filename, otherwise a filter is created from some of the added values (duration, distance, bikescore, bikestress, ...)

As soon as this PR is merged, I will add the same menu entry to the calendar (didn't want to add the base functionality to the existing PR)

Ale Martinez

unread,
Aug 17, 2025, 5:14:37 PMAug 17
to golden-cheetah-users
El domingo, 17 de agosto de 2025 a la(s) 9:46:45 a.m. UTC-3, tiefgara...@gmail.com escribió:
Created one more PR (https://github.com/GoldenCheetah/GoldenCheetah/pull/4686) to jump from AnalysisSidebar to the planned workout:
Bildschirmfoto_20250817_144240.png

If a workout was assigned to the planned activity, the filter is updated to select the workout by filename, otherwise a filter is created from some of the added values (duration, distance, bikescore, bikestress, ...)

As soon as this PR is merged, I will add the same menu entry to the calendar (didn't want to add the base functionality to the existing PR)

Thank you, Joachim, I will merge once it pass CI checks so you can continue, afterwards we need to check how these navigations fit with the back&forth navigation model.
Once you feel the calendar is ready I have the intention to merge it, replace the old calendar and generate snapshots or perhaps the 1st dev build to see if we have some more feedback than here which seems to be limited to a couple of us building from source.
Cheers, Ale.

Ale Martinez

unread,
Aug 17, 2025, 7:36:12 PMAug 17
to golden-cheetah-users
El domingo, 17 de agosto de 2025 a la(s) 6:14:37 p.m. UTC-3, Ale Martinez escribió:
El domingo, 17 de agosto de 2025 a la(s) 9:46:45 a.m. UTC-3, tiefgara...@gmail.com escribió:
Created one more PR (https://github.com/GoldenCheetah/GoldenCheetah/pull/4686) to jump from AnalysisSidebar to the planned workout:
Bildschirmfoto_20250817_144240.png

If a workout was assigned to the planned activity, the filter is updated to select the workout by filename, otherwise a filter is created from some of the added values (duration, distance, bikescore, bikestress, ...)

As soon as this PR is merged, I will add the same menu entry to the calendar (didn't want to add the base functionality to the existing PR)

Thank you, Joachim, I will merge once it pass CI checks so you can continue, afterwards we need to check how these navigations fit with the back&forth navigation model.

PS: navigation seems to ok after merge in my preliminary test.

Joachim Kohlhammer

unread,
Aug 18, 2025, 5:24:27 PMAug 18
to golden-cheetah-users
Ale Martinez schrieb am Montag, 18. August 2025 um 01:36:12 UTC+2:

PS: navigation seems to ok after merge in my preliminary test.

Perfect! I am also using the code without any issues so far on my "production" data, including navigation. Actually I just started using the navigation since the calendar and really enjoy it.

Once you feel the calendar is ready I have the intention to merge it, replace the old calendar and generate snapshots or perhaps the 1st dev build to see if we have some more feedback than here which seems to be limited to a couple of us building from source.
Cheers, Ale.

The PR is updated to include "Show in Train Mode..." in the calendar for planned bike workouts. Additionally I removed unused connects that only trigger debug output. The PR is now no more a draft

Cheers, Joachim 

Ale Martinez

unread,
Aug 18, 2025, 8:34:57 PMAug 18
to golden-cheetah-users
Great, thank you!

I merged your PR and deprecated the old calendar (DiaryWindow) replacing it for the new one in existing layouts,  if someone is interested in collaborate with testing installers will be available for all platforms at https://ci.appveyor.com/project/Joern-R/goldencheetah-knhd8/builds/52591077 once CI finishes, they will be normal installers like snapshots or dev builds, without the limitations of Pull Request installers.

My intention is to trigger a dev build in the next few days since they are better than snapshots to document and make the changes more visible.

Cheers, Ale.
 

pat vois

unread,
Aug 20, 2025, 6:48:54 AMAug 20
to golden-cheetah-users
Joachim, thank you very much for the new calendar. Once it is available with the 'Plan' icon, it will be fantastic.

Paul J

unread,
Aug 20, 2025, 9:45:40 AMAug 20
to golden-cheetah-users
I'd just like to say the new monthly calendar is a great addition to GC, thank you Joachim.

Whilst using it, I started thinking why is this chart within trends, as Trends is about multiple past activities and timeframes, whilst Activities contains information relating to a selected activity, the new chart provides a different view spanning both the past & future activities, and I expect it will get a lot of use.

Therefore maybe the new monthly chart could be in a separate planning view (there is a disabled "plan" sidebar button), with the monthly calendar as the default chart, further planning related charts could be added in the future. This would raise its profile and make it quickly accessible, maybe this was always the idea ?

Ale Martinez

unread,
Aug 20, 2025, 3:11:18 PMAug 20
to golden-cheetah-users
El miércoles, 20 de agosto de 2025 a la(s) 10:45:40 a.m. UTC-3, paulj...@gmail.com escribió:
I'd just like to say the new monthly calendar is a great addition to GC, thank you Joachim.

Whilst using it, I started thinking why is this chart within trends, as Trends is about multiple past activities and timeframes, whilst Activities contains information relating to a selected activity, the new chart provides a different view spanning both the past & future activities, and I expect it will get a lot of use.

The reason is historical: in older versions GC had a Diary View which was similar to Trends but with a sidebar with a weekly summary and 2 specific charts (the old) Calendar and (Ride) Navigator, when the scope bar was changed to the current sidebar in v3.6 that view was not reachable anymore (the code is still there), even when it could be a candidate for the Plan button the Calendar was considered too outdated and the idea was planning should include other features enabling top down plan design with a completely new design.
Since some users missed (me included) missed the calendar I decided to enable it as a Trends chart as a temporary solution until we have a modern calendar and a proper planning view, the new calendar followed suite for lack of a better option.
 
Therefore maybe the new monthly chart could be in a separate planning view (there is a disabled "plan" sidebar button), with the monthly calendar as the default chart, further planning related charts could be added in the future. This would raise its profile and make it quickly accessible, maybe this was always the idea ?

I agree the above scenario is not ideal, thanks to Joachim we have the 1st part sorted, but I am afraid we are nowhere near for the second, so an alternative could be to revamp the Diary View as Planning View with the new calendar and some charts aiding the planning process s.t. Expected PMC with a sidebar including Seasons and Events, but ideas are welcome.

On a related note we would need to add Daily/Weekly notes/commentaries visible through the calendar/this view, too.

Cheers, Ale.

Paul J

unread,
Aug 21, 2025, 2:54:14 AMAug 21
to golden-cheetah-users
Hi Ale,

Thank you for the history. its very helpful, I did wonder why VIEW_DIARY existed. 

To provide an initial basis for the planning view, I can create the following PR if you wish:
  • Enable plan button and use it to select the "DiaryView"
  • Re-branded to VIEW_DIARY to VIEW_PLANNING, and update the diary view files and class names to planning 
  • Rename the diary-perspectives.xml to planning-perspectives.xml
  • Add the new planning chart to the view

Ale Martinez

unread,
Aug 21, 2025, 10:40:28 AMAug 21
to golden-cheetah-users
El jueves, 21 de agosto de 2025 a la(s) 3:54:14 a.m. UTC-3, paulj...@gmail.com escribió:
Hi Ale,

Thank you for the history. its very helpful, I did wonder why VIEW_DIARY existed. 

To provide an initial basis for the planning view, I can create the following PR if you wish:
  • Enable plan button and use it to select the "DiaryView"
  • Re-branded to VIEW_DIARY to VIEW_PLANNING, and update the diary view files and class names to planning 
  • Rename the diary-perspectives.xml to planning-perspectives.xml
  • Add the new planning chart to the view
It seems a good plan to me, we need to add View > Planning menu too. As part of this we need to carefully test and review navigation switching from/to this view since the navigation model was added when DiaryView was not in use anymore it is not tested, and I am not sure it will work in the current state.
After that we need to think about what else we want in the side bar for this view, seasons and events seems the minimum for now.

Paul J

unread,
Aug 21, 2025, 1:24:11 PMAug 21
to golden-cheetah-users
ok, I'll create a PR with the additions & testing you suggested.

Ale Martinez

unread,
Aug 21, 2025, 8:23:59 PMAug 21
to golden-cheetah-users
El jueves, 21 de agosto de 2025 a la(s) 2:24:11 p.m. UTC-3, paulj...@gmail.com escribió:
ok, I'll create a PR with the additions & testing you suggested.

Great! In the meantime I triggered a snapshot update so the new calendar can be tried by any v3.7 user, latest snapshots are essentially v3.7 release plus a bunch of bug fixes, some small features and the new Planning Calendar, which replaces the old one so you will see it automatically in that case, otherwise it can be added to a Trends perspective and configured like any other chart: https://github.com/GoldenCheetah/GoldenCheetah/releases/tag/snapshot 

Paul J

unread,
Aug 22, 2025, 3:21:23 AMAug 22
to golden-cheetah-users
Hi Ale,

   Almost complete with the diary to planning change, view Navigation works, I just want to give it some more testing, should be finished later today.

   Just out of interest, what is the functionality enabled by GC_HAVE_ICAL, it seems to be Google calendar related and was associated with the Diary Window, is it still relevant ?

   Also to prevent conflict between my other PR (https://github.com/GoldenCheetah/GoldenCheetah/pull/4688) and the new planning one, would you consider merging 4688?

Thanks
Paul.

Ale Martinez

unread,
Aug 22, 2025, 4:54:47 PMAug 22
to golden-cheetah-users
El viernes, 22 de agosto de 2025 a la(s) 4:21:23 a.m. UTC-3, paulj...@gmail.com escribió:
Hi Ale,

   Almost complete with the diary to planning change, view Navigation works, I just want to give it some more testing, should be finished later today.

   Just out of interest, what is the functionality enabled by GC_HAVE_ICAL, it seems to be Google calendar related and was associated with the Diary Window, is it still relevant ?

The old calendar depended on having libical for its data model, so DiaryView was not included when building witout libical, the new calendar doesn't so PlanningView can be enabled unconditionally. I have not removed libical related stuff since we could need it if we want to implement some kind of calendar sync.

   Also to prevent conflict between my other PR (https://github.com/GoldenCheetah/GoldenCheetah/pull/4688) and the new planning one, would you consider merging 4688?

Done. 

Joachim Kohlhammer

unread,
Aug 22, 2025, 5:05:12 PMAug 22
to golden-cheetah-users
Paul, thanks for joining in :)

I'm currently working on a dialog that allows copying planned activities from a past time range into the future — essentially repeating a defined set of planned activities. Hopefully, this will give me better insight into some of the requirements for linking or combining planned and completed activities, so I can contribute to https://github.com/GoldenCheetah/GoldenCheetah/issues/4675.

Additionally I want to remove the icons because of the licensing issues. As alternative I will create a global configuration dialog for assigning custom icons to Sport and SubSport, including import and export. This way we can distribute the Material icons without any issues.

Cheers, Joachim 

Joachim Kohlhammer

unread,
Aug 23, 2025, 3:56:00 AMAug 23
to golden-cheetah-users
When adding a new activity, the filters are not updated. I have tested this with drag/drop in the calendar, adding manual activities (planned and completed) and with the new "repeat schedule"-feature. When a filter or search is active, the new activities are neither shown in the Calendar nor in the AnalysisSidebar. They only appear after the filter or search is recreated.

Would it be an acceptable solution if the SearchBox remembered the currently active search / filter (if any) and listened to the contexts rideAdded signal to re-submit the search / filter?

Paul J

unread,
Aug 23, 2025, 4:01:00 AMAug 23
to golden-cheetah-users
Initial Diary view to Plan view changes created: https://github.com/GoldenCheetah/GoldenCheetah/pull/4690

I noticed that the current Plan view sidebar sort of duplicates the view of the new Planning Calendar, I expect there is a discussion required on how this works:

Regarding the work on a dialog to allow copying planned activities from a past time range into the future, it would be good if they can be saved and reloaded as training plans. For example many people follow 16 week marathon training plans (see examples in https://www.londonmarathonevents.co.uk/london-marathon/start-training) and if we could create a plan which can be loaded with all the activities aligned relative to a target race date, then I expect this would be really useful.
It is loading more messages.
0 new messages