.. the code to combine ST streams added blanks when there
was a gap in recording, it is better to preserve such
gaps and let the user manage with the 'fix gaps' tool.
.. needs to combine streams of data into a newly created
ridefile, which is painful, but done.
.. we may need to review the resolution of the data and
derivation of missing series in a later refining update
.. Secrets.h for appveyor CI build
.. duration/distance in readdir
.. beginnings of readFile, need to write a parser for
the SportTracks format (streams not samples). sigh.
.. 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.
.. because we convert the file to json in the response
when adding RPE data we need to update the name used
in the notifyReadComplete.
.. this fixes a bug where downloaded FIT files are
converted to JSON but the sync tool tries to parse
the returned data as FIT and fails.
.. resolve a memory leak re-allocating the storage
for the returned byte array.
.. couple of other minor tidyups that were vestiges
from my refactor of the code.
.. their is a bug downloading FIT files now -- the
response is always converted to JSON, so we should
not list as .FIT in readdir.
.. when working with the factory get a sorted list of
service names so they can be offered in order
.. the addcloudwizard now list in alphabetical order
.. fixed up CloudService::type() to const
.. 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.
.. add template code and definition. This is not a functional
update, it is to get the basics in place and run through
CI to check for cross-platform issues.
.. part 2 to implement oauth
.. part 3 to implement configuration
.. part 4 to implement readdir()
.. part 5 to implement readFile()
.. part 6 to update CloudSyncDialog for download only services
.. remove the old "passwords" tab in the config pane.
.. added a new "accounts" tab in the athlete page and
consolidated the zones tabs to a new "zones" tab
.. edit/add actions use the wizard, delete sets the
service to inactive (but doesn't scrub settings).
... when asynchronously reading Files, "data" object needs to survive as it it referenced in the "buffers_" QMap
(this is a quick fix - I suspect there are better ways to handle this)
.. enable auth settings to have a combo that is defined by the
service and user selectable.
.. Syntax:
settingname::name::val1::va12::val3
In the first example we used it to set the google drive scope
for authorisation, so in this case it is defined:
"<athlete-private>google_drive/
auth_scope::Scope::drive::drive.appdata::drive.file"
Which results in a user selectable combo box labelled "Scope"
from which they can select from the values drive, drive.appdata
and drive.file. The value is used to update the auth_scope
setting in config/athlete-private.ini
.. We can add more of these later if they are needed, perhaps on
the setting screen for settings not related to authorisation.
.. A "SettingCombo" widget has been created to simplify the way
a QComboBox is setup and queried.