From adf1f8db8caeab13b40a0b21411a0dfec3178701 Mon Sep 17 00:00:00 2001 From: Khopa Date: Sun, 20 Oct 2019 01:54:33 +0200 Subject: [PATCH] Print weapons with their pretty name in loadout editor --- qt_ui/windows/mission/QMissionPlanning.py | 5 ++++- .../windows/mission/flight/QFlightPlanner.py | 21 ++++++++++++------- .../mission/flight/payload/QPylonEditor.py | 11 ++++++---- 3 files changed, 25 insertions(+), 12 deletions(-) diff --git a/qt_ui/windows/mission/QMissionPlanning.py b/qt_ui/windows/mission/QMissionPlanning.py index 4310765d..04630582 100644 --- a/qt_ui/windows/mission/QMissionPlanning.py +++ b/qt_ui/windows/mission/QMissionPlanning.py @@ -39,7 +39,10 @@ class QMissionPlanning(QDialog): self.planned_flight_view.selectionModel().setCurrentIndex(self.planned_flight_view.indexAt(QPoint(1, 1)), QItemSelectionModel.Select) self.planned_flight_view.selectionModel().selectionChanged.connect(self.on_flight_selection_change) - self.flight_planner = QFlightPlanner(self.planned_flight_view.flight_planner.flights[0], self.game) + if len(self.planned_flight_view.flight_planner.flights) > 0: + self.flight_planner = QFlightPlanner(self.planned_flight_view.flight_planner.flights[0], self.game) + else: + self.flight_planner = QFlightPlanner(None, self.game) self.mission_start_button = QPushButton("Take Off") self.mission_start_button.setProperty("style", "start-button") diff --git a/qt_ui/windows/mission/flight/QFlightPlanner.py b/qt_ui/windows/mission/flight/QFlightPlanner.py index cdf5c090..55a53a9c 100644 --- a/qt_ui/windows/mission/flight/QFlightPlanner.py +++ b/qt_ui/windows/mission/flight/QFlightPlanner.py @@ -1,4 +1,4 @@ -from PySide2.QtWidgets import QTabWidget +from PySide2.QtWidgets import QTabWidget, QFrame, QGridLayout, QLabel from gen.flights.flight import Flight from game import Game @@ -11,9 +11,16 @@ class QFlightPlanner(QTabWidget): def __init__(self, flight: Flight, game: Game): super(QFlightPlanner, self).__init__() - self.general_settings_tab = QGeneralFlightSettingsTab(flight, game) - self.payload_tab = QFlightPayloadTab(flight, game) - self.waypoint_tab = QFlightWaypointTab(flight) - self.addTab(self.general_settings_tab, "General Flight settings") - self.addTab(self.payload_tab, "Payload") - self.addTab(self.waypoint_tab, "Waypoints") \ No newline at end of file + if flight: + self.general_settings_tab = QGeneralFlightSettingsTab(flight, game) + self.payload_tab = QFlightPayloadTab(flight, game) + self.waypoint_tab = QFlightWaypointTab(flight) + self.addTab(self.general_settings_tab, "General Flight settings") + self.addTab(self.payload_tab, "Payload") + self.addTab(self.waypoint_tab, "Waypoints") + else: + tabError = QFrame() + l = QGridLayout() + l.addWidget(QLabel("No flight selected")) + tabError.setLayout(l) + self.addTab(tabError, "No flight") \ No newline at end of file diff --git a/qt_ui/windows/mission/flight/payload/QPylonEditor.py b/qt_ui/windows/mission/flight/payload/QPylonEditor.py index 30ca6414..7652e2d6 100644 --- a/qt_ui/windows/mission/flight/payload/QPylonEditor.py +++ b/qt_ui/windows/mission/flight/payload/QPylonEditor.py @@ -11,14 +11,14 @@ class QPylonEditor(QComboBox): self.pylon_number = pylon_number self.flight = flight - possible_loadout = [i for i in self.pylon.__dict__.keys() if i[:1] != '_'] + self.possible_loadout = [i for i in self.pylon.__dict__.keys() if i[:1] != '_'] if not str(self.pylon_number) in self.flight.loadout.keys(): self.flight.loadout[str(self.pylon_number)] = "" self.addItem("None") - for i,k in enumerate(possible_loadout): - self.addItem(str(k)) + for i,k in enumerate(self.possible_loadout): + self.addItem(str(self.pylon.__dict__[k][1]["name"])) if self.flight.loadout[str(self.pylon_number)] == str(k): self.setCurrentIndex(i + 1) @@ -31,5 +31,8 @@ class QPylonEditor(QComboBox): self.flight.loadout[str(self.pylon_number)] = "" else: logging.info("Pylon " + str(self.pylon_number) + " changed to " + selected) - self.flight.loadout[str(self.pylon_number)] = selected + for i, k in enumerate(self.possible_loadout): + if selected == str(self.pylon.__dict__[k][1]["name"]): + self.flight.loadout[str(self.pylon_number)] = str(k) + break