Sorting: All dates now sort the same as 'due' dates

This commit is contained in:
Paul Beckingham 2015-09-08 17:57:25 -04:00
parent f60b77ef79
commit 3c54c78e3a
2 changed files with 26 additions and 32 deletions

View file

@ -131,26 +131,8 @@ static bool sort_compare (int left, int right)
}
// Due Date.
else if (field == "due")
{
const std::string& left_string = (*global_data)[left].get_ref (field);
const std::string& right_string = (*global_data)[right].get_ref (field);
if (left_string != "" && right_string == "")
return true;
if (left_string == "" && right_string != "")
return false;
if (left_string == right_string)
continue;
return ascending ? (left_string < right_string)
: (left_string > right_string);
}
// Date.
else if (field == "end" ||
else if (field == "due" ||
field == "end" ||
field == "entry" ||
field == "start" ||
field == "until" ||
@ -161,6 +143,12 @@ static bool sort_compare (int left, int right)
const std::string& left_string = (*global_data)[left].get_ref (field);
const std::string& right_string = (*global_data)[right].get_ref (field);
if (left_string != "" && right_string == "")
return true;
if (left_string == "" && right_string != "")
return false;
if (left_string == right_string)
continue;
@ -244,6 +232,12 @@ static bool sort_compare (int left, int right)
const std::string& left_string = (*global_data)[left].get_ref (field);
const std::string& right_string = (*global_data)[right].get_ref (field);
if (left_string != "" && right_string == "")
return true;
if (left_string == "" && right_string != "")
return false;
if (left_string == right_string)
continue;