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.
Added support to
* filter workouts by multiple metrics
* rate and tag workouts
* view detailed information about the selected workout
* Preserving user-content in trainDB on rescan for workouts
Fixes#411
Fixes#3986
The QSignalMapper::mapped signal does not exist any more and
was replaced by mappedString, mappedInt, and mappedObject.
This patch adapts its usages and only transitions to
new style signal-slot connection syntax.
QString::SkipEmptyParts and QString::KeepEmptyParts are deprecated,
they have been moved to the Qt:: namespace. This patch adapts
the code accordingly.
This commit is based on https://github.com/GoldenCheetah/GoldenCheetah/pull/3956
with the following additions / changes:
* Upgraded to the latest version of the multiaxes-branch, thus eliminating crashes of GoldenCheetah on startup
* Disabled the emitting of Layout Requests on geometry changes of QwtScaleWidget - without this, CPU utilization was up to 100% on one core
* Added the class SplineLookup, reusing small portions of code from Qwt 6.1
* Re-added the splines in WPrime and RideFile (resampling), using the new interface of QwtSpline
* Appveyor: qwt in cache-section now depends on qwt/qwtconfig.prin.in for refresh on version change
.. the side bar, bottom bar and related buttons were still
following a skeuomorphic design that has long since
fallen into disuse.
.. now have a more muted feel with hover/press colors active
on mouse events.
.. moved the whatsthis button to the far right since this
is quite a common placement in other apps.
.. it is noticeable how we use many many different schemes
for hover/pressed colors across the UI- at some point
this should be unified.
.. also deprecated the segmentcontrol.
.. the ride summary on analysis and trends is now replaced by
the overview dashboard.
.. since RideSummaryWindow uses html to deliver content via
an embedded web browser it had become unwieldy and the
UX was klunky and static.
.. additionally the code was unwieldy and difficult to
maintain and update when new feature were introduced.
.. this is a happy day, goodbye and farewell.
.. the OverviewWindow class has been refactored to extract out the
core dashboard UX/UI into a new class ChartSpace.
.. additionally, a ChartSpace contains a set of ChartSpaceItem which
need to be subclassed by the developer.
.. for the Overview a set of OverwiewItem classes have been introduced
such as RPEOverviewItem, MetricOverviewItem and so on. These are
subclasses of the ChartSpaceItem.
.. The overview window implementation is now mostly configuration and
assembly of a dashboard using OverviewItems and the ChartSpace.
.. This refactor is to enable the ChartSpace to be used as a drop in
replacement for the existing TabView.
.. There are no functional enhancements in this commit, but the
overview chart shouls appear to be unchanged by the user.
.. RideWindow is no longer required and brings in artefacts that have
security alerts. This code should have been deprecated previously
and was retained in error.
Fixes#3426
.. its dead (not updated for 5 years)
.. it introduces dependency issues with openssl/crypto/icu
on Linux distros
.. we don't need it, since OAuthDialog does the heavy
lifting we need (ok, its not pretty but it works).
.. old code moved into the deprecated folder
Fixes#2881
.. from December 7th 2016 read access (for downloading
from TrainingPeaks) has been revoked, even for paid
up members.
.. write access (upload) is not revoked.
.. This is essentially anti-competitive behaviour and
returns TrainingPeaks and their products, once again
to that of a 'closed' product.
.. We will no longer support their service since we
cannot and will not promote such behaviours now
or ever.
.. We are now considering the best way to purge all
other references to their trademarks and remove
any indication that their products are endorsed.
.. they were removed from code recently but still
lingered harmlessly in the codebase.
.. now moving into the deprecated folder to stop
them from being used again in the future.
Added Specification parameter to AddIntervalDialog::findPeaks
So it can be used as a more general replacement for
BestIntervalDialog::findBests and findBestsKPH
.. we can register routines when embedding via the
R_getEmbeddingDLLInfo()
.. so we just register our functions directly now
in RTool rather than needing a dynamic library.
.. its cleaner and there are no nasty casts and build
settings required