Reset non-custom loadout when changing task.

This commit is contained in:
Dan Albert 2021-05-24 16:57:36 -07:00
parent 970f2c25dd
commit 305d1f0523
3 changed files with 10 additions and 0 deletions

View File

@ -19,6 +19,7 @@ class QFlightPlanner(QTabWidget):
) )
self.payload_tab = QFlightPayloadTab(flight, game) self.payload_tab = QFlightPayloadTab(flight, game)
self.waypoint_tab = QFlightWaypointTab(game, package_model.package, flight) self.waypoint_tab = QFlightWaypointTab(game, package_model.package, flight)
self.waypoint_tab.loadout_changed.connect(self.payload_tab.reload_from_flight)
self.addTab(self.general_settings_tab, "General Flight settings") self.addTab(self.general_settings_tab, "General Flight settings")
self.addTab(self.payload_tab, "Payload") self.addTab(self.payload_tab, "Payload")
self.addTab(self.waypoint_tab, "Waypoints") self.addTab(self.waypoint_tab, "Waypoints")

View File

@ -40,6 +40,9 @@ class QFlightPayloadTab(QFrame):
self.setLayout(layout) self.setLayout(layout)
def reload_from_flight(self) -> None:
self.loadout_selector.setCurrentText(self.flight.loadout.name)
def on_new_loadout(self, index: int) -> None: def on_new_loadout(self, index: int) -> None:
self.flight.loadout = self.loadout_selector.itemData(index) self.flight.loadout = self.loadout_selector.itemData(index)
self.payload_editor.reset_pylons() self.payload_editor.reset_pylons()

View File

@ -20,6 +20,7 @@ from gen.flights.flightplan import (
PlanningError, PlanningError,
StrikeFlightPlan, StrikeFlightPlan,
) )
from gen.flights.loadouts import Loadout
from qt_ui.windows.mission.flight.waypoints.QFlightWaypointList import ( from qt_ui.windows.mission.flight.waypoints.QFlightWaypointList import (
QFlightWaypointList, QFlightWaypointList,
) )
@ -29,6 +30,8 @@ from qt_ui.windows.mission.flight.waypoints.QPredefinedWaypointSelectionWindow i
class QFlightWaypointTab(QFrame): class QFlightWaypointTab(QFrame):
loadout_changed = Signal()
def __init__(self, game: Game, package: Package, flight: Flight): def __init__(self, game: Game, package: Package, flight: Flight):
super(QFlightWaypointTab, self).__init__() super(QFlightWaypointTab, self).__init__()
self.game = game self.game = game
@ -161,6 +164,9 @@ class QFlightWaypointTab(QFrame):
QMessageBox.critical( QMessageBox.critical(
self, "Could not recreate flight", str(ex), QMessageBox.Ok self, "Could not recreate flight", str(ex), QMessageBox.Ok
) )
if not self.flight.loadout.is_custom:
self.flight.loadout = Loadout.default_for(self.flight)
self.loadout_changed.emit()
self.flight_waypoint_list.update_list() self.flight_waypoint_list.update_list()
self.on_change() self.on_change()