From b0b9c1c8e67c15bec288686f7e6cd080938d905e Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sun, 6 Dec 2020 15:32:28 -0800 Subject: [PATCH] Fix deletion of waypoints. `FlightPlan.waypoints` returns a list created from the iterator now, so removing items from that list does not actually alter the flight plan. Fixes https://github.com/Khopa/dcs_liberation/issues/489 --- gen/flights/flightplan.py | 2 -- qt_ui/windows/mission/flight/QFlightWaypointsEditor.py | 0 .../windows/mission/flight/waypoints/QFlightWaypointList.py | 5 ----- qt_ui/windows/mission/flight/waypoints/QFlightWaypointTab.py | 3 ++- 4 files changed, 2 insertions(+), 8 deletions(-) delete mode 100644 qt_ui/windows/mission/flight/QFlightWaypointsEditor.py diff --git a/gen/flights/flightplan.py b/gen/flights/flightplan.py index faba8ebe..8d4e532f 100644 --- a/gen/flights/flightplan.py +++ b/gen/flights/flightplan.py @@ -69,8 +69,6 @@ class FlightPlan: """A list of all waypoints in the flight plan, in order.""" return list(self.iter_waypoints()) - - def iter_waypoints(self) -> Iterator[FlightWaypoint]: """Iterates over all waypoints in the flight plan, in order.""" raise NotImplementedError diff --git a/qt_ui/windows/mission/flight/QFlightWaypointsEditor.py b/qt_ui/windows/mission/flight/QFlightWaypointsEditor.py deleted file mode 100644 index e69de29b..00000000 diff --git a/qt_ui/windows/mission/flight/waypoints/QFlightWaypointList.py b/qt_ui/windows/mission/flight/waypoints/QFlightWaypointList.py index c8d4562f..7d6acb2f 100644 --- a/qt_ui/windows/mission/flight/waypoints/QFlightWaypointList.py +++ b/qt_ui/windows/mission/flight/waypoints/QFlightWaypointList.py @@ -1,4 +1,3 @@ -import itertools from datetime import timedelta from PySide2.QtCore import QItemSelectionModel, QPoint @@ -32,10 +31,6 @@ class QFlightWaypointList(QTableView): self.update_list() self.selectionModel().setCurrentIndex(self.indexAt(QPoint(1, 1)), QItemSelectionModel.Select) - self.selectionModel().selectionChanged.connect(self.on_waypoint_selected_changed) - - def on_waypoint_selected_changed(self): - index = self.selectionModel().currentIndex().row() def update_list(self): self.model.clear() diff --git a/qt_ui/windows/mission/flight/waypoints/QFlightWaypointTab.py b/qt_ui/windows/mission/flight/waypoints/QFlightWaypointTab.py index c7302588..3795bf1e 100644 --- a/qt_ui/windows/mission/flight/waypoints/QFlightWaypointTab.py +++ b/qt_ui/windows/mission/flight/waypoints/QFlightWaypointTab.py @@ -104,7 +104,8 @@ class QFlightWaypointTab(QFrame): return self.degrade_to_custom_flight_plan() - self.flight.flight_plan.waypoints.remove(waypoint) + assert isinstance(self.flight.flight_plan, CustomFlightPlan) + self.flight.flight_plan.custom_waypoints.remove(waypoint) def on_fast_waypoint(self): self.subwindow = QPredefinedWaypointSelectionWindow(self.game, self.flight, self.flight_waypoint_list)