In case user borked them in setup, applies to:
- Ride Date (startTime.date)
- Ride Time (startTime.time)
- Device (deviceType)
- Recording Interval (recIntSecs)
- Identifier (Id)
Since latest update for metadata now honours user configuration.
.. metadata only flushed when ride marked dirty, but
ride won't be marked dirty until metadata focus/edit
ends.
.. because opening a menu doesn't change focus we need to
use the flush event to trigger the focus/edit end function
.. was updating as you typed which created a nasty lag
but updated the metadata and metrics constantly
.. on one hand it was reassuring to see things change as
you typed, but on the other hand it was pretty tedious
.. we now catch focus change on text edits, see if they've
been changed and then trigger an update if that is the case
.. notify if the metadata configuration has been changed
.. also snuck in a change to take hysteresis out of the
power zones fingerprint - it should not have been there
.. introduce concept of configChanged(what) to
pass details of what config has been changed
.. fixed zones changes to re-read after write
to correct the save twice to get changes to
zones bug.
.. next parts need to spot changes (part 2) and
then action appropriately (part 3)
.. add/remove ride now works
.. fixed metric value in data()
.. need to test (especially with the diary
window and new athlete with zero rides and
then import, add, delete, change, sort
merge, split etc and push update to
fix such bugs in Part 3
.. getting the model in and integrated with the
ride list and diary
.. next steps to connect up to ridecache methods
::addRide and ::removeCurrentRide.
.. then fix up nits/bugs with diary view etc
.. to fix long standing bug with saving whilst editing
a field. But still leaves a problem if exiting whilst
editing a field (which is a bit weird tbh).
... create folder structure for existing and new athletes
... upgrade existing athlete to new structure when opening / incl.
logging and error handling
... convert any "Downloaded" file to .JSON directly - store source file
in /downloads
... convert any "Imported" file to .JSON directly - store source file in
/imports
... introduce new "home" Folder structure object representing the
previous flat-folder
... adjust relevant QDir home - access to use the sub-folder method of
the new object
Note: the new structure is not yet active ! - everything is written to
the main folder still
To Do:
... add upgrade procedure for existing folder content to merge to the
new folders
... be less restrictive for 'TextEdit' and 'LineEdit' field, jus set
'Read Only' to still allow mainly scrolling (which is otherwise blocked)
... mainly for 'Change Log' and 'Calendar Text'
... sync all format strings for time input/output to 'hh:mm:ss'
... remove any 'AM/PM' time formats
... remove tr() commands from time formats (since 'hh:mm:ss' is
reasonable around the globe)
... main reason: QT5 does not follow the pure formatting rules any more
(like QT4), but considers the system.locale in formatting as well (so
for system which have no AM/PM, even if the format string is set, the QT
routines ignore that - having some side effect on GC)
... more tr() changes
... added comparison for both "seconds" OR tr("seconds") to all other
occurences found
... added "Lap" text for Intervalls imported in Garmin FIT format (this
is what Garmin delivers)
(cherry picked from commit ad790f05a386e3ae5c5b9dc129a216ac451b8cfc)
.. Further updates to the charts to honour the background
color preferences:
* Google Maps
* Ride Summary
* Scatter
* Details (Metadata)
* LTM Data View
* Editor
.. still a few left to do and not entirely happy with how
things look on the editor but we can fix this up over
time.
The 4 views have been shown to be confusing -- it is not clear
to new users what their purpose is, and hence how or why they
are different.
So in an effort to reduce the confusion I've renamed a few
things to be much more explicit and specific.
.. We embrace the fact we are a cycling program and use the term
RIDES not ACTIVITIES for all files
.. HOME is confusing, renamed to TRENDS
.. the ANALYSIS view name is confusing, its all about ANALYSIS
to renamed to RIDES
There will no doubt be areas that are not renamed properly we
can fix those when the arise.
Porting the codebase to QT 5 (5.2) to get the
latest bug fixes, performance and improved platform
support.
This first part is to fixup the codebase to compile
on Qt 5, but some aspects have been broken (video).
The second part is to migrate from Qwt 6.0.1 to the
latest Qwt for multiaxis support.
The third part will be to fixup any platform specific
issues or issues identified at runtime.
Decoupled classes from MainWindow to reference Context
and Athlete (and introduced a couple of new headers).
We no longer pass around a MainWindow pointer to children
but pass a context instead.
There are still a few pieces left in MainWindow that need
to move to a better place;
* Setting/clearing filter selection
* Working with Intervals
* Adding/Deleting Rides
* Save on Exit
As mentioned previously there are lots of other parts to
this refactor left to do;
* break MainWindow Gui elements into Toolbar and Views
* migrate from RideItem and Ridelist to ActivityCollection
and Activity classes that are not tied into gui elements.
* introduce Application Context and AthleteCollection
Breaking the MainWindow 'god object' into
separate classes for Athlete and Context.
Further updates will need to;
- break MainWindow Gui elements into Toolbar and Views
- migrate from RideItem and Ridelist to ActivityCollection
and Activity classes that are not tied into gui elements.
- introduce Application Context and AthleteCollection
Once these are done we will be in a position to decouple
most classes from mainwindow and also introduce tabbed
athletes.
.. akin to the Mac look and feel
.. still needs a bit of cosmetic work, but basically sound
.. also added in fixes to native file imports
Fixes#404Fixes#504
When overriding the duration, time riding and other
time based metrics in the metadata screen it asks
the user for the time in seconds.
This update offers a QTimeEdit to edit them, a little
more user friendly.
Fixes#422
For example the notes field on its own tab looks fugly
with a frame inside a tab (especially on a Mac). So this
patch removes the frame and background for a cleaner look.
This patch keeps the original english name of SpecialFields and SpecialTabs
as internalName, to preserve compatibility, while it uses a translated
displayName for user interfase in other languages.