[skip appveyor]
Fallback to previous Qt and Python versions available on Homebrew
to until we can compile Qwt with Qt 5.15
Python comes back to 3.7.5 since the upgrade to 3.7.7 triggers a Qt upgrade.
Qt comes back to 5.13.2
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.
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 1402f6ad6aFixes#3491
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.
.. 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)); }
.. 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]
.. '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.
.. still have a problem with chartspaces that have zero items that we
will need to address, but this at least means when we add an overview
it isn't blank.
Fixes#3476
This gives a more Unix-like behavior when GC is launched from
cmd or PowerShell, including --debug output, on release builds.
Fixed#3481
[skip travis]
[publish binaries]
.. context menu action and processing in event loop deletes the widgets
whilst events are being processed for it. So in event processing we
now return immediately after triggering context menus.
.. when editing a series the de-dup check included the series we are
in the process of editing- which of course led to it always detecting
a duplicate.
.. we now exclude the series being edited from being checked as a dupe.
.. duplicate series names cause all sorts of problems with the
internal maps and lookups and must not be allowed.
.. if the user creates/edits to create a duplicate series name
we append '_n' (where n is any number from 1 upwards) to
guarantee we never habe duplicates.
.. commit 28b2428 introduced a regression whereby the searchbox will
expand to fill space which was jarring in chart settings.
.. this commit reinstates a fixed height, but slightly larger to
remain compatible with the mainwindow toolbar.
.. from now charts that add custom actions will need to also add the
action to pull up the chart settings - since it is assumed the
custom actions are overriding the standard approach.
.. fixes a regression from the chartbar context menu on tabs commit
where it is not possible to edit the setting for a trends or a
critical power chart.
The "Ignoring the CSC service for device..." was intended to notify when power
sensor is present the CSC service is ignored since it is redundant and may
cause problems, but it is misleading when there is no CSC or Power service.
Reported in #3471
.. instead of the 'More...' button in the top left of a chart when in
tabbed mode we now have a menu button when you hover over a tab.
.. the menu button activates the chart menu for now, till we refactor
to using a chart space.
.. the 'More...' menu is still available when in tiled mode (we need to
decide what to do there).
Unlike for the cadence value which uses 1/1024 second units, the wheel
revolution value is based on 1/2048 second units [1]. It is easy to
notice the problem when you ride downhill at 25 kph instead of 50kph! In
addition, the speed was initially incorrect because the previous wheel
position value was stale. This would sometimes give the speed of a
rocket for the initial interval and make a jump on the distance of
several km.
[1] Cycling Power Service, Bluetooth Service Specification, Date 2016-05-03, Revision CPS_v1.1, Prepared By Sports and Fitness Working Group, head of page 15.
https://www.bluetooth.org/DocMan/handlers/DownloadDoc.ashx?doc_id=412770,
When parsing a "distance slope wind" type, a truncate to integers was done
after computation to meters. This involved rounding issues that were
accumulated, and were quite visible when such a file was used to synchronized
with an RLV video (the slope changes happened "too early").
.. the OverviewWindow class has been refactored to extract out the
core dashboard UX/UI into a new class ChartSpace.
.. additionally, a ChartSpace contains a set of ChartSpaceItem which
need to be subclassed by the developer.
.. for the Overview a set of OverwiewItem classes have been introduced
such as RPEOverviewItem, MetricOverviewItem and so on. These are
subclasses of the ChartSpaceItem.
.. The overview window implementation is now mostly configuration and
assembly of a dashboard using OverviewItems and the ChartSpace.
.. This refactor is to enable the ChartSpace to be used as a drop in
replacement for the existing TabView.
.. There are no functional enhancements in this commit, but the
overview chart shouls appear to be unchanged by the user.
Switching from start_index to start_date_local fixes#3457
Since Duration is End-Start+1, End is decremented to match elapsed_time.
fixLapSwims don't rely on Smart Recording being enabled and,
since km is distance at the end of the sample, a correction is added.
Michael Dagenais found this change makes the widgets to play nicer with
Windows Managers and avoids them to get on top of other programs windows.
Minimize and Restore is automatically handled now, so this commit partially
reverts b89019264e, removing MainWindow
state changes tracking, but keeping VideoWindow position tracking.
This is a clean up to remove conditional compilation for all Qt versions
older than the last known to work: Qt 5.9 with Qt WebEngine and Qt Charts.
Includes an update note to INSTALL documents.
When the video widget is scrolled, the MeterWidget windows appeared on
top of the Main Window user interface. Now the visible portion of the
Video Window is tracked and used as a clipping region. This avoids
blocking the controls on bottom toolbar.