Try to preserve sort order when editing glyphs.

This commit is contained in:
Andrey Golovizin 2014-09-02 16:06:49 +02:00
parent 9bd40bd12d
commit 96d9386e77

View file

@ -106,6 +106,7 @@ class GlyphDBModel(QAbstractTableModel):
self.glyphdb = glyphdb
self.sortColumn = len(self.COLUMNS) - 1 # date_add ed
self.sortOrder = Qt.DescendingOrder
self.values = list(self.glyphdb.values())
self.updateData()
def flags(self, index):
@ -156,7 +157,9 @@ class GlyphDBModel(QAbstractTableModel):
self.layoutAboutToBeChanged.emit()
column = self.COLUMNS[self.sortColumn]
reverse = self.sortOrder == Qt.DescendingOrder
self.values = sorted(self.glyphdb.values(), key=column.sortKey, reverse=reverse)
if len(self.values) != len(self.glyphdb.values()):
self.values = self.glyphdb.values()
self.values = sorted(self.values, key=column.sortKey, reverse=reverse)
self.layoutChanged.emit()