Skip to content

Commit 78256d9

Browse files
authored
Add Omega Z toggle under Horizon Treadmill Options (#4698)
1 parent a8d7988 commit 78256d9

5 files changed

Lines changed: 55 additions & 11 deletions

File tree

src/devices/horizontreadmill/horizontreadmill.cpp

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,10 @@ void horizontreadmill::btinit() {
105105
horizon_treadmill_profile_users.append(
106106
settings.value(QZSettings::horizon_treadmill_profile_user5, QZSettings::default_horizon_treadmill_profile_user5)
107107
.toString());
108+
bool horizon_treadmill_omega_z =
109+
settings.value(QZSettings::horizon_treadmill_omega_z, QZSettings::default_horizon_treadmill_omega_z).toBool();
108110
bool horizon_paragon_x =
109-
settings.value(QZSettings::horizon_paragon_x, QZSettings::default_horizon_paragon_x).toBool();
111+
settings.value(QZSettings::horizon_paragon_x, QZSettings::default_horizon_paragon_x).toBool() || horizon_treadmill_omega_z;
110112
bool miles_unit =
111113
settings.value(QZSettings::miles_unit, QZSettings::default_miles_unit).toBool();
112114
static const QBluetoothUuid merachUnlockCharId(
@@ -927,10 +929,12 @@ void horizontreadmill::update() {
927929
/*initDone*/) {
928930

929931
QSettings settings;
932+
bool horizon_treadmill_omega_z =
933+
settings.value(QZSettings::horizon_treadmill_omega_z, QZSettings::default_horizon_treadmill_omega_z).toBool();
930934
bool horizon_treadmill_7_8 =
931-
settings.value(QZSettings::horizon_treadmill_7_8, QZSettings::default_horizon_treadmill_7_8).toBool();
935+
settings.value(QZSettings::horizon_treadmill_7_8, QZSettings::default_horizon_treadmill_7_8).toBool() || horizon_treadmill_omega_z;
932936
bool horizon_paragon_x =
933-
settings.value(QZSettings::horizon_paragon_x, QZSettings::default_horizon_paragon_x).toBool();
937+
settings.value(QZSettings::horizon_paragon_x, QZSettings::default_horizon_paragon_x).toBool() || horizon_treadmill_omega_z;
934938
bool treadmill_direct_distance =
935939
settings.value(QZSettings::treadmill_direct_distance, QZSettings::default_treadmill_direct_distance).toBool();
936940
update_metrics(!powerReceivedFromPowerSensor, watts(settings.value(QZSettings::weight, QZSettings::default_weight).toFloat()));
@@ -1208,8 +1212,10 @@ bool horizontreadmill::checkIfForceSpeedNeeding(double requestSpeed) {
12081212
void horizontreadmill::forceSpeed(double requestSpeed) {
12091213
QSettings settings;
12101214
const double miles_conversion = 0.621371;
1215+
bool horizon_treadmill_omega_z =
1216+
settings.value(QZSettings::horizon_treadmill_omega_z, QZSettings::default_horizon_treadmill_omega_z).toBool();
12111217
bool horizon_paragon_x =
1212-
settings.value(QZSettings::horizon_paragon_x, QZSettings::default_horizon_paragon_x).toBool();
1218+
settings.value(QZSettings::horizon_paragon_x, QZSettings::default_horizon_paragon_x).toBool() || horizon_treadmill_omega_z;
12131219

12141220
if (gattCustomService) {
12151221
if (!horizon_paragon_x) {
@@ -1291,8 +1297,10 @@ void horizontreadmill::forceSpeed(double requestSpeed) {
12911297
// example frame: 55aa3800030603005d0b0a0000
12921298
void horizontreadmill::forceIncline(double requestIncline) {
12931299
QSettings settings;
1300+
bool horizon_treadmill_omega_z =
1301+
settings.value(QZSettings::horizon_treadmill_omega_z, QZSettings::default_horizon_treadmill_omega_z).toBool();
12941302
bool horizon_paragon_x =
1295-
settings.value(QZSettings::horizon_paragon_x, QZSettings::default_horizon_paragon_x).toBool();
1303+
settings.value(QZSettings::horizon_paragon_x, QZSettings::default_horizon_paragon_x).toBool() || horizon_treadmill_omega_z;
12961304

12971305
if(tunturi_t60_treadmill)
12981306
Inclination = treadmillInclinationOverride(requestIncline);
@@ -1845,7 +1853,8 @@ void horizontreadmill::characteristicChanged(const QLowEnergyCharacteristic &cha
18451853

18461854
} else if (characteristic.uuid() == QBluetoothUuid((quint16)0x2ACD)) {
18471855
bool horizon_treadmill_7_0_at_24 = settings.value(QZSettings::horizon_treadmill_7_0_at_24, QZSettings::default_horizon_treadmill_7_0_at_24).toBool();
1848-
bool horizon_treadmill_7_8 = settings.value(QZSettings::horizon_treadmill_7_8, QZSettings::default_horizon_treadmill_7_8).toBool();
1856+
bool horizon_treadmill_omega_z = settings.value(QZSettings::horizon_treadmill_omega_z, QZSettings::default_horizon_treadmill_omega_z).toBool();
1857+
bool horizon_treadmill_7_8 = settings.value(QZSettings::horizon_treadmill_7_8, QZSettings::default_horizon_treadmill_7_8).toBool() || horizon_treadmill_omega_z;
18491858
bool miles = settings.value(QZSettings::miles_unit, QZSettings::default_miles_unit).toBool();
18501859
lastPacket = newValue;
18511860

@@ -2885,10 +2894,12 @@ bool horizontreadmill::autoPauseWhenSpeedIsZero() {
28852894

28862895
bool horizontreadmill::autoStartWhenSpeedIsGreaterThenZero() {
28872896
QSettings settings;
2897+
bool horizon_treadmill_omega_z =
2898+
settings.value(QZSettings::horizon_treadmill_omega_z, QZSettings::default_horizon_treadmill_omega_z).toBool();
28882899
bool horizon_treadmill_7_8 =
2889-
settings.value(QZSettings::horizon_treadmill_7_8, QZSettings::default_horizon_treadmill_7_8).toBool();
2900+
settings.value(QZSettings::horizon_treadmill_7_8, QZSettings::default_horizon_treadmill_7_8).toBool() || horizon_treadmill_omega_z;
28902901
bool horizon_paragon_x =
2891-
settings.value(QZSettings::horizon_paragon_x, QZSettings::default_horizon_paragon_x).toBool();
2902+
settings.value(QZSettings::horizon_paragon_x, QZSettings::default_horizon_paragon_x).toBool() || horizon_treadmill_omega_z;
28922903

28932904
// the horizon starts with a strange speed, since that i can auto start (maybe the best way to solve this
28942905
// is to understand why it's starting with this strange speed)

src/qzsettings.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1094,6 +1094,7 @@ const QString QZSettings::proform_carbon_tlx_v84_314_treadmill = QStringLiteral(
10941094
const QString QZSettings::proform_carbon_tl_PFTL59723_6 = QStringLiteral("proform_carbon_tl_PFTL59723_6");
10951095
const QString QZSettings::proform_treadmill_cst_505_pftl59420_0 = QStringLiteral("proform_treadmill_cst_505_pftl59420_0");
10961096
const QString QZSettings::applewatch_as_treadmill_speed = QStringLiteral("applewatch_as_treadmill_speed");
1097+
const QString QZSettings::horizon_treadmill_omega_z = QStringLiteral("horizon_treadmill_omega_z");
10971098

10981099
const QString QZSettings::shortcuts_enabled = QStringLiteral("shortcuts_enabled");
10991100
const QString QZSettings::shortcut_speed_plus = QStringLiteral("shortcut_speed_plus");
@@ -1225,7 +1226,7 @@ const QString QZSettings::default_shortcut_lap = QStringLiteral("");
12251226
const QString QZSettings::shortcut_start_stop = QStringLiteral("shortcut_start_stop");
12261227
const QString QZSettings::default_shortcut_start_stop = QStringLiteral("");
12271228

1228-
const uint32_t allSettingsCount = 957;
1229+
const uint32_t allSettingsCount = 958;
12291230

12301231
QVariant allSettings[allSettingsCount][2] = {
12311232
{QZSettings::cryptoKeySettingsProfiles, QZSettings::default_cryptoKeySettingsProfiles},
@@ -2206,6 +2207,7 @@ QVariant allSettings[allSettingsCount][2] = {
22062207
{QZSettings::proform_carbon_tl_PFTL59723_6, QZSettings::default_proform_carbon_tl_PFTL59723_6},
22072208
{QZSettings::proform_treadmill_cst_505_pftl59420_0, QZSettings::default_proform_treadmill_cst_505_pftl59420_0},
22082209
{QZSettings::applewatch_as_treadmill_speed, QZSettings::default_applewatch_as_treadmill_speed},
2210+
{QZSettings::horizon_treadmill_omega_z, QZSettings::default_horizon_treadmill_omega_z},
22092211
};
22102212

22112213
void QZSettings::qDebugAllSettings(bool showDefaults) {

src/qzsettings.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3170,6 +3170,9 @@ class QZSettings {
31703170
static const QString applewatch_as_treadmill_speed;
31713171
static constexpr bool default_applewatch_as_treadmill_speed = false;
31723172

3173+
static const QString horizon_treadmill_omega_z;
3174+
static constexpr bool default_horizon_treadmill_omega_z = false;
3175+
31733176
/**
31743177
* @brief Write the QSettings values using the constants from this namespace.
31753178
* @param showDefaults Optionally indicates if the default should be shown with the key.

src/settings-catalog.json

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"$schema": "https://qdomyos-zwift.local/settings-catalog.schema.json",
33
"schemaVersion": 1,
44
"format": "qdomyos-zwift-settings-catalog",
5-
"settingCount": 945,
5+
"settingCount": 946,
66
"pages": [
77
{
88
"key": "page_custom_gear_table",
@@ -13452,6 +13452,19 @@
1345213452
"defaultValue": "",
1345313453
"defaultExpression": "\"\"",
1345413454
"options": null
13455+
},
13456+
{
13457+
"key": "horizon_treadmill_omega_z",
13458+
"name": "Omega Z",
13459+
"description": null,
13460+
"parent": "Horizon Treadmill Options",
13461+
"type": "boolean",
13462+
"qmlType": "bool",
13463+
"control": "switch",
13464+
"visible": true,
13465+
"defaultValue": false,
13466+
"defaultExpression": "false",
13467+
"options": null
1345513468
}
1345613469
]
1345713470
}

src/settings.qml

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1656,7 +1656,8 @@ import Qt.labs.platform 1.1
16561656
property string shortcut_preset_powerzone_6: ""
16571657
property string shortcut_preset_powerzone_7: ""
16581658
property string shortcut_lap: ""
1659-
property string shortcut_start_stop: ""
1659+
property string shortcut_start_stop: ""
1660+
property bool horizon_treadmill_omega_z: false
16601661
}
16611662

16621663

@@ -10504,6 +10505,20 @@ import Qt.labs.platform 1.1
1050410505
Layout.fillWidth: true
1050510506
onClicked: { settings.horizon_treadmill_7_8 = checked; window.settings_restart_to_apply = true; }
1050610507
}
10508+
IndicatorOnlySwitch {
10509+
id: horizonOmegaZTreadmillDelegate
10510+
text: qsTr("Omega Z")
10511+
spacing: 0
10512+
bottomPadding: 0
10513+
topPadding: 0
10514+
rightPadding: 0
10515+
leftPadding: 0
10516+
clip: false
10517+
checked: settings.horizon_treadmill_omega_z
10518+
Layout.alignment: Qt.AlignLeft | Qt.AlignTop
10519+
Layout.fillWidth: true
10520+
onClicked: { settings.horizon_treadmill_omega_z = checked; window.settings_restart_to_apply = true; }
10521+
}
1050710522

1050810523
IndicatorOnlySwitch {
1050910524
id: horizonTreadmillDisablePauseDelegate

0 commit comments

Comments
 (0)