Browse Source

Sort invalid QDateTime values after valid values

Closes #14607.
adaptive-webui-19844
Chocobo1 4 years ago
parent
commit
a50798c78f
No known key found for this signature in database
GPG Key ID: 210D9C873253A68C
  1. 14
      src/gui/transferlistsortmodel.cpp

14
src/gui/transferlistsortmodel.cpp

@ -47,6 +47,18 @@ namespace
return (left < right) ? -1 : 1; return (left < right) ? -1 : 1;
} }
int customCompare(const QDateTime &left, const QDateTime &right)
{
const bool isLeftValid = left.isValid();
const bool isRightValid = right.isValid();
if (isLeftValid && isRightValid)
return threeWayCompare(left, right);
if (!isLeftValid && !isRightValid)
return 0;
return isLeftValid ? -1 : 1;
}
template <typename T> template <typename T>
int customCompare(const T left, const T right) int customCompare(const T left, const T right)
{ {
@ -158,7 +170,7 @@ int TransferListSortModel::compare(const QModelIndex &left, const QModelIndex &r
case TransferListModel::TR_ADD_DATE: case TransferListModel::TR_ADD_DATE:
case TransferListModel::TR_SEED_DATE: case TransferListModel::TR_SEED_DATE:
case TransferListModel::TR_SEEN_COMPLETE_DATE: case TransferListModel::TR_SEEN_COMPLETE_DATE:
return threeWayCompare(leftValue.toDateTime(), rightValue.toDateTime()); return customCompare(leftValue.toDateTime(), rightValue.toDateTime());
case TransferListModel::TR_DLLIMIT: case TransferListModel::TR_DLLIMIT:
case TransferListModel::TR_DLSPEED: case TransferListModel::TR_DLSPEED:

Loading…
Cancel
Save