diff options
Diffstat (limited to 'Lib/defconQt/groupsView.py')
| -rw-r--r-- | Lib/defconQt/groupsView.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/Lib/defconQt/groupsView.py b/Lib/defconQt/groupsView.py new file mode 100644 index 0000000..96d9c86 --- /dev/null +++ b/Lib/defconQt/groupsView.py @@ -0,0 +1,33 @@ +from PyQt5.QtCore import * +from PyQt5.QtGui import * +from PyQt5.QtWidgets import * + +class GroupsWindow(QWidget): + def __init__(self, font, parent=None): + super(GroupsWindow, self).__init__(parent, Qt.Window) + self.font = font + self.groups = sorted(font.groups.keys(), key=lambda t: t[0]) + + self.groupsList = QListWidget(self) + #self.groupsList.addItems(self.font.groups.keys()) + #self.groupsList.setEditTriggers(QAbstractItemView.DoubleClicked | QAbstractItemView.EditKeyPressed) + for groupName in self.font.groups.keys(): + item = QListWidgetItem(groupName, self.groupsList) + #item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsEditable) + item.setFlags(item.flags() | Qt.ItemIsEditable) + self.groupsList.itemChanged.connect(self._groupRenamed) + + layout = QVBoxLayout(self) + layout.addWidget(self.groupsList) + self.setLayout(layout) + + self.setWindowTitle("%s%s%s%s" % ("Groups window – ", self.font.info.familyName, " ", self.font.info.styleName)) + + def _groupRenamed(self): + cur = self.groupsList.currentItem() + # XXX: perf? + index = self.groupsList.indexFromItem(cur) + newKey = cur.text() + self.font.groups[newKey] = self.font.groups.pop(self.groups[index]) + self.groups[index] = newKey + #print(self.groupsList.currentItem().text())
\ No newline at end of file |
