AddFiles: Add support to read only mode.

scenarios
Pierre-Antoine Rouby 2024-09-04 16:29:27 +02:00
parent a1e6e646f9
commit be1e868fc4
3 changed files with 75 additions and 15 deletions

View File

@ -64,6 +64,12 @@ class EditAddFileWindow(PamhyrWindow):
self.set_line_edit_text("lineEdit_path", self._add_file.path)
self.set_plaintext_edit_text("plainTextEdit", self._add_file.text)
if self._study.is_read_only():
self.set_check_box_enable("checkBox", False)
self.set_line_edit_enable("lineEdit_name", False)
self.set_line_edit_enable("lineEdit_path", False)
self.set_plaintext_edit_enable("plainTextEdit", False)
def setup_connection(self):
self.find(QPushButton, "pushButton_cancel")\
.clicked.connect(self.close)
@ -71,20 +77,22 @@ class EditAddFileWindow(PamhyrWindow):
.clicked.connect(self.accept)
def accept(self):
is_enabled = self.get_check_box("checkBox")
name = self.get_line_edit_text("lineEdit_name")
path = self.get_line_edit_text("lineEdit_path")
text = self.get_plaintext_edit_text("plainTextEdit")
if self._study.is_editable():
is_enabled = self.get_check_box("checkBox")
name = self.get_line_edit_text("lineEdit_name")
path = self.get_line_edit_text("lineEdit_path")
text = self.get_plaintext_edit_text("plainTextEdit")
self._undo.push(
SetCommand(
self._add_file,
enabled=is_enabled,
name=name,
path=path,
text=text,
self._undo.push(
SetCommand(
self._add_file,
enabled=is_enabled,
name=name,
path=path,
text=text,
)
)
)
self._propagate_update(key=Modules.ADDITIONAL_FILES)
self._propagate_update(key=Modules.ADDITIONAL_FILES)
self.close()

View File

@ -60,8 +60,10 @@ class AddFileListWindow(PamhyrWindow):
)
def setup_connections(self):
self.find(QAction, "action_add").triggered.connect(self.add)
self.find(QAction, "action_delete").triggered.connect(self.delete)
if self._study.is_editable():
self.find(QAction, "action_add").triggered.connect(self.add)
self.find(QAction, "action_delete").triggered.connect(self.delete)
self.find(QAction, "action_edit").triggered.connect(self.edit)
def update(self):

View File

@ -221,6 +221,18 @@ class ASubWindowFeatures(object):
"""
return self.find(QLineEdit, name).text()
def set_line_edit_enable(self, name: str, enable: bool):
"""Get enable status of line edit component
Args:
line_edit: The line edit component name
enable: The boolean status
Returns:
Text
"""
return self.find(QLineEdit, name).setEnabled(enable)
def set_text_edit_text(self, name: str, text: str):
"""Set text of text edit component
@ -233,6 +245,19 @@ class ASubWindowFeatures(object):
"""
self.find(QTextEdit, name).setMarkdown(text)
def set_text_edit_enable(self, name: str, enable: bool):
"""Set enable status of text edit component
Args:
text_edit: The text edit component name
enable: The boolean status
Returns:
Nothing
"""
self.find(QTextEdit, name).setEnabled(enable)
def get_text_edit_text(self, name: str):
"""Get text of text edit component
@ -256,6 +281,18 @@ class ASubWindowFeatures(object):
"""
self.find(QPlainTextEdit, name).setPlainText(text)
def set_plaintext_edit_enable(self, name: str, enable: bool):
"""Set enable status of text edit component
Args:
text_edit: The text edit component name
enable: The boolean status
Returns:
Nothing
"""
self.find(QPlainTextEdit, name).setEnabled(enable)
def get_plaintext_edit_text(self, name: str):
"""Get text of text edit component
@ -279,6 +316,19 @@ class ASubWindowFeatures(object):
"""
self.find(QCheckBox, name).setChecked(checked)
def set_check_box_enable(self, name: str, enable: bool):
"""Set status of checkbox component
Args:
name: The check box component name
enable: Bool
Returns:
Nothing
"""
self.find(QCheckBox, name).setEnabled(enable)
def get_check_box(self, name: str):
"""Get status of checkbox component