mirror of
https://github.com/dcs-liberation/dcs_liberation.git
synced 2025-11-10 14:22:26 +00:00
Conditional in comprehension appears to be intended to exclude dunders, but was also excluding many TER weapons from Weapon class args beginning with '_'
39 lines
1.4 KiB
Python
39 lines
1.4 KiB
Python
import logging
|
|
|
|
from PySide2.QtWidgets import QWidget, QSpinBox, QComboBox
|
|
|
|
|
|
class QPylonEditor(QComboBox):
|
|
|
|
def __init__(self, flight, pylon, pylon_number):
|
|
super(QPylonEditor, self).__init__()
|
|
self.pylon = pylon
|
|
self.pylon_number = pylon_number
|
|
self.flight = flight
|
|
|
|
self.possible_loadout = [i for i in self.pylon.__dict__.keys() if i[:2] != '__']
|
|
|
|
if not str(self.pylon_number) in self.flight.loadout.keys():
|
|
self.flight.loadout[str(self.pylon_number)] = ""
|
|
|
|
self.addItem("None")
|
|
for i,k in enumerate(self.possible_loadout):
|
|
self.addItem(str(self.pylon.__dict__[k][1]["name"]))
|
|
if self.flight.loadout[str(self.pylon_number)] == str(k):
|
|
self.setCurrentIndex(i + 1)
|
|
|
|
self.currentTextChanged.connect(self.on_pylon_change)
|
|
|
|
def on_pylon_change(self):
|
|
selected = self.currentText()
|
|
if selected == "None":
|
|
logging.info("Pylon " + str(self.pylon_number) + " emptied")
|
|
self.flight.loadout[str(self.pylon_number)] = ""
|
|
else:
|
|
logging.info("Pylon " + str(self.pylon_number) + " changed to " + selected)
|
|
for i, k in enumerate(self.possible_loadout):
|
|
if selected == str(self.pylon.__dict__[k][1]["name"]):
|
|
self.flight.loadout[str(self.pylon_number)] = str(k)
|
|
break
|
|
|