mirror of
https://github.com/CopterExpress/clever-show.git
synced 2026-05-26 15:13:26 +00:00
Fix for copter config dialog call
This commit is contained in:
@@ -686,11 +686,14 @@ class ConfigTreeWidget(QTreeView):
|
||||
|
||||
|
||||
class ConfigDialog(QtWidgets.QDialog):
|
||||
copter_editor_signal = QtCore.pyqtSignal(object, object)
|
||||
|
||||
def __init__(self, parent=None):
|
||||
super(ConfigDialog, self).__init__(parent)
|
||||
self.ui = config_editor.Ui_config_dialog()
|
||||
self.model = ConfigModel(widget=self)
|
||||
self.setupUi()
|
||||
self.copter_editor_signal.connect(self._call_copter_dialog)
|
||||
|
||||
def setupModel(self, data, pure_dict=False, convert_types=False):
|
||||
if pure_dict:
|
||||
@@ -749,6 +752,11 @@ class ConfigDialog(QtWidgets.QDialog):
|
||||
return True
|
||||
|
||||
def call_copter_dialog(self, client, value):
|
||||
self.copter_editor_signal.emit(client, value)
|
||||
|
||||
@pyqtSlot(object, object)
|
||||
def _call_copter_dialog(self, client, value):
|
||||
logging.info("Opening dialog")
|
||||
config_dict, spec_dict = value["config"], value["configspec"]
|
||||
cfg = config.ConfigManager()
|
||||
cfg.load_from_dict(config_dict, spec_dict)
|
||||
|
||||
@@ -14,8 +14,6 @@ import copter_table_models as table
|
||||
|
||||
|
||||
class CopterTableWidget(QTableView):
|
||||
config_dialog_signal = QtCore.pyqtSignal(object, object)
|
||||
|
||||
def __init__(self, model, data_model=table.StatedCopterData):
|
||||
QTableView.__init__(self)
|
||||
|
||||
@@ -45,8 +43,6 @@ class CopterTableWidget(QTableView):
|
||||
self.setContextMenuPolicy(Qt.CustomContextMenu)
|
||||
self.customContextMenuRequested.connect(self.open_menu)
|
||||
|
||||
self.config_dialog_signal.connect(lambda x: x)
|
||||
|
||||
# Adjust properties
|
||||
self.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustToContents)
|
||||
self.resizeColumnsToContents()
|
||||
@@ -121,14 +117,8 @@ class CopterTableWidget(QTableView):
|
||||
|
||||
@pyqtSlot()
|
||||
def edit_config(self, copter):
|
||||
try:
|
||||
self.config_dialog_signal.disconnect()
|
||||
except (TypeError, RuntimeError) as error:
|
||||
logging.error(f"Disconnection of signal failed: {error}")
|
||||
else:
|
||||
call = ConfigDialog().call_copter_dialog
|
||||
self.config_dialog_signal.connect(call)
|
||||
copter.client.get_response("config", self.config_dialog_signal.emit)
|
||||
dialog = ConfigDialog()
|
||||
copter.client.get_response("config", dialog.call_copter_dialog)
|
||||
|
||||
# def _selfcheck_shortener(self, data): # TODO!!!
|
||||
# shortened = []
|
||||
|
||||
Reference in New Issue
Block a user