[central view] renaming and some minor cleanup

This commit is contained in:
Jan Grewe 2021-01-06 23:13:42 +01:00
parent e02f8dba30
commit 1718fd89ca

View File

@ -103,17 +103,17 @@ class FileView(QWidget):
return return
item = current_index.internalPointer() item = current_index.internalPointer()
comm.communicator.item_selected.emit(item) comm.communicator.item_selected.emit(item)
self._info.setEntityInfo(item.node_descriptor)
def update(self): def update(self):
tt = TreeType.Data tt = TreeType.Data
if self._tree_type_combo.currentText() == TreeType.Data.value: if self._tree_type_combo.currentText() == TreeType.Data.value:
print("Data")
tt = TreeType.Data tt = TreeType.Data
elif self._tree_type_combo.currentText() == TreeType.Full.value: elif self._tree_type_combo.currentText() == TreeType.Full.value:
tt = TreeType.Full tt = TreeType.Full
elif self._tree_type_combo.currentText() == TreeType.Metadata.value: elif self._tree_type_combo.currentText() == TreeType.Metadata.value:
tt = TreeType.Metadata tt = TreeType.Metadata
self._info.setEntityInfo(None)
data_model = TreeModel(self._file_handler, tt) data_model = TreeModel(self._file_handler, tt)
self._data_tree.setModel(data_model) self._data_tree.setModel(data_model)
selection_model = QItemSelectionModel(data_model) selection_model = QItemSelectionModel(data_model)
@ -129,8 +129,10 @@ class FileView(QWidget):
class EntityInfo(QWidget): class EntityInfo(QWidget):
icon_size = QSize(30, 30) icon_size = QSize(30, 30)
def __init__(self, parent): def __init__(self, parent):
super().__init__(parent=parent) super().__init__(parent=parent)
self._file_handler = FileHandler()
self.setLayout(QHBoxLayout()) self.setLayout(QHBoxLayout())
self._metadata_tree = QTreeView() self._metadata_tree = QTreeView()
@ -154,7 +156,7 @@ class EntityInfo(QWidget):
file_info_grp = QGroupBox("File info") file_info_grp = QGroupBox("File info")
file_info_grp.setLayout(QVBoxLayout()) file_info_grp.setLayout(QVBoxLayout())
file_info_grp.layout().setContentsMargins(1, 10, 1, 1) file_info_grp.layout().setContentsMargins(1, 10, 1, 1)
self._file_info = QTextEdit("File infomation") self._file_info = QTextEdit("File information")
self._file_info.setEnabled(True) self._file_info.setEnabled(True)
self._file_info.setTextInteractionFlags(Qt.TextSelectableByKeyboard | Qt.TextSelectableByMouse) self._file_info.setTextInteractionFlags(Qt.TextSelectableByKeyboard | Qt.TextSelectableByMouse)
self._file_info.setFrameShape(QFrame.NoFrame) self._file_info.setFrameShape(QFrame.NoFrame)
@ -164,30 +166,42 @@ class EntityInfo(QWidget):
entity_info_grp = QGroupBox("Entity info") entity_info_grp = QGroupBox("Entity info")
entity_info_grp.setLayout(QVBoxLayout()) entity_info_grp.setLayout(QVBoxLayout())
entity_info_grp.layout().setContentsMargins(1, 10, 1, 1) entity_info_grp.layout().setContentsMargins(1, 10, 1, 1)
self._entity_info = QTextEdit("<h3>Entity Information</h3>") self._entity_info = QTextEdit("Entity information")
self._entity_info.setEnabled(False) self._file_info.setEnabled(True)
self._file_info.setTextInteractionFlags(Qt.TextSelectableByKeyboard | Qt.TextSelectableByMouse)
self._file_info.setFrameShape(QFrame.NoFrame)
self._file_info.setLineWrapMode(QTextEdit.WidgetWidth)
entity_info_grp.layout().addWidget(self._entity_info) entity_info_grp.layout().addWidget(self._entity_info)
splitter = QSplitter(Qt.Horizontal) self._splitter = QSplitter(Qt.Horizontal)
splitter.addWidget(file_info_grp) self._splitter.addWidget(file_info_grp)
splitter.addWidget(entity_info_grp) self._splitter.addWidget(entity_info_grp)
splitter.addWidget(mdata_grp) self._splitter.addWidget(mdata_grp)
splitter.setSizes([200, 400, 0]) self._splitter.setSizes([200, 400, 0])
splitter.setStretchFactor(0, 0) self._splitter.setStretchFactor(0, 0)
splitter.setStretchFactor(1, 1) self._splitter.setStretchFactor(1, 1)
splitter.setStretchFactor(2, 1) self._splitter.setStretchFactor(2, 1)
self.layout().addWidget(splitter) self.layout().addWidget(self._splitter)
def setFileInfo(self, file_info): def setFileInfo(self, file_info):
if file_info is not None: if file_info is not None:
self._file_info.setText(file_info.toHtml()) self._file_info.setText(file_info.toHtml())
def setEntityInfo(self, entityInfo): def setEntityInfo(self, entity_info):
if not isinstance(entityInfo, ItemDescriptor): if entity_info is None or not isinstance(entity_info, ItemDescriptor):
print("Meh! wrong item") self._splitter.setSizes([200, 400, 0])
metadata_model = TreeModel(self._file_handler, TreeType.Metadata) self._entity_info.setText("")
self._metadata_tree.setModel(None)
return
if entity_info.metadata_id is not None:
self._splitter.setSizes([200, 400, 400])
else:
self._splitter.setSizes([200, 400, 0])
self._entity_info.setText(entity_info.to_html())
metadata_model = TreeModel(self._file_handler, TreeType.Metadata, root_section_id=entity_info.metadata_id)
self._metadata_tree.setModel(metadata_model) self._metadata_tree.setModel(metadata_model)
for i in range(metadata_model.columnCount(None)): for i in range(metadata_model.columnCount(None)):
self._metadata_tree.resizeColumnToContents(i) self._metadata_tree.resizeColumnToContents(i)
@ -268,6 +282,5 @@ class SplashScreen(QWidget):
def _on_key_pressed(self, key): def _on_key_pressed(self, key):
item = self._file_list.currentItem() item = self._file_list.currentItem()
print(item)
if item is not None and key == Qt.Key_Return: if item is not None and key == Qt.Key_Return:
comm.communicator.open_recent.emit(self._file_map[item.text()]) comm.communicator.open_recent.emit(self._file_map[item.text()])