Allow double-clicking in viewer panel

This commit is contained in:
Veronica Berglyd Olsen
2023-11-25 18:53:11 +01:00
parent 05e63cb01e
commit b17b5d32c2
2 changed files with 26 additions and 0 deletions
+18
View File
@@ -231,6 +231,7 @@ class _ViewPanelBackRefs(QTreeWidget):
# Signals
self.clicked.connect(self._treeItemClicked)
self.doubleClicked.connect(self._treeItemDoubleClicked)
return
@@ -271,6 +272,14 @@ class _ViewPanelBackRefs(QTreeWidget):
self._parent.openDocumentRequest.emit(tHandle, nwDocMode.VIEW, "", True)
return
@pyqtSlot("QModelIndex")
def _treeItemDoubleClicked(self, index: QModelIndex) -> None:
"""Emit follow tag signal on user double click."""
tHandle = index.siblingAtColumn(self.C_DATA).data(self.D_HANDLE)
if index.column() == self.C_DOC:
self._parent.openDocumentRequest.emit(tHandle, nwDocMode.VIEW, "", True)
return
##
# Internal Functions
##
@@ -356,6 +365,7 @@ class _ViewPanelKeyWords(QTreeWidget):
# Signals
self.clicked.connect(self._treeItemClicked)
self.doubleClicked.connect(self._treeItemDoubleClicked)
return
@@ -436,4 +446,12 @@ class _ViewPanelKeyWords(QTreeWidget):
self._parent.loadDocumentTagRequest.emit(tag, nwDocMode.VIEW)
return
@pyqtSlot("QModelIndex")
def _treeItemDoubleClicked(self, index: QModelIndex) -> None:
"""Emit follow tag signal on user double click."""
tag = index.siblingAtColumn(self.C_DATA).data(self.D_TAG)
if index.column() == self.C_NAME:
self._parent.loadDocumentTagRequest.emit(tag, nwDocMode.VIEW)
return
# END Class _ViewPanelKeyWords
@@ -102,6 +102,12 @@ def testGuiViewerPanel_BackRefs(qtbot, monkeypatch, nwGUI, projPath, mockRnd):
tabBackRefs._treeItemClicked(tabBackRefs.model().index(0, tabBackRefs.C_VIEW))
assert nwGUI.docViewer.docHandle == C.hSceneDoc
# Double-Click
nwGUI.viewDocument(hJane)
assert nwGUI.docViewer.docHandle == hJane
tabBackRefs._treeItemDoubleClicked(tabBackRefs.model().index(0, tabBackRefs.C_DOC))
assert nwGUI.docViewer.docHandle == C.hSceneDoc
# qtbot.stop()
# END Test testGuiViewerPanel_BackRefs
@@ -189,6 +195,8 @@ def testGuiViewerPanel_Tags(qtbot, monkeypatch, caplog, nwGUI, projPath, mockRnd
assert nwGUI.docViewer.docHandle == C.hSceneDoc
charTab._treeItemClicked(charTab.model().index(1, charTab.C_VIEW))
assert nwGUI.docViewer.docHandle == hJohn
charTab._treeItemDoubleClicked(charTab.model().index(0, charTab.C_NAME))
assert nwGUI.docViewer.docHandle == hJane
# qtbot.stop()