Commit Graph

522 Commits

Author SHA1 Message Date
Joern
bc1e3c2713 Switch to kQOAuth
.. this removes the dependencies on liboauth and friends
   and replaces it with a single lib.

.. the library is available from http://github.com/kypeli/kQOAuth

.. the only current feature that requires OAuth is tweet
   your ride, but this lib will provide the services for
   future oauth services.
2014-12-23 20:25:25 +00:00
Joern
0610575a7c Enable Context Help (Shift+F1) using "QT's - What's This"
... adds "What's this" to (hopefully) most of the widgets (please report
on missing ones)
... defines draft "Whats' this" texts including a
context specific WikiLink

.. Help Key for all platforms is <Shift>+<F1> + in some widgets
"RightMouse - Click"

... Tested on Win and Mac (On Mac QtMacButton seems not supporting
"What's this") - so here <Shift>+<F1> has no result.

... ToDo: Create final texts and links based on the to be updated 3.11
Wiki
2014-12-14 18:55:42 +01:00
Mark Liversedge
f4ad330a5f Isolating Intervals code
.. it will almost certainly break when metricDB is retired
   so isolating it a little further, we can fix it up once
   the ridecache code is done.
2014-12-12 13:18:59 +00:00
Mark Liversedge
0840980ad6 Migrate Export Metrics as CSV
.. from MetricDB to RideCache
2014-12-12 10:15:26 +00:00
Mark Liversedge
22584288ca Ridecace Measures deprecated from SQLite
This is quite a big patch with lots of nasty interdependencies
all collected together but essentially it deprecates;

* Measures are no longer stored in SQL tables
* Zeo support has been dropped (they went bust)

To achieve this there are a large number of updates;

* Withings json is now cached in /cache and in the Athlete
  class. So can be traversed in memory rather than SQL

* All "measures" on LTM have been removed and the only metric
  left is "Athlete Weight" that cascades from withings to ride
  "Weight" metadata value to athlete settings to a 80kg default

* RideCache is now refreshed, but only for metadata. This is needed
  to cache the "Weight" metadata from rides when calculating weight.

* JsonRideFile parser is now re-entrant since it will run in parallel
  during RideCache refreshes (using the QtConcurrent::map()
  framework).

BUT NOTE

* This is about deprecating the Measures table more than anything
  else. Functionally we are in pretty much the same place; just that
  data is stored in a different place.

  e.g. metric/imperial handling of weight is not fixed yet, no
  metrics are in the cache yet, load/save of the cache is not done
  so startup is slow etc.
2014-12-08 16:48:58 +00:00
Mark Liversedge
5c9da4de37 RideCache Framework Update
.. needed to clean RideItem a touch

.. needed to isolate intervals code as it has some
   problems and breaks metricaggregator for normal
   use.

.. found a bit of Context code in MainWindow.cpp (!!)
2014-12-05 23:06:28 +00:00
Mark Liversedge
282ecdef63 RideCache Background Refresh Framework
.. subtle, thin progress bar on tabview to notify
   when background updates are in progress

.. background updating code created but does not
   perform a refresh yet, just sleeps for 0.2s

.. to enable 'visibility' of the code use WANT_RIDECACHE
   to the defines in gcconfig.pri
2014-12-05 20:08:32 +00:00
Mark Liversedge
106c98255e Save Command flushed Metadata first
.. 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).
2014-12-03 10:57:07 +00:00
Mark Liversedge
f148481ada Finally remove Old Ride list QTreeWidget !
.. its been there since the beginning at the heart of the code
   as a registry of the rides (RideItem) and controlling the
   selection of rides.

.. in v3.0 we stopped showing it, but it was still created and
   then hidden immediately. But removing the 'spine' of the code
   was seen as a step too far.

.. this is the first part of moving from SQL to a NoSQL cache
   for ride metrics, metadata and measures -- RideItem is now
   no longer inheriting from QTreeWidgetItem with all the issues
   that brings.

.. since its right at the heart there are likely to be unforeseen
   bugs as we go, especially since it affects the ride navigator.

.. add/delete has been tested a fair amount and should be reliable.
2014-12-03 10:33:50 +00:00
Rainer Clasen
a0531d293a always include ShareDialog
... but limit what individual services are build/offered based on oauth
availability (Strava, CyclingAnalytics). Load's of ifdef... making me
think about alternative solutions - especially now that the common
uploader base class allows to stuff them in a List/map/vector/whatever.
2014-11-15 23:22:07 +01:00
Mark Liversedge
d4b3cbacf2 Restructure Menus
.. added Edit for all ride data processors now we
   have quite a few to select from

.. shifted a few things around to make important
   options more prominent (e.g. Share) and less important
   ones less prominent (e.g. Heat Map)
2014-11-15 19:41:15 +00:00
Rainer Clasen
aa4770ca05 use ShareDialog for VeloHero and Trainingstagebuch
adjusted velohero + Trainingstagebuch upload to use new ShareDialog
2014-11-15 17:04:37 +01:00
Cyclenerd
b0ed28ba97 Upload to Velo Hero
Upload workouts (PWX export) to Velo Hero (http://www.velohero.com).

Author: Nils Knieling
Reviewed: Rainer Clasen
2014-11-14 17:54:25 +01:00
Damien
08987d693a IntervalView: Add a new intervals View 2014-11-12 22:29:40 +01:00
Mark Liversedge
25ee643094 Updated Merge Tool Part 1 of 2
.. data can be sourced from file, download or list

.. next to update the mode (join or merge) and the
   merge strategy and parameters.

.. will also need to update the download dialog to
   allow you to specify which downloaded rides to
   process -- at present the merge tool assumes that
   the download dialog will only return 1 result

.. pleased with the way the download dialog is embedded
   within the wizard, will use that for other things!
2014-11-12 12:55:35 +00:00
Joern
a73d5df95c AutoImport - 2nd version
... multiple pathes per Athlete (on Athlete-Preferences - AutoImport
TAB) - option per Path if Import shall be done or not (e.g. for
temporary de-activation without removig a path)
... configuration stored in XML file in /config subdir
... no "stealth" mode any more - but full log of Rides to be imported
with option to "Abort" the import process at any time
2014-11-09 10:58:23 +01:00
Joern
230f028037 AthleteDirectory - Folder Structure Part 2 of 2 + Always create .JSON
... 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
2014-11-02 19:55:01 +01:00
Mark Liversedge
8b21c0994f Fix Help URLs
.. and add link to the forum
2014-11-01 17:25:23 +00:00
Joern
f1447d2664 AthleteDirectory - Folder Structure Part 1
... 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
2014-10-25 19:08:27 +02:00
Mark Liversedge
cda1266960 Fix Avatar selection and make menu icon
.. when opening a new athlete
2014-10-25 11:14:11 +01:00
Joern
809696d9b3 Auto/Stealth Ride Import when opening an Athlete
...  import Ride Files automatically from a defined Directory per
Athlete
...  runs silently/without "Import Rides" Widget if the files can be
imported/copied/... without error or warning
...  Preferences->Athlete- defines
... the directory - per Athlete and- if the function is active at all
(default is OFF)
... the error handling
... report back ALL errors and warnings by opening the RideImportWizard
popup
... report back Errors and Warnings - but ignore the "File exists"
warning (so that the import directory can be continously supplied with
new files, without the need to remove the already imported ones)
2014-10-12 19:28:16 +02:00
Joern
c4f8e12237 Last Opened Athlete stored
... last opened was not stored any more in 3.1 final build
2014-09-17 18:50:30 +02:00
Mark Liversedge
4a4459b6f7 TP.com fixups
.. title metadata

.. title of dialog
2014-09-12 13:18:38 +01:00
Jon Beverley
8ee12aa8ca Add Heat Map 2014-09-04 12:50:57 +01:00
Mark Liversedge
37c4152ed2 Default for "Title" when uploading
.. via "Chris C" on the developer list.
2014-08-18 10:08:51 +01:00
Mark Liversedge
b976905e68 Avoid saveState() warning on object name
.. by setting it for the unified toolbar on a Mac.
2014-08-10 16:16:09 +01:00
Jon Beverley
cde54eba51 Change to use Qt saveState & restoreState
Should work on Win, Mac & Linux.
2014-08-08 11:16:04 +01:00
Jon Beverley
250d9d1abe Reopen window in maximised state (windows) 2014-08-06 09:49:22 +01:00
Mark Liversedge
c698ab4ebf Default Weight Refresh
.. if the default athlete weight is changed then all ride
   metrics need to be recalculated to reflect the new default

.. any cached values need to be invalidated so interval metrics
   reflect the new weight (if needed)

It would be better for users to maintain weight either against the
ride in the "Weight" field, or via Withings !
2014-07-26 11:38:00 +01:00
Mark Liversedge
a551335b6d GProgressDialog Mac QT 5.3.1 fixups
.. being more careful with modality and mainwindow
2014-06-30 18:03:44 +01:00
Mark Liversedge
22e136f96f 3.1 Upgrade Processing Part 1 of 3
.. getting the upgrade code going, this just adds new functions
   for changing colors and themes and doesn't perform an upgrade

.. Part 2 will deal with W' and power.zones changes

.. Part 3 will deal with chart setup changes
2014-06-22 13:08:27 +01:00
Mark Liversedge
099dd9a58f Add metric count to about box 2014-06-17 14:55:56 +01:00
Joern
838d27833b Translation Enablement
... tr()
... Adding to Special Fields (allow translation of "Details->Extra"
fields
2014-06-15 12:56:55 +02:00
Mark Liversedge
db3434fe1a Confirm popup on reset layout
.. user might not have mean't it.
2014-06-13 23:09:22 +01:00
Mark Liversedge
36b2fe5ad7 Allow Fullscreen Startup
.. thanks to Claus Assman for pointing this out.
2014-06-13 21:21:54 +01:00
Mark Liversedge
df245b84ea Fix font selection
.. should update when saved not restarted.
2014-06-13 18:10:48 +01:00
Mark Liversedge
c77da956af Fixup initial geometry and positioning
.. some regressions in there (setting only saved on move)

.. will check the positioning and geometry are sensible regardless
   of whether they come from appsettings or defaults.
2014-06-13 16:15:35 +01:00
Joern
db14c65969 Windows - Menu bar - Mac / Style problem
... in Windows - Mac / Metallic style did not work any more, only flat
style color was shown
2014-06-12 19:09:22 +02:00
Mark Liversedge
a520519db1 Athlete Tabs Background honour config
.. colour config is starting to get boring!
2014-06-06 21:31:08 +01:00
Mark Liversedge
457bd772ab Only need to wait on exit in QT 5.3
.. which is convenient because QThread::sleep is only
   public in QT 5.2.1 or higher.
2014-06-06 18:42:04 +01:00
Mark Liversedge
cac50d949b Wait 10s for threads to finish when closing 2014-06-06 14:17:11 +01:00
Mark Liversedge
40d9c91bbb Flat Titlebar not supported on QT < 5 on Mac 2014-06-03 18:33:11 +01:00
Mark Liversedge
33d2910488 Fix compile error on Mac < QT 5 2014-06-03 17:55:48 +01:00
Mark Liversedge
f29f87066c Fixup Mac compile on QT < 5
.. blackline doesn't exist compile error.
2014-06-03 08:26:37 +01:00
Mark Liversedge
32ab055cab Mac now honours flat theme
.. but not sure its gonna be very popular !
2014-06-02 12:43:34 +01:00
Mark Liversedge
fcea15fc92 Windows Style Part 3 of 3
.. flat colors based upon windows prefrences if on
   windows -- BUT ONLY if Dsmapi.h is available.
2014-06-01 15:33:23 +01:00
Mark Liversedge
708e8f5f34 Trap WindowStateChange in MainWindow
.. but just to resize the toolbar when on a Mac
2014-05-27 21:21:17 +01:00
Mark Liversedge
71ca1365de Basic Themes Support
.. no doubt we will extend and refine this but at least you
   can select some basic prebuilt themes.

.. will need to add more as its a limited list but the basics
   are in place for now.

Fixes #855.
2014-05-03 18:18:42 +01:00
Mark Liversedge
4b967c742e Add Chart now back on Chart Bar
.. so at least chart adding should be easier and no more
   UX issues.

.. need to look to add other menu options there; add page, athlete,
   chart settings.
2014-04-09 15:51:43 +01:00
Ilja Booij
57795d2d2e Fix crash at shutdown.
The context pointer was dereferenced after the context object was deleted. This is fixed by storing a pointer to the MainWindow in QTFullScreen, so context does not have to be dereferenced.

The logic in QTFullScreen::eventFilter is also simplified a bit.
2014-04-07 20:19:17 +02:00