def __fillAddChooser(self): self.__addChooser.clear() self.__addItems = [] enum = Connector().enum() rules = self.__rules.rules() stores = [enum.doc(s) for s in enum.allStores() if not enum.isSystem(s) and enum.isMounted(s)] self.__addItems = [(s, p) for s in stores for p in stores if s < p and (s,p) not in rules and (p,s) not in rules ] self.__addBtn.setEnabled(bool(self.__addItems)) for (store, peer) in self.__addItems: title = (struct.readTitle(struct.DocLink(store, store, False), '?') + ' - ' + struct.readTitle(struct.DocLink(peer, peer, False), '?')) self.__addChooser.addItem(title)
def update(self): if self.watch: Connector().unwatch(self.watch) self.watch = None enum = Connector().enum() self.mountBtn.setEnabled(enum.isRemovable(self.mountId)) if enum.isMounted(self.mountId): doc = enum.doc(self.mountId) self.mountBtn.setText("Unmount") self.storeBtn.setDocument(doc, doc) self.watch = StoreWidget.StoreWatch(doc, self.update) Connector().watch(self.watch) self.mounted = True else: self.mountBtn.setText("Mount") self.storeBtn.setText(enum.name(self.mountId)) self.mounted = False