def readSettings(self): entries = settings.readMarkColors() for name, color in entries.items(): item = QTreeWidgetItem(self.markColorWidget) item.setFlags(item.flags() | Qt.ItemIsEditable) widget = ColorVignette(self) widget.setColor(color) widget.setMargins(2, 2, 2, 2) widget.setMayClearColor(False) self.markColorWidget.setItemWidget(item, 0, widget) item.setText(1, name) if not len(entries): self.removeItemButton.setEnabled(False) loadRecentFile = settings.loadRecentFile() self.loadRecentFileBox.setChecked(loadRecentFile)
def addItem(self): def mangleNewName(): name = self.tr("New") index = 0 while self.markColorWidget.findItems(name, Qt.MatchExactly, 1): index += 1 name = "{0} ({1})".format(name, index) return name # TODO: not DRY with ctor item = QTreeWidgetItem(self.markColorWidget) item.setFlags(item.flags() | Qt.ItemIsEditable) widget = ColorVignette(self) widget.setColor(QColor(Qt.white)) widget.setMargins(2, 2, 2, 2) widget.setMayClearColor(False) self.markColorWidget.setItemWidget(item, 0, widget) item.setText(1, mangleNewName()) self.markColorWidget.setCurrentItem(item) self.markColorWidget.editItem(item, 1) self.removeItemButton.setEnabled(True)
def _updateLayerAttributes(self, notification=None): self.layerSetWidget.clear() if self._font is None: return layerSet = self._font.layers if layerSet is None: return for layer in layerSet: item = QTreeWidgetItem(self.layerSetWidget) item.setFlags(item.flags() | Qt.ItemIsEditable) item.setText(0, layer.name) widget = ColorVignette(self) color = layer.color if color is not None: color = QColor.fromRgbF(*tuple(color)) widget.setColor(color) widget.setMargins(2, 2, 2, 2) widget.setMayClearColor(False) widget.colorChanged.connect(self.writeLayerColor) widget.setProperty("layer", layer) self.layerSetWidget.setItemWidget(item, 1, widget) self.layerSetWidget.setColumnWidth(1, 100)