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.setMinimumSize(300, 200)
self.setMinimumWidth(800)
self.setMaximumWidth(800)
self.setMinimumWidth(1024)
self.setMaximumWidth(1024)
self.setModal(True)
self.setWindowTitle(self.cp.name)

View File

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