... UTF-8 ByteOrderMarks was missing in the exported XML,... files causing problems on Windows e.g. in cyrillic
... BOM header added for PWX, Fitlog, GC and TCX format
... Fixes https://github.com/GoldenCheetah/GoldenCheetah/issues/1547
.. RideCache::addRide() deletes the prior ride, which is rather meaningless
if you are just importing a ride, but when syncing large numbers
of rides will stop memory being exhausted.
.. similarly in the FileStoreSyncDialog we now free up the memory
used to read the downloaded files before moving on to the next.
.. so we can read/write zip files that can be opened
outside of GC. For example, when working with a file
store we want to write .json.zip that could be read
using winzip et al
.. layout on athlete About row missed leaving a
gap between widgets vertically.
.. moved use CP for FTP checkbox to zone config page
and not on athlete About page.
... use an shared network drive (e.g. mounted via WebDAV) to synchronize activity data
(similar to Dropbox,...)
Open/TBD:
... where to best put the Preferences for the different FileStores
(currently add the Network folder configuration on Preferences->Passwords,
even though no PW is needed - with growing number of FileStores a
dedicated Preferences Page may be the solution)
... where to put the MainWindow Menu entries if the number of FileStores increases
.. Mac Finder creates .DS_Store in subdirectories when you
browse in them to store customisation etc. So we need to
wipe them away when deleting the athlete folders.
.. sync with a dropbox folder
This is based upon the TPDownloadDialog but refactored for
use with a FileStore (in this case Dropbox). It should be
extensible to use with any kind of FileStore object.
... first Athlete opened with new logic determines the general settings
... if configuration is already migrated (based on one of the previous commits) -
migration can be forced to happen again by removing the INI files or
just the preferences pages has to be opened and Saved with the
unit settings you want
.. basic functions working to upload a single ride
to a dropbox file store.
.. this is a safety commit before looking to resolve
issues with async updates.
NOTE: the upload completes but the dialog needs to
be cancelled manually -- this is a bug and
will be resolved in the next update.
.. so you can now choose the directory to sync
data with. Its a very basic file dialog but
will allow you to create and choose a folder.
.. Config is now completed with token a folders
now configurable by the user.
.. I cannot believe we needed to write a pesky file
chooser dialog in 2015 (!)
.. first parts of the implementation of a base class
for working with file stores and the Dropbox
API.
.. all we actually get in this commit is the abstract
classes and an implementation of readdir for Dropbox
along with a config setting which needs to browse
directories
.. in the next commit we'll add the directory chooser
dialog which will need to implement a ftw() across the
associated filestore and present a gui to choose a
directory to store athlete data in