Update viewer panel when importance labels change (#1992)

This commit is contained in:
Veronica Berglyd Olsen
2024-07-25 19:21:52 +02:00
parent 5936e1a68b
commit 3bffaa01dc
4 changed files with 21 additions and 1 deletions
+4 -1
View File
@@ -121,7 +121,7 @@ class NWStatus:
return key
def update(self, update: list[tuple[str | None, StatusEntry]]) -> None:
"""Update the list of statuses, and from removed list."""
"""Update the list of statuses."""
self._store.clear()
for key, entry in update:
self._store[self._checkKey(key)] = entry
@@ -130,6 +130,9 @@ class NWStatus:
if self._default not in self._store:
self._default = next(iter(self._store)) if self._store else None
# Emit the change signal
SHARED.projectSingalProxy({"event": "statusLabels", "kind": self._prefix})
return
def check(self, value: str) -> str:
+7
View File
@@ -189,6 +189,13 @@ class GuiDocViewerPanel(QWidget):
self._updateTabVisibility()
return
@pyqtSlot(str)
def updateStatusLabels(self, kind: str) -> None:
"""Update the importance labels."""
if kind == "i":
self._loadAllTags()
return
##
# Private Slots
##
+1
View File
@@ -222,6 +222,7 @@ class GuiMain(QMainWindow):
SHARED.projectStatusChanged.connect(self.mainStatus.updateProjectStatus)
SHARED.projectStatusMessage.connect(self.mainStatus.setStatusMessage)
SHARED.spellLanguageChanged.connect(self.mainStatus.setLanguage)
SHARED.statusLabelsChanged.connect(self.docViewerPanel.updateStatusLabels)
self.mainMenu.requestDocAction.connect(self._passDocumentAction)
self.mainMenu.requestDocInsert.connect(self._passDocumentInsert)
+9
View File
@@ -64,6 +64,7 @@ class SharedData(QObject):
indexCleared = pyqtSignal()
indexAvailable = pyqtSignal()
mainClockTick = pyqtSignal()
statusLabelsChanged = pyqtSignal(str)
def __init__(self) -> None:
super().__init__()
@@ -309,6 +310,14 @@ class SharedData(QObject):
self.indexAvailable.emit()
return
def projectSingalProxy(self, data: dict) -> None:
"""Emit signals on project data change."""
event = data.get("event")
logger.debug("Received '%s' event from project data", event)
if event == "statusLabels":
self.statusLabelsChanged.emit(data.get("kind", ""))
return
##
# Alert Boxes
##