def lessThan(self, left, right): # cpu and mem if left.column() in [3, 4]: if left.data(Qt.UserRole + 1) is None or right.data(Qt.UserRole + 1) is None: return QSortFilterProxyModel.lessThan(self, left, right) return left.data(Qt.UserRole + 1) < right.data(Qt.UserRole + 1) return QSortFilterProxyModel.lessThan(self, left, right)
def lessThan(self, left, right): if left.column() == 1: # size return left.data(USER_ROLE_SIZE) < right.data(USER_ROLE_SIZE) elif left.column() == 2: # last modified return left.data(USER_ROLE_LAST_MODIFIED) < right.data(USER_ROLE_LAST_MODIFIED) return QSortFilterProxyModel.lessThan(self, left, right)
def lessThan(self, left, right): if left.column() != 2: # position return QSortFilterProxyModel.lessThan(self, left, right) # Sort letters before digits, so that Bricklets connected to a # Master Brick are shown before Bricks stacked on the Master. # Also sort extensions after letters (i.e Bricks), so they are shown last. # Also sort slave stacks, having position 0, (i.e. from a RS485 Extension) # behind Bricks stacked on the Master. def get_sort_key(data): if len(data) == 0: # Put empty string before everything return 0 diff = ord('z') - ord('0') + 1 # Put digits after letters if data.isdigit(): # Swap 0 behind 1-9 if data == '0': diff += 9 else: diff -= 1 if 'Ext' in data: diff += 10 # Put digits of extensions after normal digits data = data[3:] return ord(data) + (diff if data.isdigit() else 0) # Compare by name if the position is the same if get_sort_key(left.data()) == get_sort_key(right.data()): return left.sibling(left.row(), 0).data() < right.sibling(right.row(), 0).data() return get_sort_key(left.data()) < get_sort_key(right.data())
def lessThan(self, left, right): if left.column() != 2: # position return QSortFilterProxyModel.lessThan(self, left, right) # Sort letters before digits, so that Bricklets connected to a # Master Brick are shown before Bricks stacked on the Master. # Also sort extensions after letters (i.e Bricks), so they are shown last. # Also sort slave stacks, having position 0, (i.e. from a RS485 Extension) # behind Bricks stacked on the Master. def get_sort_key(data): if len(data) == 0: # Put empty string before everything return 0 diff = ord('z') - ord('0') + 1 # Put digits after letters if data.isdigit(): # Swap 0 behind 1-9 if data == '0': diff += 9 else: diff -= 1 if 'Ext' in data: diff += 10 # Put digits of extensions after normal digits data = data[3:] return ord(data) + (diff if data.isdigit() else 0) # Compare by name if the position is the same if get_sort_key(left.data()) == get_sort_key(right.data()): return left.sibling(left.row(), 0).data() < right.sibling( right.row(), 0).data() return get_sort_key(left.data()) < get_sort_key(right.data())
def lessThan(self, left, right): if left.column() == 1: # size return left.data(USER_ROLE_SIZE) < right.data(USER_ROLE_SIZE) elif left.column() == 2: # last modified return left.data(USER_ROLE_LAST_MODIFIED) < right.data( USER_ROLE_LAST_MODIFIED) return QSortFilterProxyModel.lessThan(self, left, right)
def lessThan(self, Left, Right): row = Left.row() otherRow = Right.row() for i in self.sortBy: r = QSortFilterProxyModel.lessThan(self, Left.sibling(Left.row(), i), Right.sibling(Right.row(), i)) if r: return r return r
def lessThan(self, left, right): return QSortFilterProxyModel.lessThan(self, left, right)
def lessThan(self, left, right): if left.column() == 1: # size return left.data(USER_ROLE_SIZE) < right.data(USER_ROLE_SIZE) return QSortFilterProxyModel.lessThan(self, left, right)
def lessThan(self, left, right): if left.column() == 1: # size return left.data(USER_ROLE_SIZE) < right.data(USER_ROLE_SIZE) return QSortFilterProxyModel.lessThan(self, left, right)