Don't allow changing TOT for started packages.

https://github.com/dcs-liberation/dcs_liberation/issues/1680
This commit is contained in:
Dan Albert 2023-02-06 00:21:55 -08:00
parent ba10298dbc
commit 23ac510d26
2 changed files with 14 additions and 1 deletions

View File

@ -207,3 +207,10 @@ class Package:
if flight.departure == airfield:
return airfield
raise RuntimeError("Could not find any airfield assigned to this package")
def all_flights_waiting_for_start(self) -> bool:
"""Returns True if all flights in the package are waiting for start."""
for flight in self.flights:
if not flight.state.is_waiting_for_start:
return False
return True

View File

@ -79,7 +79,10 @@ class QPackageDialog(QDialog):
self.tot_spinner.setDisplayFormat("hh:mm:ss")
self.tot_spinner.timeChanged.connect(self.save_tot)
self.tot_spinner.setToolTip("Package TOT relative to mission TOT")
self.tot_spinner.setEnabled(not self.package_model.package.auto_asap)
self.tot_spinner.setEnabled(
not self.package_model.package.auto_asap
and self.package_model.package.all_flights_waiting_for_start()
)
self.tot_column.addWidget(self.tot_spinner)
self.auto_asap = QCheckBox("ASAP")
@ -88,6 +91,9 @@ class QPackageDialog(QDialog):
"arrive at the target."
)
self.auto_asap.setChecked(self.package_model.package.auto_asap)
self.auto_asap.setEnabled(
self.package_model.package.all_flights_waiting_for_start()
)
self.auto_asap.toggled.connect(self.set_asap)
self.tot_column.addWidget(self.auto_asap)