mirror of
https://github.com/dcs-liberation/dcs_liberation.git
synced 2025-11-10 14:22:26 +00:00
Mildly breaks save compat with 2.3; All existing flight dialogs will be broken, passing the turn or recreating all the flights in the UI will allow you to continue
44 lines
1.7 KiB
Python
44 lines
1.7 KiB
Python
from PySide2.QtCore import Signal
|
|
from PySide2.QtWidgets import QFrame, QGridLayout, QVBoxLayout, QLabel
|
|
|
|
from game import Game
|
|
from gen.ato import Package
|
|
from gen.flights.flight import Flight
|
|
from qt_ui.windows.mission.flight.settings.QFlightDepartureDisplay import \
|
|
QFlightDepartureDisplay
|
|
from qt_ui.windows.mission.flight.settings.QFlightSlotEditor import \
|
|
QFlightSlotEditor
|
|
from qt_ui.windows.mission.flight.settings.QFlightStartType import \
|
|
QFlightStartType
|
|
from qt_ui.windows.mission.flight.settings.QFlightTypeTaskInfo import \
|
|
QFlightTypeTaskInfo
|
|
from qt_ui.windows.mission.flight.settings.QCustomName import \
|
|
QFlightCustomName
|
|
|
|
|
|
class QGeneralFlightSettingsTab(QFrame):
|
|
on_flight_settings_changed = Signal()
|
|
|
|
def __init__(self, game: Game, package: Package, flight: Flight):
|
|
super().__init__()
|
|
|
|
layout = QGridLayout()
|
|
flight_info = QFlightTypeTaskInfo(flight)
|
|
flight_departure = QFlightDepartureDisplay(package, flight)
|
|
flight_slots = QFlightSlotEditor(flight, game)
|
|
flight_start_type = QFlightStartType(flight)
|
|
flight_custom_name = QFlightCustomName(flight)
|
|
layout.addWidget(flight_info, 0, 0)
|
|
layout.addWidget(flight_departure, 1, 0)
|
|
layout.addWidget(flight_slots, 2, 0)
|
|
layout.addWidget(flight_start_type, 3, 0)
|
|
layout.addWidget(flight_custom_name, 4, 0)
|
|
vstretch = QVBoxLayout()
|
|
vstretch.addStretch()
|
|
layout.addLayout(vstretch, 3, 0)
|
|
self.setLayout(layout)
|
|
|
|
flight_start_type.setEnabled(flight.client_count > 0)
|
|
flight_slots.changed.connect(
|
|
lambda: flight_start_type.setEnabled(flight.client_count > 0))
|