Don't remove transfers but disable if insufficient room

This commit is contained in:
Raffson 2023-06-11 14:33:23 +02:00
parent e9760e4a7d
commit 7e9380162c
No known key found for this signature in database
GPG Key ID: B0402B2C9B764D99

View File

@ -121,6 +121,14 @@ class SquadronDestinationComboBox(QComboBox):
f"Transfer to {destination} (room for {room} more aircraft)",
destination,
)
if room < squadron.owned_aircraft:
diff = squadron.owned_aircraft - room
self.setItemText(
idx,
f"Transfer to {destination} not possible "
f"({diff} additional slots required)",
)
self.model().item(idx).setEnabled(False)
if squadron.destination is None:
selected_index = 0
@ -129,18 +137,11 @@ class SquadronDestinationComboBox(QComboBox):
self.setCurrentIndex(selected_index)
def iter_destinations(self) -> Iterator[ControlPoint]:
size = self.squadron.expected_size_next_turn
for control_point in self.theater.control_points_for(self.squadron.player):
if control_point == self.squadron.location:
continue
if not control_point.can_operate(self.squadron.aircraft):
continue
ac_type = self.squadron.aircraft.dcs_unit_type
if (
self.squadron.destination is not control_point
and self.calculate_parking_slots(control_point, ac_type) < size
):
continue
yield control_point
@staticmethod