Update viewer panel when importance labels change (#1992)
This commit is contained in:
@@ -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:
|
||||
|
||||
@@ -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
|
||||
##
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
##
|
||||
|
||||
Reference in New Issue
Block a user