Sorting: All dates now sort the same as 'due' dates
This commit is contained in:
34
src/sort.cpp
34
src/sort.cpp
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user