When exiting, GC complains that the Web Profile is released before Web pages that refer to it with the message: "Release of profile requested but WebEnginePage still not deleted. Expect troubles !".
The Web pages are now released explicitly in the destructor to insure that they are freed earlier than the Profile.
Fixes#3844
This is a clean up to remove conditional compilation for all Qt versions
older than the last known to work: Qt 5.9 with Qt WebEngine and Qt Charts.
Includes an update note to INSTALL documents.
.. the code to parse the redirect url and exract
the query item 'code' was fragile -- and got
broken when Strava added a new query item to
the returned URL.
.. we now use QUrlQuery to extract in a more
robust and future proof way
Fixes#2879
.. configuring calendar access was lost when
refactoring the cloud account config.
.. we use the cloud service framework for the
config steps (Oauth/user+pass etc).
.. existing code for interacting with the
service in CalendarDownload.cpp and
CalDAV.cpp is left untouched for now since
it isn't used in many places.
.. just add as a Google Drive service
.. need to do upload dialog and file formats as subsequent
commits.
NOTE: this is a variant of Google Drive, not just subclassed
at this point. We may simplify this later to avoid two
classes that need bug fixes / changes as the Google API
changes over time.
.. remove twitter and google calendar
.. add comments to show where the basic OAUTH steps are
processed for implementors of future services
.. tidy up code formatting to be consistent with GC style
.. set raw headers when I shouldn't.
.. added when trying to resolve issues earlier and didnt
remove them when they had no effect.
.. SportTracks OAuth config now works.
.. configuration dialog complete
.. will always attempt to bind user to service, if
that has already occurred it fails, so we always
ignore the response.
.. the QWebView embedded in OAuthDialog needs to be zoomed
so you can see the fonts.
.. the QT recomendation is to set the application wide
scaling (!) to scale QWebEngine on hi-dpi screens obvs
thats a really shit solution we ignore.
.. AddCloudWizard is now feature complete.
.. HOWEVER, OAuthDialog is written to support AddCloudWizard
*and* Pages.cpp:CredentialsPage -- this is a hack whilst we
convert all services to use CloudService (Withings/Calendar)
.. HOWEVER, Google Drive Scope and Today's Plan Athlete selection
need to be handled in a generic way too.
.. configuration is injected into the CloudService by the
CloudServiceFactory.
.. next steps are to include this into the AddCloudWizard
and OAuthDialog and ConfigDialog's Pages code.
.. cloud services should still be working fully after this
commit -- so long as config is performed via Options and
not via the AddCloudWizard (although its close to complete).
.. when authorising via SSL we may get handshake "errors" as
the protocol is established, this seems to occur with
openssl on Sierra and Mavericks.
.. since the request is completed then some form of protocol was
established so we ignore it in this instance.
.. even if there is a problem its likely the tokens will be blank
and that will trigger another error, so fairly safe to ignore
.. remove Webkit dependency if the user adds the following
to their gcconfig.pri: DEFINES += NOWEBKIT
.. at present the build disables:
* Bing map
* Google map
* Ride Window
* Street View
.. since QT 5.6 enables c++11 dependent libs may no longer
compile with c++11 enabled (e.g. qwtplot3d)
.. this is experimental and in place to enable further work
on deprecating the webkit dependency in GoldenCheetah v4.0
Introducing a directory structure to make it a bit less
daunting for new developers and perhaps even old hands.
The main folders all start with an upper character, so src
files are now located in;
* Core - Core data structures
* Gui - Main GUI elements
* Metrics - Models and Metrics
* FileIO - Device and File I/O
* Charts - All the chart types
* Cloud - Working with Web Resources
* Train - Anything Train View specific
* ANT - Our ANT+ Stack
* Resources - Images, Translations, Web etc
Apologies to anyone who needs to merge across this update.