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
.. 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
.. when building on Debian there is no package for
KQOauth, so as a temporary measure we're pulling it
into the repo to support packaging.
.. as soon as a KQOauth package is made available we
will remove it from our repo
We ask for phonon in src.pro, but it is NOT required, this
is because the video playback was rewritten to use the vlc
libraries.
Additionally, the build.pro now asks for ordered builds to
ensure the qwt libs are built before src is started. This is
useful when performing builds with multipe jobs (make -j n).