Python is moved to 3.11 and packaged in Appveyor. This version is a good spot in the lifecycle.
Packaged SIP at the current version, I needed this to get around some of the reparsing that was required.
Eventually this will break but make -f Makefile.SIP likely creates a new build, we should do this at
every "major" release. Unfroze the rest so it can move freely.
Add iterator support to GoldenCheetah container data types in Python. This avoids the Pandas regression that held us back.
Added code signing for MacOS as this was a requirement to run my local binaries and unfortunately needed to rewrite the build.
This puts us at a good jumping off spot for building a universal Mac binary but there's a lot of work left.
Changes from v3.8-DEV2601
4db88fa Update translation files
663526c Choose cyclist default to no avatar (#4814)
f6d4f6a Using "actual activity" instead of "completed activity" (#4813)
253b220 Add Zoomed Elevation Widget to Graphical Meters For simulation workouts without GPS data
b0d16d1 Add reconnect attempt timer after BT40Device unexpected disconnect (#4812)
c85da47 Fix typo in Nonzero Average Power description
07e673d Selectable show/hide planned activities (#4811)
1a4dd1d Updated Time Range context menu (#4808)
686f431 Revert to Qt 6.5.3 for macOS builds
a00e276 Dialog to build filter queries for similar activities (#4805)
749a21d Train mode: Improved readability for ErgFilePlot (#4806)
3e8c6fe Updating power values of planned activities with linked workouts (#4799)
1c69798 Fix Edit menu disappearing when changing languages on macOS (#4797)
[publish binaries]
* Centralized the menu creation
* Grouping of actions
* Showing that a phase is always directly assigned to a season
* Harmonized case
* Added ellipsis to all actions opening new dialogs
* Keeping ellipsis out of translatable string to keep as many
current translations as possible
Main changes from v3.8-DEV2601:
686f4310f Revert to Qt 6.5.3 for macOS builds
a00e27638 Dialog to build filter queries for similar activities (#4805)
749a21d9b Train mode: Improved readability for ErgFilePlot (#4806)
3e8c6fe04 Updating power values of planned activities with linked workouts (#4799)
1c6979846 Fix Edit menu disappearing when changing languages on macOS (#4797)
[publish binaries]
This reverts commit b25b3e3c61.
While this is useful for development and testing we don't need it
for release versions and it invalidates existing caches causing
additional traffic on CloudDB servers.
A user reported having severe performance issues on macOS Tahoe
with v3.8-DEV2601 not present when using v3.7-sp1
Besides 6.5.3 is LTS and 6.6.1 is deprecated, so lets play safe
until we can upgrade to 6.8.3
* list all (non-zero) fields and metrics
* filter list by field / metric name
* select an operator per field (ignore, equals, contains, larger than, ...)
* available in the context menus of activity- and calendar view
* Any curve in ErgFilePlot can be hidden (W'bal, Power, Speed, ...)
* Configurable plot width for curves
* When using colored power zones: Zone color can be dimmed to enhance
visibility of the curves
* Updating power values of workout based planned activities when they
fall into a timerange with different CP
* Triggers:
* CP configuration changes (future activities only)
* planned activities are moved (calendar)
* schedules are repeated (calendar)
* rest days are inserted or removed (calendar)
* Additional: Typo in Calendar (show in train _n_ode -> mode)
The edit menu attempted to populate itself with aboutToShow() but this is fragile on Mac when the system menu is empty.
Also fixed a (very minor) memory leak and rewrote some code in more modern C++.
Fixes: #4647
Agenda used to display entries similar to the Calendar: Primary line for
a field, secondary line for one metric, tertiary line for a multi-line
field.
As the agenda has more space available per line, this change adds
support for multiple metrics in the secondary line. Defaults are
Duration and TriScore.
* Bidirectional linking of planned and completed activities via field "Linked Filename"
* Convenience functions in RideCache, taking care of updating all relations
* link activities
* unlink activities
* move activities
* copy planned activities
* batch copy planned activities
* shift planned activities
* Calendar
* Visual hints to show whether an activity is linked (bar on right side)
* Options to link, unlink, jump to linked activity
* Option to save an activity
* Visual hint indicating unsaved changes in an activity (italic font)
* Deleting activities clears the link
* Agenda: Hiding completed / linked activities
* Repeat Schedule: Clearing the link in copied entries
* RideImportWizard: Autolinking new activities if a planned counterpart exists
* Stricter consistency handling of linked activities
Additional:
* highlighting linked activities when clicking in calendar
* linked() datafilter access function (similar to filename())
* New dialog to link planned and completed activities
* Centralized the calendar context menus (only one location to maintain them for all views)
* Restructured the entries of all calendar context menus
They were introduced by #4779, which replaced setAxisX
which removes the previously existing default x-axis
for the new one, with addAxis which doesn't remove anything.
This change just remove the existing (default) x-axis before
to add the new one to minimize the impact in the remaining code.
src/Gui/CalendarItemDelegates.h:
ColumnDelegatingItemDelegate
- uses tr() so should call Q_OBJECT
CalendarDetailedDayDelegate
- uses tr() so should call Q_OBJECT
Moved Q_OBJECT to the top of the class for consistency and this also guarantees it's private (which it has to be).
src/Gui/ColorButton.h:
- Moved the comment from Colors.h here.
src/Gui/Colors.h:
- Removed #if 0 code that confused lupdate since it doesn't understand preprocessor macros.
To avoid ocassional errors due to race conditions,
since QWT is rebuilt only when appveyor.yml changes
the impact on performance is limited in normal cases.
Removed unused constructors
Replaced raw pointer with a unique_ptr to clearly pass ownership.
Fixed a bug where we compared if a signed integer is negative (it never is).
Fixed a case where we take the pointer to a pointer we de-reference!