Skip to content

Commit 736b709

Browse files
authored
Keyboard shortcut fix (#4706)
1 parent 0a4da72 commit 736b709

10 files changed

Lines changed: 227 additions & 179 deletions

src/homeform.cpp

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4951,6 +4951,8 @@ bool homeform::handleKeyboardShortcut(const QString &sequence) {
49514951
Lap();
49524952
} else if (matches(QZSettings::shortcut_start_stop, QZSettings::default_shortcut_start_stop)) {
49534953
StartRequested();
4954+
} else if (matches(QZSettings::shortcut_stop, QZSettings::default_shortcut_stop)) {
4955+
StopRequested();
49544956
} else {
49554957
return false;
49564958
}
@@ -5525,10 +5527,7 @@ void homeform::Minus(const QString &name) {
55255527
}
55265528
} else if (name.contains(QStringLiteral("remainingtimetrainprogramrow"))) {
55275529
if (bluetoothManager->device() && trainProgram) {
5528-
// Offset:
5529-
// 1. To account for current tick
5530-
// 2. To bounce back to previous
5531-
trainProgram->decreaseElapsedTime(QTime(0, 0, 0).secsTo(trainProgram->currentRowElapsedTime()) + 2);
5530+
trainProgram->goToPreviousRow();
55325531
}
55335532
} else if (name.contains(QStringLiteral("peloton_offset")) || name.contains(QStringLiteral("peloton_remaining"))) {
55345533
if (bluetoothManager->device() && trainProgram) {
@@ -6099,7 +6098,10 @@ void homeform::update() {
60996098
remaningTimeTrainingProgramCurrentRow->setValue(
61006099
trainProgram->currentRowRemainingTime().toString(QStringLiteral("h:mm:ss")));
61016100
remaningTimeTrainingProgramCurrentRow->setSecondLine(
6102-
trainProgram->currentRowElapsedTime().toString(QStringLiteral("h:mm:ss")));
6101+
trainProgram->currentRowElapsedTime().toString(QStringLiteral("h:mm:ss")) +
6102+
QStringLiteral(" (") + QString::number(trainProgram->currentLogicalStep()) +
6103+
QStringLiteral("/") + QString::number(trainProgram->totalLogicalSteps()) +
6104+
QStringLiteral(")"));
61036105
targetMets->setValue(QString::number(trainProgram->currentTargetMets(), 'f', 1));
61046106
trainrow next = trainProgram->getRowFromCurrent(1);
61056107
trainrow next_1 = trainProgram->getRowFromCurrent(2);

src/homeform.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -656,6 +656,7 @@ class homeform : public QObject {
656656
Q_INVOKABLE void sendMail();
657657

658658
Q_INVOKABLE void keyboardStartStop() { StartRequested(); }
659+
Q_INVOKABLE void keyboardStop() { StopRequested(); }
659660
Q_INVOKABLE void keyboardLap() { Lap(); }
660661
Q_INVOKABLE void keyboardPlus(const QString &name) { Plus(name); }
661662
Q_INVOKABLE void keyboardMinus(const QString &name) { Minus(name); }

src/main.qml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,8 @@ ApplicationWindow {
207207
property string shortcut_preset_powerzone_7: ""
208208
property string shortcut_auto_resistance: ""
209209
property string shortcut_lap: ""
210-
property string shortcut_start_stop: ""
210+
property string shortcut_start_stop: ""
211+
property string shortcut_stop: ""
211212
}
212213

213214

@@ -1514,6 +1515,7 @@ ApplicationWindow {
15141515
Shortcut { context: Qt.WindowShortcut; sequence: settings.shortcut_auto_resistance; enabled: shortcutReady(sequence); onActivated: rootItem.setAutoResistance(!rootItem.autoResistance) }
15151516
Shortcut { context: Qt.WindowShortcut; sequence: settings.shortcut_lap; enabled: shortcutReady(sequence); onActivated: rootItem.keyboardLap() }
15161517
Shortcut { context: Qt.WindowShortcut; sequence: settings.shortcut_start_stop; enabled: shortcutReady(sequence); onActivated: rootItem.keyboardStartStop() }
1518+
Shortcut { context: Qt.WindowShortcut; sequence: settings.shortcut_stop; enabled: shortcutReady(sequence); onActivated: rootItem.keyboardStop() }
15171519
}
15181520
}
15191521
}

src/qzsettings.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1230,8 +1230,10 @@ const QString QZSettings::shortcut_lap = QStringLiteral("shortcut_lap");
12301230
const QString QZSettings::default_shortcut_lap = QStringLiteral("");
12311231
const QString QZSettings::shortcut_start_stop = QStringLiteral("shortcut_start_stop");
12321232
const QString QZSettings::default_shortcut_start_stop = QStringLiteral("");
1233+
const QString QZSettings::shortcut_stop = QStringLiteral("shortcut_stop");
1234+
const QString QZSettings::default_shortcut_stop = QStringLiteral("");
12331235

1234-
const uint32_t allSettingsCount = 961;
1236+
const uint32_t allSettingsCount = 962;
12351237

12361238
QVariant allSettings[allSettingsCount][2] = {
12371239
{QZSettings::cryptoKeySettingsProfiles, QZSettings::default_cryptoKeySettingsProfiles},
@@ -2210,6 +2212,7 @@ QVariant allSettings[allSettingsCount][2] = {
22102212
{QZSettings::shortcut_auto_resistance, QZSettings::default_shortcut_auto_resistance},
22112213
{QZSettings::shortcut_lap, QZSettings::default_shortcut_lap},
22122214
{QZSettings::shortcut_start_stop, QZSettings::default_shortcut_start_stop},
2215+
{QZSettings::shortcut_stop, QZSettings::default_shortcut_stop},
22132216
{QZSettings::step_gain, QZSettings::default_step_gain},
22142217
{QZSettings::proform_carbon_tlx_treadmill, QZSettings::default_proform_carbon_tlx_treadmill},
22152218
{QZSettings::proform_carbon_tlx_v84_314_treadmill, QZSettings::default_proform_carbon_tlx_v84_314_treadmill},

src/qzsettings.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3157,7 +3157,10 @@ class QZSettings {
31573157

31583158
static const QString shortcut_start_stop;
31593159
static const QString default_shortcut_start_stop;
3160-
3160+
3161+
static const QString shortcut_stop;
3162+
static const QString default_shortcut_stop;
3163+
31613164
/*
31623165
* @brief Gain multiplier applied to step count calculated from cadence for calibration purposes
31633166
*/

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": 949,
5+
"settingCount": 950,
66
"pages": [
77
{
88
"key": "page_custom_gear_table",
@@ -13453,6 +13453,19 @@
1345313453
"defaultExpression": "\"\"",
1345413454
"options": null
1345513455
},
13456+
{
13457+
"key": "shortcut_stop",
13458+
"name": "Stop",
13459+
"description": null,
13460+
"parent": "Keyboard Shortcuts",
13461+
"type": "string",
13462+
"qmlType": "string",
13463+
"control": "text",
13464+
"visible": true,
13465+
"defaultValue": "",
13466+
"defaultExpression": "\"\"",
13467+
"options": null
13468+
},
1345613469
{
1345713470
"key": "garmin_download_workouts_on_start",
1345813471
"name": "Fetch Garmin Workouts on Startup",

src/settings-shortcuts.qml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ ScrollView {
9191
property string shortcut_auto_resistance: ""
9292
property string shortcut_lap: ""
9393
property string shortcut_start_stop: ""
94+
property string shortcut_stop: ""
9495
}
9596

9697
ColumnLayout {
@@ -179,9 +180,13 @@ ScrollView {
179180
ColumnLayout {
180181
anchors.fill: parent
181182
RowLayout {
182-
Label { text: qsTr("Start / Stop"); Layout.fillWidth: true }
183+
Label { text: qsTr("Start / Pause"); Layout.fillWidth: true }
183184
ShortcutField { text: settings.shortcut_start_stop; settingName: "shortcut_start_stop" }
184185
}
186+
RowLayout {
187+
Label { text: qsTr("Stop"); Layout.fillWidth: true }
188+
ShortcutField { text: settings.shortcut_stop; settingName: "shortcut_stop" }
189+
}
185190
RowLayout {
186191
Label { text: qsTr("Lap"); Layout.fillWidth: true }
187192
ShortcutField { text: settings.shortcut_lap; settingName: "shortcut_lap" }

src/settings.qml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1689,7 +1689,8 @@ import Qt.labs.platform 1.1
16891689
property string app_language: "auto"
16901690

16911691
property bool garmin_download_workouts_on_start: true
1692-
property bool trainprogram_clipboard_workout_enabled: false
1692+
property bool trainprogram_clipboard_workout_enabled: false
1693+
property string shortcut_stop: ""
16931694
}
16941695

16951696

0 commit comments

Comments
 (0)