Sorts flights in the base menu by mission start time. Also makes base menu dialog bigger.

This commit is contained in:
Brock Greman 2021-06-03 18:16:26 -04:00 committed by Dan Albert
parent 6b1048590f
commit 7ea550738e
2 changed files with 13 additions and 3 deletions

View File

@ -49,8 +49,8 @@ class QBaseMenu2(QDialog):
self.setWindowFlags(Qt.WindowStaysOnTopHint) self.setWindowFlags(Qt.WindowStaysOnTopHint)
self.setMinimumSize(300, 200) self.setMinimumSize(300, 200)
self.setMinimumWidth(800) self.setMinimumWidth(1024)
self.setMaximumWidth(800) self.setMaximumWidth(1024)
self.setModal(True) self.setModal(True)
self.setWindowTitle(self.cp.name) self.setWindowTitle(self.cp.name)

View File

@ -1,3 +1,5 @@
from datetime import timedelta
from PySide2.QtCore import QItemSelectionModel, QSize from PySide2.QtCore import QItemSelectionModel, QSize
from PySide2.QtGui import QStandardItemModel from PySide2.QtGui import QStandardItemModel
from PySide2.QtWidgets import QAbstractItemView, QListView from PySide2.QtWidgets import QAbstractItemView, QListView
@ -5,6 +7,7 @@ from PySide2.QtWidgets import QAbstractItemView, QListView
from qt_ui.models import GameModel from qt_ui.models import GameModel
from qt_ui.windows.mission.QFlightItem import QFlightItem from qt_ui.windows.mission.QFlightItem import QFlightItem
from game.theater.controlpoint import ControlPoint from game.theater.controlpoint import ControlPoint
from gen.flights.traveltime import TotEstimator
class QPlannedFlightsView(QListView): class QPlannedFlightsView(QListView):
@ -25,8 +28,11 @@ class QPlannedFlightsView(QListView):
for flight in package.flights: for flight in package.flights:
if flight.from_cp == self.cp: if flight.from_cp == self.cp:
item = QFlightItem(package.package, flight) item = QFlightItem(package.package, flight)
self.model.appendRow(item)
self.flight_items.append(item) self.flight_items.append(item)
self.flight_items.sort(key=self.mission_start_for_flight)
for item in self.flight_items:
self.model.appendRow(item)
self.set_selected_flight(0) self.set_selected_flight(0)
def set_selected_flight(self, row): def set_selected_flight(self, row):
@ -43,3 +49,7 @@ class QPlannedFlightsView(QListView):
def set_flight_planner(self) -> None: def set_flight_planner(self) -> None:
self.clear_layout() self.clear_layout()
self.setup_content() self.setup_content()
@staticmethod
def mission_start_for_flight(flight_item: QFlightItem) -> timedelta:
return TotEstimator(flight_item.package).mission_start_time(flight_item.flight)