Filter mission types by aircraft.

First stab at implementing #392.
You can now only select aircraft types that can do the selected task.
This commit is contained in:
Simon Clark
2021-01-12 18:58:29 +00:00
parent 9ebad734a9
commit 727ec6bc28
3 changed files with 52 additions and 4 deletions

View File

@@ -45,10 +45,12 @@ class QFlightCreator(QDialog):
self.game.theater, package.target
)
self.task_selector.setCurrentIndex(0)
self.task_selector.currentTextChanged.connect(
self.on_task_changed)
layout.addLayout(QLabeledWidget("Task:", self.task_selector))
self.aircraft_selector = QAircraftTypeSelector(
self.game.aircraft_inventory.available_types_for_player, self.game.player_country
self.game.aircraft_inventory.available_types_for_player, self.game.player_country, self.task_selector.currentData()
)
self.aircraft_selector.setCurrentIndex(0)
self.aircraft_selector.currentIndexChanged.connect(
@@ -169,6 +171,9 @@ class QFlightCreator(QDialog):
self.arrival.change_aircraft(new_aircraft)
self.divert.change_aircraft(new_aircraft)
def on_task_changed(self) -> None:
self.aircraft_selector.updateItems(self.task_selector.currentData(), self.game.aircraft_inventory.available_types_for_player)
def update_max_size(self, available: int) -> None:
self.flight_size_spinner.setMaximum(min(available, 4))
if self.flight_size_spinner.maximum() >= 2: