Commit Graph

8178 Commits

Author SHA1 Message Date
Stranger
4d205bd742 Update Russian translation (#3519) 2020-06-22 16:47:02 -03:00
ericchristoffersen
8956f60826 VirtualPowerTable: sort remove empty rows (#3517) 2020-06-22 15:17:32 -03:00
Ale Martinez
0e1bec38aa Enable GoldenCheetah JSON files as Workouts and VideoSync
Any other activity file format GC supports can be imported,
conditioned using Fix Elevation, Fix GPS, etc. and exported
to GoldenCheetah .json format to be used for simulated rides
with synchronized video and position tracking.
Complements #3469, Fixes #3376
2020-06-22 14:41:31 -03:00
ericchristoffersen
225cf0c9d5 Base code for additional ride and video types (#3469)
Related to #3376
2020-06-22 14:35:43 -03:00
Mark Liversedge
ad4d06faa8 MetricOverviewItem show Personal Bests
.. shows a little medal on the metric tile if it is a best for the
   period. Shows if top 3, in order:
   - all time, including the future
   - all time till today
   - last year
   - last 90 days
   - last 30 days

.. helps to highlight positives from most activities.
2020-06-22 13:56:45 +01:00
Ale Martinez
5eafea682b Fix untranslatable strings
Fixes #3513
2020-06-21 18:59:40 -03:00
ericchristoffersen
c3145c5f04 Make BicycleSim setting page translatable (#3518) 2020-06-21 18:35:58 -03:00
Mark Liversedge
0dc5fc2f6f Donut hover less jarring
.. big font for label feels jarring, made smaller and less vibrant
   color choice.
2020-06-21 09:17:30 +01:00
Peter
984d28abf0 LiveMap V0.1 - Tracking position
Initial implementation of #3482
LiveMap is hidden when GPS data is not available
New layout including Live Map and graphical widgets
added to video-layout.xml, zoom can be configured there.
2020-06-20 20:55:16 -03:00
Michel Dagenais
05e89e5c34 Add control to Video Player to select among several Meter Widget layouts (#3515)
The video layout file is extended to contain possibly several named
layouts. The file is read to list the layouts and offer a selection in
the Video Player chart settings menu. The file is then read again to
instantiate the selected layout.
2020-06-20 14:41:19 -03:00
ericchristoffersen
32884b1c6a Support Custom Virtual Power Curve (#3410)
* Base work for dynamic speed power curves.

* Add test for spindown - proof templates.

* Dialog for adding virtual power curve

* Finished.

* Potential typename fix.

* Fix another typename problem.

* const typename reorder

* Missing header in clang build.

* Fix error with static init order.

* Forgot to set id for known devices.
2020-06-20 18:28:53 +01:00
Mark Liversedge
e1086afc50 Donut hover label
.. display the slice label when hoverring as it can sometimes be
   obscured or truncated, depending upon the layout/size of tile.
2020-06-20 17:57:26 +01:00
Mark Liversedge
21c07be749 Overview donut hover
.. show percentage for slice when hoverring.
2020-06-20 15:53:33 +01:00
Mark Liversedge
59f736bb50 Default Overview error
.. meta field is 'Workout Code' not 'Workout_Code', mildly confusing
   that user names don't have spaces whilst internal names do.
2020-06-20 15:13:27 +01:00
Mark Liversedge
a81c97c09b Donut highlight largest slice
.. explode and different colour.
2020-06-20 11:07:01 +01:00
Mark Liversedge
c72a14a023 Donut Overview Tile
.. plot metric by category as a donut (pie) chart.

.. particularly useful as an overview of sport or workout codes for
   multisport athletes.

.. also fixed up metadata selection which was broken (!)
2020-06-20 10:28:47 +01:00
Stranger
903861bae9 Update Russian translation (#3516) 2020-06-19 18:26:41 -03:00
Mark Liversedge
dff682fd88 Overview Trend Filter Nits
.. layouts mucked up a bit, needed stretches

.. the filterset wasn't updated correctly, causing filtering to not
   work in the way anticipated.

.. Activities metric should be a MetricType::Total, which will become
   more popular on Metric tiles with filters (e.g. how many activities
   > 0.85 IF etc).
2020-06-19 21:08:40 +01:00
Mark Liversedge
6637a45929 Missing Utils::jsonunprotect()
.. when parsing overview config.
2020-06-19 16:01:25 +01:00
Mark Liversedge
837a7c6154 Overview Trends View Filtering
.. overview items now have a filter that is applied

.. additionally the usual filters on the trends view are honored.
2020-06-19 15:46:37 +01:00
Ale Martinez
e32e233d5f Add Favero Assioma Duo and several Garmin sensor ids
Fixes #3503
2020-06-18 12:34:48 -03:00
Mark Liversedge
b66f65e129 Cosmetic SideSelector, Sidebar and Chartbar heights
.. all need to line up, so they aren't different by a matter of a
   small number of pixels as that leads to a jarring experience.
2020-06-17 16:35:45 +01:00
Mark Liversedge
9dbfc10e04 Visual clue chartbar tab has a menu
.. hover shows the menu indicator as subtly as possible, but will
   indicate to user there is a menu popup there as they hover.
2020-06-17 14:35:29 +01:00
Ale Martinez
3be603a9ee Ignore additional sports in tha same session
Also removed the old logic for mulstisport sessions, now replaced
by sessionSplit.
Add Garmin Fenix 6 models
Fixes #3507
2020-06-16 20:47:01 -03:00
Mark Liversedge
e4ad4ab1a3 Cosmetic nits
.. a faint baseline for sparkline in overview to provide context
   especially for plotting seasons

.. chartbar tabs taller and font centered.
2020-06-16 16:31:07 +01:00
Mark Liversedge
bf76bac59d Overview Trend Cosmetics
.. fill under a cumulative curve to indicate its not just the metric
.. truncate date ranges to today where it extends to the future
2020-06-15 17:55:44 +01:00
Mark Liversedge
c3463860d5 KPI Overview Item Show/Hide progressbar on config change
.. borked logic fixed up.
2020-06-15 17:18:07 +01:00
Ale Martinez
1c4c83af5e FitRideFile - Don't try to split when we don't have a RideFile
But to check for errors.isEmpty() is overkill, when the returned value
is not NULL, they can be warnings according to RideFileImport interpretation.
Fixes #3479
2020-06-14 15:16:29 -03:00
Mark Liversedge
5c84f7f789 VERSION 3.6 DEVELOPMENT JUNE 2020
.. update build id prior to tag.

[publish binaries]
2020-06-14 18:56:18 +01:00
Mark Liversedge
dbecc005b5 Overview Chart on Trends view
.. updated the overview chart to support trend view and summarise
   a season or date range.

.. scope now meaningful in the item registry.

.. added a new TopNOverviewItem to view a ranked list of activities
   by metric.

.. updated sparkline to plot variable range (>30days)

.. sort and multisort datafilter functions adjusted as caused a
   SEGV during testing (sorry not in separate commit).
2020-06-14 17:48:17 +01:00
Ale Martinez
04b4d945fa FitRideFile - Don't call splitSessions without rideFile
To avoid crashes and since there is nothing to do.
2020-06-13 10:53:35 -03:00
Ale Martinez
74f3a213ac Don't try to split FIT files with errors
Fixes #3479
2020-06-12 19:17:39 -03:00
Ale Martinez
f6bcccb04c Require Qt >= 5.13 to build v3.6
No need for conditional compilation for previous versions.
Added message at build time to avoid confusion.
2020-06-12 14:29:50 -03:00
Ale Martinez
c1727623a8 Recognize Polar S625x srd files
Add 2 test files from S625X
Fixes #3489
2020-06-12 13:07:37 -03:00
Ale Martinez
757a01e876 Add Garmin MTB Dynamics to FitRideFile
Grit and Flow - Fixes #3488
2020-06-12 11:34:06 -03:00
Michel Dagenais
20d8836708 Add user notification for bluetooth devices and services connected 2020-06-11 19:56:03 -03:00
Michel Dagenais
775765b853 Insure computation accuracy for speed and cadence
Some accuracy was lost in an integer divison for speed and cadence in
getCadence and getWheelRPM, the expression was correct but non obvious
in setWheelRPM, and the speed was not reset upon disconnection for
CyclingPower while this service is used for power and speed when present.
2020-06-11 19:56:03 -03:00
Michel Dagenais
3982267e29 Add support for the Wahoo Kirck (Core) through BlueTooth LE
All the commands to set the different parameters (weight, wheel size,
gradient or load, wind speed...) are added to BT40Device and
BT40Controller. A separate pull request will add support to actually
take advantage of these parameters, like the cyclist weight, now
available in this and other devices like the Fortius.
2020-06-11 19:56:03 -03:00
Michel Dagenais
2418d3b95b Convert size from pixels to points for use in setPointSize (#3452)
Currently, size is computed from the QWidget geometry height in pixels and then used to set the font size in points. In many cases the result is not that bad because, depending on the screen size and resolution, the pizel size is not that far from one point. We now convert from pixels to inch (DPI) and then from inches to points (72 points/inch). This solves the problem of the text being clipped sometimes or the margin being too large.
2020-06-10 22:24:53 +01:00
Mark Liversedge
df2d436a02 User, R and Python Chart fill curves
.. add ability to plot filled curves.
2020-06-10 19:59:21 +01:00
Ale Martinez
20c975e7df Don't call locationAt/gradientAt in Erg mode
Since they reset the brackets, defeating their use by wattsAt and
forcing all searches start from the beggining, and generating
problems with ErgTimeRemaining, which depends on rightPoint.
This problems was introduced by 1402f6ad6a
Fixes #3491
2020-06-10 14:24:04 -03:00
Ale Martinez
7d8c27fd54 Initialize mode when parsing Erg2 workout files
Otherwise they can inherit the wrong mode from previous workout
2020-06-10 11:53:10 -03:00
Ale Martinez
b0a8c6edfa Add units to Load source for overlay widgets 2020-06-10 11:43:29 -03:00
Mark Liversedge
6163ece7d6 KPIOverviewItem painting nit
.. setData() was adjusting visibility of the progressbar and should not
   have been. Now calls itemGeometryChanged() to manage that correctly.
2020-06-10 09:54:40 +01:00
Mark Liversedge
66fb3b2bde Overview nits
Some nits from recent Overview updates:
* compiler error using 'and' instead of '&&', gcc happy, msvc not.
* kpi overview item default set to CP estimate
* add chart wizard formatting of final page.
2020-06-09 21:17:33 +01:00
Mark Liversedge
47d79bd872 KPI overview item
.. uses  a datafilter program to calculate a kpi and displayed alongside
   a progressbar that shows how the value is progressing to a goal.

.. its really useful to compute across estimates, mmp etc without having
   to write a custom metric

.. one simple example is to show CP estimates and progress towards
   a target CP or 5 minute best, or perhaps weight.

   A program to display the internally generated CP estimate using
   the Morton 3 parameter model would be:

   { round(estimate(cp3,cp)); }
2020-06-09 19:45:44 +01:00
Mark Liversedge
6e8bad3d19 Fix Overview Zone settings
.. data loss by updating during initialisation of config widget.
2020-06-09 08:50:00 +01:00
Ale Martinez
1ec634f043 Replace modal dialog with emit setNotification in Computrainer Controller
The "Cannot Connect to Computrainer" now shows in TrainBottom notification
area unobtrusively. Fixes #2439
2020-06-08 20:03:13 -03:00
Mark Liversedge
2b54f68d50 Overview Config Part 2 of 2
.. allow edit and remove of existing items on the overview.

.. due to the way widgets are managed by layouts we create the
   configuration widgets on demand and they will be deleted
   once the dialogs close.

.. this is fine for overview, but will require a significant
   level of refactoring once we start adding charts such as
   allplot, trends etc to be added to a chartspace.

[publish binaries]
2020-06-08 21:17:19 +01:00
Mark Liversedge
410aaf6a93 Overview Config Part 1 of 2
.. 'Add Tile' added to the overview menu - to enable users to
   choose and configure tiles to add to the dashboard.

.. ChartSpaceItems should now be registered to a new chart
   space item registry, which will eventually replace the
   current window registry

.. ChartSpaceItems need to register a method to create new
   items with default settings and provide a widget for
   configuring themselves.

.. A new config widget has been created to cover the
   overview tiles and some gui components for selecting
   metrics, metadata fields and ride series have also
   been added.

.. In part 2 we need to add the ability to configure
   existing tiles and also remove them.
2020-06-08 17:13:55 +01:00