This commit is contained in:
firestar5683
2026-04-19 11:10:33 -05:00
parent ead3933e8f
commit 37100542e9
2 changed files with 36 additions and 16 deletions
@@ -896,20 +896,32 @@ class StarPilotSLCOffsetsLayout(StarPilotPanel):
{
"title": tr_noop(f"Offset {i}"),
"type": "value",
"get_value": lambda k=key: f"{self._params.get_int(k)} mph",
"get_value": lambda k=key: f"{self._params.get_int(k)}{self._speed_unit()}",
"on_click": lambda k=key: self._show_speed_selector(k),
"color": "#597497",
}
)
self._rebuild_grid()
def _is_metric(self):
return self._params.get_bool("IsMetric")
def _speed_unit(self):
return " km/h" if self._is_metric() else " mph"
def _speed_range(self):
return (-150, 150) if self._is_metric() else (-99, 99)
def _show_speed_selector(self, key):
def on_close(res, val):
if res == DialogResult.CONFIRM:
self._params.put_int(key, int(val))
self._rebuild_grid()
gui_app.set_modal_overlay(AetherSliderDialog(tr(key), -99, 100, 1, self._params.get_int(key), on_close, unit=" mph", color="#597497"))
min_value, max_value = self._speed_range()
gui_app.set_modal_overlay(
AetherSliderDialog(tr(key), min_value, max_value, 1, self._params.get_int(key), on_close, unit=self._speed_unit(), color="#597497")
)
class StarPilotSLCQOLLayout(StarPilotPanel):
@@ -842,8 +842,10 @@ void StarPilotLongitudinalPanel::updateMetric(bool metric, bool bootRun) {
static std::map<float, QString> imperialDistanceLabels;
static std::map<float, QString> imperialSpeedLabels;
static std::map<float, QString> imperialOffsetLabels;
static std::map<float, QString> metricDistanceLabels;
static std::map<float, QString> metricSpeedLabels;
static std::map<float, QString> metricOffsetLabels;
static bool labelsInitialized = false;
if (!labelsInitialized) {
@@ -854,6 +856,9 @@ void StarPilotLongitudinalPanel::updateMetric(bool metric, bool bootRun) {
for (int i = 0; i <= 99; ++i) {
imperialSpeedLabels[i] = i == 0 ? tr("Off") : QString::number(i) + tr(" mph");
}
for (int i = -99; i <= 99; ++i) {
imperialOffsetLabels[i] = i == 0 ? tr("Off") : QString::number(i) + tr(" mph");
}
for (int i = 0; i <= 3; ++i) {
metricDistanceLabels[i] = i == 0 ? tr("Off") : i == 1 ? QString::number(i) + tr(" meter") : QString::number(i) + tr(" meters");
@@ -862,6 +867,9 @@ void StarPilotLongitudinalPanel::updateMetric(bool metric, bool bootRun) {
for (int i = 0; i <= 150; ++i) {
metricSpeedLabels[i] = i == 0 ? tr("Off") : QString::number(i) + tr(" km/h");
}
for (int i = -150; i <= 150; ++i) {
metricOffsetLabels[i] = i == 0 ? tr("Off") : QString::number(i) + tr(" km/h");
}
labelsInitialized = true;
}
@@ -911,13 +919,13 @@ void StarPilotLongitudinalPanel::updateMetric(bool metric, bool bootRun) {
ceSpeedToggle->updateControl(0, 150, metricSpeedLabels);
customCruiseToggle->updateControl(1, 150, metricSpeedLabels);
customCruiseLongToggle->updateControl(1, 150, metricSpeedLabels);
offset1Toggle->updateControl(-150, 150, metricSpeedLabels);
offset2Toggle->updateControl(-150, 150, metricSpeedLabels);
offset3Toggle->updateControl(-150, 150, metricSpeedLabels);
offset4Toggle->updateControl(-150, 150, metricSpeedLabels);
offset5Toggle->updateControl(-150, 150, metricSpeedLabels);
offset6Toggle->updateControl(-150, 150, metricSpeedLabels);
offset7Toggle->updateControl(-150, 150, metricSpeedLabels);
offset1Toggle->updateControl(-150, 150, metricOffsetLabels);
offset2Toggle->updateControl(-150, 150, metricOffsetLabels);
offset3Toggle->updateControl(-150, 150, metricOffsetLabels);
offset4Toggle->updateControl(-150, 150, metricOffsetLabels);
offset5Toggle->updateControl(-150, 150, metricOffsetLabels);
offset6Toggle->updateControl(-150, 150, metricOffsetLabels);
offset7Toggle->updateControl(-150, 150, metricOffsetLabels);
setSpeedOffsetToggle->updateControl(-150, 150, metricSpeedLabels);
} else {
offset1Toggle->setTitle(tr("Speed Offset (024 mph)"));
@@ -946,13 +954,13 @@ void StarPilotLongitudinalPanel::updateMetric(bool metric, bool bootRun) {
ceSpeedToggle->updateControl(0, 99, imperialSpeedLabels);
customCruiseToggle->updateControl(1, 99, imperialSpeedLabels);
customCruiseLongToggle->updateControl(1, 99, imperialSpeedLabels);
offset1Toggle->updateControl(-99, 99, imperialSpeedLabels);
offset2Toggle->updateControl(-99, 99, imperialSpeedLabels);
offset3Toggle->updateControl(-99, 99, imperialSpeedLabels);
offset4Toggle->updateControl(-99, 99, imperialSpeedLabels);
offset5Toggle->updateControl(-99, 99, imperialSpeedLabels);
offset6Toggle->updateControl(-99, 99, imperialSpeedLabels);
offset7Toggle->updateControl(-99, 99, imperialSpeedLabels);
offset1Toggle->updateControl(-99, 99, imperialOffsetLabels);
offset2Toggle->updateControl(-99, 99, imperialOffsetLabels);
offset3Toggle->updateControl(-99, 99, imperialOffsetLabels);
offset4Toggle->updateControl(-99, 99, imperialOffsetLabels);
offset5Toggle->updateControl(-99, 99, imperialOffsetLabels);
offset6Toggle->updateControl(-99, 99, imperialOffsetLabels);
offset7Toggle->updateControl(-99, 99, imperialOffsetLabels);
setSpeedOffsetToggle->updateControl(0, 99, imperialSpeedLabels);
}
}