From ef1664e1a278e0c173f45f3ef77d20f3d4cd090d Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Thu, 23 Feb 2023 13:23:07 +0100 Subject: [PATCH] cfg editor: fixes Change-Id: I1ea9f96f6c39c25ff8d4c51163aabccc5698dace Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30507 Tested-by: Jenkins Automated Tests Reviewed-by: Georg Brandl --- frappy/gui/cfg_editor/config_file.py | 4 +-- frappy/gui/cfg_editor/tree_widget_item.py | 2 +- .../gui/cfg_editor/ui/change_name_dialog.ui | 6 ++-- frappy/gui/cfg_editor/ui/mainwindow.ui | 22 ++++++------ frappy/gui/cfg_editor/utils.py | 2 ++ frappy/gui/cfg_editor/widgets.py | 34 ++++++++++--------- frappy/gui/valuewidgets.py | 2 +- 7 files changed, 38 insertions(+), 34 deletions(-) diff --git a/frappy/gui/cfg_editor/config_file.py b/frappy/gui/cfg_editor/config_file.py index 3b0b632..61af0f7 100644 --- a/frappy/gui/cfg_editor/config_file.py +++ b/frappy/gui/cfg_editor/config_file.py @@ -83,8 +83,8 @@ def write_config(file_name, tree_widget): def read_config(file_path): # TODO datatype of params and properties node = TreeWidgetItem(NODE) - ifs = TreeWidgetItem(name='interfaces') - mods = TreeWidgetItem(name='modules') + ifs = TreeWidgetItem(name='Interfaces') + mods = TreeWidgetItem(name='Modules') node.addChild(ifs) node.addChild(mods) config = configparser.ConfigParser() diff --git a/frappy/gui/cfg_editor/tree_widget_item.py b/frappy/gui/cfg_editor/tree_widget_item.py index b64112c..01890f6 100644 --- a/frappy/gui/cfg_editor/tree_widget_item.py +++ b/frappy/gui/cfg_editor/tree_widget_item.py @@ -167,7 +167,7 @@ class ValueWidget(QWidget): self.value_display.textChanged.connect(self.emit_save_status_changed) self.set_value(value) else: - self.value_display = QLabel(value) + self.value_display = QLabel(str(value)) self.layout.addWidget(self.value_display) self.setLayout(self.layout) diff --git a/frappy/gui/cfg_editor/ui/change_name_dialog.ui b/frappy/gui/cfg_editor/ui/change_name_dialog.ui index 9807e2f..04a6919 100644 --- a/frappy/gui/cfg_editor/ui/change_name_dialog.ui +++ b/frappy/gui/cfg_editor/ui/change_name_dialog.ui @@ -7,11 +7,11 @@ 0 0 239 - 81 + 84 - change name + Change name @@ -20,7 +20,7 @@ - name: + Name: diff --git a/frappy/gui/cfg_editor/ui/mainwindow.ui b/frappy/gui/cfg_editor/ui/mainwindow.ui index 6e9aede..904b195 100644 --- a/frappy/gui/cfg_editor/ui/mainwindow.ui +++ b/frappy/gui/cfg_editor/ui/mainwindow.ui @@ -34,7 +34,7 @@ create new SEC node - new + New @@ -67,7 +67,7 @@ open file - open + Open @@ -100,7 +100,7 @@ save - save + Save @@ -140,7 +140,7 @@ add interface - add interface + Add interface @@ -173,7 +173,7 @@ add module - add module + Add module @@ -206,7 +206,7 @@ add parameter - add parameter + Add parameter @@ -239,7 +239,7 @@ add property - add property + Add property @@ -272,7 +272,7 @@ add comment - add comment + Add comment @@ -319,7 +319,7 @@ duplicate module or interface - duplicate + Duplicate @@ -352,7 +352,7 @@ delete - delete + Delete @@ -409,7 +409,7 @@ 0 0 977 - 20 + 26 diff --git a/frappy/gui/cfg_editor/utils.py b/frappy/gui/cfg_editor/utils.py index a2014bb..28ff8e9 100644 --- a/frappy/gui/cfg_editor/utils.py +++ b/frappy/gui/cfg_editor/utils.py @@ -106,6 +106,7 @@ def get_file_paths(widget, open_file=True): def get_modules(): modules = {} + generalConfig.init() base_path = generalConfig.basedir # pylint: disable=too-many-nested-blocks for dirname in listdir(base_path): @@ -156,6 +157,7 @@ def get_interface_class_from_name(name): def get_interfaces(): # TODO class must be found out like for modules interfaces = [] + generalConfig.init() interface_path = path.join(generalConfig.basedir, 'frappy', 'protocol', 'interface') for filename in listdir(interface_path): diff --git a/frappy/gui/cfg_editor/widgets.py b/frappy/gui/cfg_editor/widgets.py index 5b61d80..b46a108 100644 --- a/frappy/gui/cfg_editor/widgets.py +++ b/frappy/gui/cfg_editor/widgets.py @@ -60,14 +60,14 @@ class TreeWidget(QTreeWidget): self.customContextMenuRequested.connect(self.on_context_menu_requested) def setup_context_actions(self): - edit = self.menu.addAction('rename') - a_m = self.menu.addAction('add module') - a_i = self.menu.addAction('add interface') - a_pa = self.menu.addAction('add parameter') - a_pr = self.menu.addAction('add property') - a_c = self.menu.addAction('add comment') - dup = self.menu.addAction('duplicate') - dele = self.menu.addAction('delete') + edit = self.menu.addAction('Rename') + a_m = self.menu.addAction('Add module') + a_i = self.menu.addAction('Add interface') + a_pa = self.menu.addAction('Add parameter') + a_pr = self.menu.addAction('Add property') + a_c = self.menu.addAction('Add comment') + dup = self.menu.addAction('Duplicate') + dele = self.menu.addAction('Delete') self.context_actions = [edit, a_m, a_i, a_pa, a_pr, a_c, dup, dele] setActionIcon(edit, 'edit.png') setActionIcon(a_m, 'add_module.png') @@ -115,8 +115,8 @@ class TreeWidget(QTreeWidget): None) self.addTopLevelItem(sec_node) sec_node.setExpanded(True) - self.mods = self.get_tree_widget_item(name='modules') - self.ifs = self.get_tree_widget_item(name='interfaces') + self.mods = self.get_tree_widget_item(name='Modules') + self.ifs = self.get_tree_widget_item(name='Interfaces') sec_node.addChild(self.ifs) sec_node.addChild(self.mods) self.emit_save_status_changed(False) @@ -337,7 +337,7 @@ class AddDialog(QDialog): the value from self.value""" super().__init__(parent) loadUi(self, 'add_dialog.ui') - self.setWindowTitle('add %s' % kind) + self.setWindowTitle('Add %s' % kind) self.kind = kind self.invalid_names = invalid_names if self.invalid_names: @@ -348,15 +348,15 @@ class AddDialog(QDialog): self.name = QLineEdit() # TODO: input mask self.name.textChanged.connect(self.check_input) - self.add_layout.addWidget(QLabel('name:'), 0, 0) + self.add_layout.addWidget(QLabel('Name:'), 0, 0) self.add_layout.addWidget(self.name, 0, 1) if kind == NODE: - label_text = 'description:' + label_text = 'Description:' self.value = QTextEdit() self.get_value = self.value.toPlainText self.value.text = self.value.toPlainText else: - label_text = 'kind:' + label_text = 'Kind:' self.value = QComboBox() self.get_value = self.value.currentText if type(possible_values) == dict: @@ -368,18 +368,20 @@ class AddDialog(QDialog): self.value.setCurrentIndex(len(possible_values)-1) self.add_layout.addWidget(QLabel(label_text), 1, 0) self.add_layout.addWidget(self.value, 1, 1) + self.name.setFocus() else: if kind in [PARAMETER, PROPERTY]: - label_text = 'kind:' + label_text = 'Kind:' self.value = QComboBox() self.get_value = self.value.currentText self.value.addItems(possible_values) else: - label_text = 'comment:' + label_text = 'Comment:' self.value = QTextEdit() self.get_value = self.value.toPlainText self.add_layout.addWidget(QLabel(label_text), 0, 0) self.add_layout.addWidget(self.value, 0, 1) + self.value.setFocus() if self.add_layout.rowCount() == 2: self.setTabOrder(self.name, self.value) self.setTabOrder(self.value, self.button_box.button(QDialogButtonBox.Ok)) diff --git a/frappy/gui/valuewidgets.py b/frappy/gui/valuewidgets.py index 2a4163d..74a9631 100644 --- a/frappy/gui/valuewidgets.py +++ b/frappy/gui/valuewidgets.py @@ -57,7 +57,7 @@ class TextWidget(QTextEdit): self.setEnabled(False) def get_value(self): - res = self.text() + res = self.toPlainText() return self.datatype(res) def set_value(self, value):