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() == 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 left_position = left.data(USER_ROLE_POSITION) right_position = right.data(USER_ROLE_POSITION) if left_position != None and right_position != None: return cmp(left_position, right_position) < 0 return QSortFilterProxyModel.lessThan(self, left, right)
def lessThan(self, left, right): # TODO: Remove fixed column handling if left.column() == 1 and right.column(): left_gds = str(qunpack(left.data(Qt.DisplayRole))) right_gds = str(qunpack(right.data(Qt.DisplayRole))) left_gds = left_gds.lstrip("GDS") right_gds = right_gds.lstrip("GDS") try: return int(left_gds) < int(right_gds) except ValueError: pass return QSortFilterProxyModel.lessThan(self, left, right)
def lessThan(self, left, right): if left.column() not in (1,4,5,6,7): return QSortFilterProxyModel.lessThan(self, left, right) model = self.sourceModel() try: leftint = int(model.data(left).toPyObject()) except: leftint = 0 try: rightint = int(model.data(right).toPyObject()) except: rightint = 0 return leftint < rightint
def lessThan(self, left, right): #If upper row has a rowtype "SPECIAL" if (left.data(Qt.UserRole) == "special"): #Put it down return (self.sortOrder() == Qt.DescendingOrder) #If lower row has a rowtype "SPECIAL" elif (right.data(Qt.UserRole) == "special"): #Keep it down return (self.sortOrder() == Qt.AscendingOrder) #else not special rowtype else: #Use the normal sorting/ordering method 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)