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.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.payload_tab, "Payload")
self.addTab(self.waypoint_tab, "Waypoints")

View File

@ -40,6 +40,9 @@ class QFlightPayloadTab(QFrame):
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:
self.flight.loadout = self.loadout_selector.itemData(index)
self.payload_editor.reset_pylons()

View File

@ -20,6 +20,7 @@ from gen.flights.flightplan import (
PlanningError,
StrikeFlightPlan,
)
from gen.flights.loadouts import Loadout
from qt_ui.windows.mission.flight.waypoints.QFlightWaypointList import (
QFlightWaypointList,
)
@ -29,6 +30,8 @@ from qt_ui.windows.mission.flight.waypoints.QPredefinedWaypointSelectionWindow i
class QFlightWaypointTab(QFrame):
loadout_changed = Signal()
def __init__(self, game: Game, package: Package, flight: Flight):
super(QFlightWaypointTab, self).__init__()
self.game = game
@ -161,6 +164,9 @@ class QFlightWaypointTab(QFrame):
QMessageBox.critical(
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.on_change()