Implement deleting glyphs.
This commit is contained in:
parent
cf8575152e
commit
8a875d90bd
1 changed files with 22 additions and 1 deletions
|
|
@ -64,13 +64,34 @@ class GlyphDBModel(QAbstractTableModel):
|
||||||
elif role == Qt.DecorationRole:
|
elif role == Qt.DecorationRole:
|
||||||
return self.get_image(key)
|
return self.get_image(key)
|
||||||
|
|
||||||
|
def removeRows(self, row, count, parent=None):
|
||||||
|
self.beginRemoveRows(parent, row, row + count - 1)
|
||||||
|
|
||||||
|
keys = self.keys[row: row + count]
|
||||||
|
for key in keys:
|
||||||
|
del self.glyphdb[key]
|
||||||
|
del self.keys[row]
|
||||||
|
|
||||||
|
self.endRemoveRows()
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
class GlyphTableView(QTableView):
|
||||||
|
def keyPressEvent(self, event):
|
||||||
|
if event.key() == Qt.Key_Delete:
|
||||||
|
print('delete')
|
||||||
|
for index in self.selectedIndexes():
|
||||||
|
self.model().removeRow(index.row())
|
||||||
|
else:
|
||||||
|
return super().keyPressEvent(event)
|
||||||
|
|
||||||
|
|
||||||
def main(argv):
|
def main(argv):
|
||||||
dirname = argv[1]
|
dirname = argv[1]
|
||||||
|
|
||||||
app = QApplication(argv)
|
app = QApplication(argv)
|
||||||
glyphdb = GlyphDB(dirname)
|
glyphdb = GlyphDB(dirname)
|
||||||
view = QTableView()
|
view = GlyphTableView()
|
||||||
model = GlyphDBModel(glyphdb, parent=view)
|
model = GlyphDBModel(glyphdb, parent=view)
|
||||||
view.setModel(model)
|
view.setModel(model)
|
||||||
view.resize(640, 480)
|
view.resize(640, 480)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue