Files
paparazzi/sw/supervision/python/conf_settings_widget.py
T
Fabien-B 8833bb4fc5 [supervision] Adds documentation tab. (#2972)
* [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>
2023-02-07 15:51:55 +01:00

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)