diff --git a/game/squadrons.py b/game/squadrons.py index 4e550465..874e90ee 100644 --- a/game/squadrons.py +++ b/game/squadrons.py @@ -76,7 +76,7 @@ class Pilot: @dataclass class Squadron: name: str - nickname: str + nickname: Optional[str] country: str role: str aircraft: Type[FlyingType] @@ -99,6 +99,8 @@ class Squadron: self.auto_assignable_mission_types = set(self.mission_types) def __str__(self) -> str: + if self.nickname is None: + return self.name return f'{self.name} "{self.nickname}"' def claim_available_pilot(self) -> Optional[Pilot]: @@ -215,7 +217,7 @@ class Squadron: return Squadron( name=data["name"], - nickname=data["nickname"], + nickname=data.get("nickname"), country=data["country"], role=data["role"], aircraft=unit_type, diff --git a/qt_ui/windows/AirWingDialog.py b/qt_ui/windows/AirWingDialog.py index 80c6443a..a91f7e36 100644 --- a/qt_ui/windows/AirWingDialog.py +++ b/qt_ui/windows/AirWingDialog.py @@ -42,14 +42,14 @@ class SquadronDelegate(TwoColumnRowDelegate): def text_for(self, index: QModelIndex, row: int, column: int) -> str: if (row, column) == (0, 0): - return self.air_wing_model.data(index, Qt.DisplayRole) + return self.squadron(index).name elif (row, column) == (0, 1): squadron = self.air_wing_model.data(index, AirWingModel.SquadronRole) return db.unit_get_expanded_info( squadron.country, squadron.aircraft, "name" ) elif (row, column) == (1, 0): - return self.squadron(index).nickname + return self.squadron(index).nickname or "" elif (row, column) == (1, 1): squadron = self.squadron(index) alive = squadron.number_of_living_pilots