Fixes#4512
* Added additional time range options for user defined seasons
* Relative start (e.g. 3 months ago)
* Duration after start / Duration before end (e.g. 2 months)
* Year to Date end, defining the end as the closest day with todays
day and month after start
* Refactored Season.h/cpp and SeasonParser.h/cpp for better testability
* Kept Season, Phase, SeasonEvent, SeasonOffset, SeasonLength in
Season.h/cpp
* Moved all UI related classes to SeasonDialogs.h/cpp
* Renamed SeasonParser.h/cpp to Seasons.h/cpp, moved class Seasons
there
* Replaced deprecated Qt classes
* Replaced QRegExp by QRegularExpression in SeasonParser
* Rewrote parsing seasons.xml to use QXmlStreamReader instead of
QXmlSimpleReader
* Unittesting
* Added a simple way to implement and execute (make check) unittests
in Golden Cheetahs source tree based on Qt Test
(https://doc.qt.io/qt-6/qttest-index.html), tested on Linux and
Windows
* Implemented unittests for classes (mostly before refactoring)
* Season
* SeasonParser
* SeasonOffset
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
.. run make in src/doc/doxygen to generate documentation for the
source code in html and latex format.
.. doing this to get some basic docs going, since the codebase is
now so large its getting difficult for even the core team to
remember.
.. the subdirectories generated are ignored (see .gitignore)
[skip ci]
Fixup crashes and major issues created by porting
to QT5. These have included;
* Fix CP plot log scale
* AllPlot axes and tooltip
* DBAccess prepare/bind bug
* LTMSettings crash
* LTMWindow zoomer/picker crash
* LTMPlot axes hack
There are still issues remaining but we can start
working through them at leisure -- the product now
builds and runs.