void SetList::guessSortKeys() { // sort by release date DESC; invalid dates to the bottom. QDate distantFuture(2050, 1, 1); int aHundredYears = 36500; for (int i = 0; i < size(); ++i) { CardSet *set = at(i); QDate date = set->getReleaseDate(); if(date.isNull()) set->setSortKey(aHundredYears); else set->setSortKey(date.daysTo(distantFuture)); } }