mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Add & Select newly saved payload to selector
This commit is contained in:
parent
bc38563618
commit
0027c64e57
@ -101,6 +101,7 @@ class QFlightPayloadTab(QFrame):
|
|||||||
self.flight = flight
|
self.flight = flight
|
||||||
self.payload_editor = QLoadoutEditor(flight, game)
|
self.payload_editor = QLoadoutEditor(flight, game)
|
||||||
self.payload_editor.toggled.connect(self.on_custom_toggled)
|
self.payload_editor.toggled.connect(self.on_custom_toggled)
|
||||||
|
self.payload_editor.saved.connect(self.on_saved_payload)
|
||||||
|
|
||||||
layout = QVBoxLayout()
|
layout = QVBoxLayout()
|
||||||
|
|
||||||
@ -154,3 +155,8 @@ class QFlightPayloadTab(QFrame):
|
|||||||
else:
|
else:
|
||||||
self.flight.loadout = self.current_loadout()
|
self.flight.loadout = self.current_loadout()
|
||||||
self.payload_editor.reset_pylons()
|
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)
|
||||||
|
|||||||
@ -3,6 +3,7 @@ from typing import Dict, Union
|
|||||||
|
|
||||||
import dcs.lua
|
import dcs.lua
|
||||||
import dcs.payloads
|
import dcs.payloads
|
||||||
|
from PySide2.QtCore import Signal
|
||||||
from PySide2.QtWidgets import (
|
from PySide2.QtWidgets import (
|
||||||
QGridLayout,
|
QGridLayout,
|
||||||
QGroupBox,
|
QGroupBox,
|
||||||
@ -13,16 +14,18 @@ from PySide2.QtWidgets import (
|
|||||||
QInputDialog,
|
QInputDialog,
|
||||||
)
|
)
|
||||||
|
|
||||||
from game.persistency import base_path
|
|
||||||
from game import Game
|
from game import Game
|
||||||
from game.ato.flight import Flight
|
from game.ato.flight import Flight
|
||||||
from game.data.weapons import Pylon
|
from game.data.weapons import Pylon
|
||||||
|
from game.persistency import base_path
|
||||||
from qt_ui.windows.mission.flight.payload.QPylonEditor import QPylonEditor
|
from qt_ui.windows.mission.flight.payload.QPylonEditor import QPylonEditor
|
||||||
|
|
||||||
BACKUP_FOLDER = dcs.payloads.PayloadDirectories.user() / "_retribution_backups"
|
BACKUP_FOLDER = dcs.payloads.PayloadDirectories.user() / "_retribution_backups"
|
||||||
|
|
||||||
|
|
||||||
class QLoadoutEditor(QGroupBox):
|
class QLoadoutEditor(QGroupBox):
|
||||||
|
saved = Signal(str)
|
||||||
|
|
||||||
def __init__(self, flight: Flight, game: Game) -> None:
|
def __init__(self, flight: Flight, game: Game) -> None:
|
||||||
super().__init__("Use custom loadout")
|
super().__init__("Use custom loadout")
|
||||||
self.flight = flight
|
self.flight = flight
|
||||||
@ -112,6 +115,7 @@ class QLoadoutEditor(QGroupBox):
|
|||||||
f.write("local unitPayloads = ")
|
f.write("local unitPayloads = ")
|
||||||
f.write(dcs.lua.dumps(payloads, indent=1))
|
f.write(dcs.lua.dumps(payloads, indent=1))
|
||||||
f.write("\nreturn unitPayloads")
|
f.write("\nreturn unitPayloads")
|
||||||
|
self.saved.emit(payload_name)
|
||||||
|
|
||||||
def _create_backup_if_needed(self, ac_id):
|
def _create_backup_if_needed(self, ac_id):
|
||||||
backup_file = BACKUP_FOLDER / f"{ac_id}.lua"
|
backup_file = BACKUP_FOLDER / f"{ac_id}.lua"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user