mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-05-10 06:59:54 +08:00
8833bb4fc5
* [supervision] Adds documentation tab. * [generator] add a target option to dump modules by target with load type * [supervision] doc: handle modules type. * [supervision] modules doc: add filter. * [supervision] Use internet doc by default. * [supervision] Move the header out of the configuration tab. * [supervision] Add target label. * [supervision] Gracefully handle Ctrl-C. * [supervision] Add new session to combobox. * Update sw/supervision/python/doc_panel.py --------- Co-authored-by: Gautier Hattenberger <gautier.hattenberger@enac.fr>
42 lines
1.4 KiB
Python
42 lines
1.4 KiB
Python
import os.path
|
|
|
|
from generated.ui_conf_settings import Ui_SettingsConf
|
|
from PyQt5.QtWidgets import *
|
|
from PyQt5 import QtCore
|
|
import utils
|
|
|
|
|
|
class ConfSettingsWidget(QWidget, Ui_SettingsConf):
|
|
|
|
settings_changed = QtCore.pyqtSignal()
|
|
|
|
def __init__(self, parent=None):
|
|
QWidget.__init__(self, parent=parent)
|
|
self.setupUi(self)
|
|
self.add_setting_button.clicked.connect(self.open_setting)
|
|
self.remove_setting_button.clicked.connect(self.remove_setting)
|
|
self.settings.currentItemChanged.connect(self.set_remove_button_state)
|
|
|
|
def open_setting(self):
|
|
base_settings_path = os.path.join(utils.CONF_DIR, "settings")
|
|
filenames, _ = QFileDialog.getOpenFileNames(self, "Add settings", base_settings_path, "Settings (*.xml)")
|
|
for filename in filenames:
|
|
name = utils.remove_prefix(filename, utils.CONF_DIR)
|
|
print(name)
|
|
item = QListWidgetItem(name)
|
|
item.setCheckState(QtCore.Qt.Checked)
|
|
self.settings.addItem(item)
|
|
self.settings_changed.emit()
|
|
|
|
def remove_setting(self):
|
|
row = self.settings.currentRow()
|
|
self.settings.takeItem(row)
|
|
self.settings_changed.emit()
|
|
|
|
def set_remove_button_state(self, item: QListWidgetItem, _):
|
|
if item.text().startswith("modules/"):
|
|
self.remove_setting_button.setDisabled(True)
|
|
else:
|
|
self.remove_setting_button.setDisabled(False)
|
|
|