def _update(self): self.preconfTree.clear() self._preconf_enable = {} self._preconf_entries = {} self._user_entries = {} cf = self.client.eval('session.cache.get_raw("watchdog/configured")', Ellipsis) if cf is Ellipsis: self.showError('Could not query watchdog configuration; ' 'are you connected to a daemon?') return cf = sorted(cf, key=lambda entry: entry['id']) for entry in cf: eid = entry['id'] item = QTreeWidgetItem(self.preconfTree, [ '', entry['message'], entry['condition'], entry['setup'], str(entry['gracetime']), entry['precondition'], str(entry['precondtime']), entry['okmessage'], entry['scriptaction'], entry['action'], entry['okaction'] ]) item.setCheckState(0, Qt.Checked if entry['enabled'] else Qt.Unchecked) self._preconf_enable[eid] = entry['enabled'] self._preconf_entries[eid] = entry item.setData(0, 32, eid)
def updateTree(self): """Updates the elements shown in the tree.""" self.clearCacheTree() filterStr = self.valueFilter.text() or '' for key in self.client.keys(): if filterStr not in key: continue # split the key into parts parts = key.split('/') # keys without category need a node too if len(parts) == 1: parts = ['<no category>'] + parts # add a node to the tree for each part of the key except the last prefix = '' parent = None for part in parts[:-1]: prefix = part if not prefix else prefix + '/' + part node = self._treeitems.get(prefix) if not node: node = QTreeWidgetItem() node.setText(0, part) node.setData(0, 32, prefix) if parent: parent.addChild(node) else: self.treeCache.addTopLevelItem(node) node.setExpanded(True) self._treeitems[prefix] = node parent = node
def __init__(self, reason, parent=None): QDialog.__init__(self, parent) loadUi(self, 'dialogs/instr_select.ui') icon = QIcon(':/appicon-16') if reason: self.reasonLbl.setText(reason) else: self.reasonLbl.hide() self.saveBox.hide() self.confTree.itemDoubleClicked.connect(self.handleDoubleClick) for entry in sorted(os.listdir(config.nicos_root)): full = path.join(config.nicos_root, entry) if not (entry.startswith('nicos_') and path.isdir(full)): continue pkgitem = QTreeWidgetItem(self.confTree, [entry]) pkgitem.setIcon(0, icon) for subentry in sorted(os.listdir(full)): configfile = path.join(full, subentry, 'guiconfig.py') if not path.isfile(configfile): continue item = QTreeWidgetItem(pkgitem, [subentry]) item.setData(0, QTreeWidgetItem.UserType, configfile)