mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Limit flight size to available aircraft.
This commit is contained in:
parent
c2d615315e
commit
916d1eec96
@ -39,3 +39,9 @@ class QOriginAirfieldSelector(QComboBox):
|
|||||||
self.addItem(f"{origin.name} ({available} available)", origin)
|
self.addItem(f"{origin.name} ({available} available)", origin)
|
||||||
self.model().sort(0)
|
self.model().sort(0)
|
||||||
self.update()
|
self.update()
|
||||||
|
|
||||||
|
@property
|
||||||
|
def available(self) -> int:
|
||||||
|
origin = self.currentData()
|
||||||
|
inventory = self.global_inventory.for_control_point(origin)
|
||||||
|
return inventory.available(self.aircraft)
|
||||||
|
|||||||
@ -53,9 +53,11 @@ class QFlightCreator(QDialog):
|
|||||||
[cp for cp in game.theater.controlpoints if cp.captured],
|
[cp for cp in game.theater.controlpoints if cp.captured],
|
||||||
self.aircraft_selector.currentData()
|
self.aircraft_selector.currentData()
|
||||||
)
|
)
|
||||||
|
self.aircraft_selector.currentIndexChanged.connect(self.update_max_size)
|
||||||
layout.addLayout(QLabeledWidget("Airfield:", self.airfield_selector))
|
layout.addLayout(QLabeledWidget("Airfield:", self.airfield_selector))
|
||||||
|
|
||||||
self.flight_size_spinner = QFlightSizeSpinner()
|
self.flight_size_spinner = QFlightSizeSpinner()
|
||||||
|
self.update_max_size()
|
||||||
layout.addLayout(QLabeledWidget("Size:", self.flight_size_spinner))
|
layout.addLayout(QLabeledWidget("Size:", self.flight_size_spinner))
|
||||||
|
|
||||||
self.client_slots_spinner = QFlightSizeSpinner(
|
self.client_slots_spinner = QFlightSizeSpinner(
|
||||||
@ -116,3 +118,8 @@ class QFlightCreator(QDialog):
|
|||||||
def on_aircraft_changed(self, index: int) -> None:
|
def on_aircraft_changed(self, index: int) -> None:
|
||||||
new_aircraft = self.aircraft_selector.itemData(index)
|
new_aircraft = self.aircraft_selector.itemData(index)
|
||||||
self.airfield_selector.change_aircraft(new_aircraft)
|
self.airfield_selector.change_aircraft(new_aircraft)
|
||||||
|
|
||||||
|
def update_max_size(self) -> None:
|
||||||
|
self.flight_size_spinner.setMaximum(
|
||||||
|
min(self.airfield_selector.available, 4)
|
||||||
|
)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user