Don't allow changing TOT for started packages.

This commit is contained in:
Dan Albert 2023-02-06 00:34:30 -08:00 committed by Raffson
parent ce4c73098d
commit 057f3fe53b
No known key found for this signature in database
GPG Key ID: B0402B2C9B764D99
2 changed files with 14 additions and 1 deletions

View File

@ -242,3 +242,10 @@ class Package(RadioFrequencyContainer):
cf.package = clone
clone.add_flight(cf)
return clone
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

@ -96,7 +96,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")
@ -105,6 +108,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)