Add & Select newly saved payload to selector

This commit is contained in:
Raffson 2023-07-22 00:03:22 +02:00
parent bc38563618
commit 0027c64e57
No known key found for this signature in database
GPG Key ID: B0402B2C9B764D99
2 changed files with 11 additions and 1 deletions

View File

@ -101,6 +101,7 @@ class QFlightPayloadTab(QFrame):
self.flight = flight
self.payload_editor = QLoadoutEditor(flight, game)
self.payload_editor.toggled.connect(self.on_custom_toggled)
self.payload_editor.saved.connect(self.on_saved_payload)
layout = QVBoxLayout()
@ -154,3 +155,8 @@ class QFlightPayloadTab(QFrame):
else:
self.flight.loadout = self.current_loadout()
self.payload_editor.reset_pylons()
def on_saved_payload(self, payload_name: str) -> None:
loadout = self.flight.loadout
self.loadout_selector.addItem(payload_name, loadout)
self.loadout_selector.setCurrentIndex(self.loadout_selector.count() - 1)

View File

@ -3,6 +3,7 @@ from typing import Dict, Union
import dcs.lua
import dcs.payloads
from PySide2.QtCore import Signal
from PySide2.QtWidgets import (
QGridLayout,
QGroupBox,
@ -13,16 +14,18 @@ from PySide2.QtWidgets import (
QInputDialog,
)
from game.persistency import base_path
from game import Game
from game.ato.flight import Flight
from game.data.weapons import Pylon
from game.persistency import base_path
from qt_ui.windows.mission.flight.payload.QPylonEditor import QPylonEditor
BACKUP_FOLDER = dcs.payloads.PayloadDirectories.user() / "_retribution_backups"
class QLoadoutEditor(QGroupBox):
saved = Signal(str)
def __init__(self, flight: Flight, game: Game) -> None:
super().__init__("Use custom loadout")
self.flight = flight
@ -112,6 +115,7 @@ class QLoadoutEditor(QGroupBox):
f.write("local unitPayloads = ")
f.write(dcs.lua.dumps(payloads, indent=1))
f.write("\nreturn unitPayloads")
self.saved.emit(payload_name)
def _create_backup_if_needed(self, ac_id):
backup_file = BACKUP_FOLDER / f"{ac_id}.lua"