[tree] emit signal upon data tree selection

This commit is contained in:
Jan Grewe 2021-01-01 17:06:13 +01:00
parent dae8125999
commit 6ce5ab5d5f
2 changed files with 16 additions and 3 deletions

View File

@ -87,14 +87,24 @@ class FileView(QWidget):
def dataTreeResize(self, index):
self._data_tree.resizeColumnToContents(index.column())
def dataTreeSelection(self, current_index, last_index):
if not current_index.isValid():
return
item = current_index.internalPointer()
comm.communicator.item_selected.emit(item)
def update(self):
data_model = TreeModel(self._file_handler, TreeType.Data)
metadata_model = TreeModel(self._file_handler, TreeType.Metadata)
self._data_tree.setModel(data_model)
selection_model = QItemSelectionModel(data_model)
self._data_tree.setSelectionModel(selection_model)
selection_model.currentChanged.connect(self.dataTreeSelection)
self._mdata_tree.setModel(metadata_model)
self._data_tree.resizeColumnToContents(0)
self._mdata_tree.resizeColumnToContents(0)
for i in range(data_model.columnCount(None)):
self._data_tree.resizeColumnToContents(i)
self._mdata_tree.resizeColumnToContents(i)
def reset(self):
print("FileView ", self._file_handler.is_valid)

View File

@ -1,3 +1,4 @@
from tree_model import NixTreeItem
from PyQt5.QtCore import QObject, pyqtSignal
class Communicate(QObject):
@ -5,5 +6,7 @@ class Communicate(QObject):
Small class for across app communication. Defines signals, to which other classes can connect.
"""
open_recent = pyqtSignal(str)
item_selected = pyqtSignal(NixTreeItem)
communicator = Communicate()