From e94657875ffc21eeaa5d5c82636ab57bbc896e9e Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Mon, 24 May 2021 18:20:19 -0700 Subject: [PATCH] Reselect same row after deleting waypoint. --- .../windows/mission/flight/waypoints/QFlightWaypointList.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/qt_ui/windows/mission/flight/waypoints/QFlightWaypointList.py b/qt_ui/windows/mission/flight/waypoints/QFlightWaypointList.py index b9ba7444..d541deba 100644 --- a/qt_ui/windows/mission/flight/waypoints/QFlightWaypointList.py +++ b/qt_ui/windows/mission/flight/waypoints/QFlightWaypointList.py @@ -31,6 +31,9 @@ class QFlightWaypointList(QTableView): ) def update_list(self): + # We need to keep just the row and rebuild the index later because the + # QModelIndex will not be valid after the model is cleared. + current_index = self.currentIndex().row() self.model.clear() self.model.setHorizontalHeaderLabels(["Name", "Alt", "TOT/DEPART"]) @@ -39,7 +42,7 @@ class QFlightWaypointList(QTableView): for row, waypoint in enumerate(waypoints): self.add_waypoint_row(row, self.flight, waypoint) self.selectionModel().setCurrentIndex( - self.indexAt(QPoint(1, 1)), QItemSelectionModel.Select + self.model.index(current_index, 0), QItemSelectionModel.Select ) self.resizeColumnsToContents() total_column_width = self.verticalHeader().width() + self.lineWidth()