switched doubleClicked -> itemDoubleClicked; got rid of all index handling

This commit is contained in:
2022-12-21 12:37:53 +01:00
parent 354b1a7ce5
commit 2a30111566
2 changed files with 7 additions and 26 deletions

View File

@ -32,31 +32,9 @@ class DictListWidget(QListWidget):
def prependItem(self, itm): def prependItem(self, itm):
self.insertItem(0, itm) self.insertItem(0, itm)
def get(self, index):
key = self.get_key(index)
value = self.data[key]
return key, value
def get_value(self, index):
_key, value = self.get(index)
return value
def get_key(self, index): # this relies on dict being ordered
lst = list(self.data)
lst.reverse() # add prepends the new items
row = index.row()
return lst[row]
def set_alarm_by_key(self, key, state): def set_alarm_by_key(self, key, state):
itm = self.findItems(key, Qt.MatchExactly)[0] itm = self.findItems(key, Qt.MatchExactly)[0]
itm.set_alarm(state) itm.set_alarm(state)
def set_alarm_by_index(self, index, state):
row = index.row()
itm = self.item(row)
itm.set_alarm(state)

View File

@ -20,7 +20,7 @@ class MainWindow(QMainWindow):
self.lst = lst = DictListWidget(exampledata, factory=PlotDescription) self.lst = lst = DictListWidget(exampledata, factory=PlotDescription)
lst.setAlternatingRowColors(True) lst.setAlternatingRowColors(True)
lst.doubleClicked.connect(self.on_select_list_item) lst.itemDoubleClicked.connect(self.on_select_list_item)
bar = self.menuBar() bar = self.menuBar()
self.mdi = mdi = MDIArea(bar) self.mdi = mdi = MDIArea(bar)
@ -57,9 +57,12 @@ class MainWindow(QMainWindow):
self.lst.set_alarm_by_key(name, True) self.lst.set_alarm_by_key(name, True)
def on_select_list_item(self, index): def on_select_list_item(self, item):
self.lst.set_alarm_by_index(index, False) item.set_alarm(False)
name, desc = self.lst.get(index)
name = item.text()
desc = self.lst.data[name]
sub = self.mdi.findSubWindow(name) sub = self.mdi.findSubWindow(name)
if sub: if sub:
self.mdi.setActiveSubWindow(sub) self.mdi.setActiveSubWindow(sub)