From 4d045a9b1a5fd838bb6d1be447ec843f059aa82a Mon Sep 17 00:00:00 2001 From: Sven Augustin Date: Mon, 19 Dec 2022 17:43:56 +0100 Subject: [PATCH] set alarm state (currently just bold font) to items in the list that get updated while invisible --- grum/dictlist.py | 19 +++++++++++++++++++ grum/mainwin.py | 3 +++ 2 files changed, 22 insertions(+) diff --git a/grum/dictlist.py b/grum/dictlist.py index 7fa0641..1502be5 100644 --- a/grum/dictlist.py +++ b/grum/dictlist.py @@ -1,4 +1,5 @@ from collections import defaultdict +from PyQt5.QtCore import Qt from PyQt5.QtWidgets import QListWidget, QListWidgetItem @@ -29,6 +30,7 @@ class DictList(QListWidget): def prependItem(self, itm): self.insertItem(0, itm) + def get(self, index): key = self.get_key(index) value = self.data[key] @@ -45,4 +47,21 @@ class DictList(QListWidget): return lst[row] + def set_alarm_by_key(self, key, state): + itm = self.findItems(key, Qt.MatchExactly)[0] + set_bold(itm, state) + + def set_alarm_by_index(self, index, state): + row = index.row() + itm = self.item(row) + set_bold(itm, state) + + + +def set_bold(itm, state): + fnt = itm.font() + fnt.setBold(state) + itm.setFont(fnt) + + diff --git a/grum/mainwin.py b/grum/mainwin.py index 760f7b0..65d4e4e 100644 --- a/grum/mainwin.py +++ b/grum/mainwin.py @@ -53,9 +53,12 @@ class MainWindow(QMainWindow): if sub: desc = self.lst.data[name] sub.plot.setData(*desc.data) + else: + self.lst.set_alarm_by_key(name, True) def on_select_list_item(self, index): + self.lst.set_alarm_by_index(index, False) name, desc = self.lst.get(index) sub = self.mdi.findSubWindow(name) if sub: