select="tasks.importance*(strftime('%s','now')*1000)+(CASE WHEN (tasks.dueDate=0) THEN (strftime('%s','now')*1000) ELSE tasks.dueDate END) AS sort_importance";
break;
caseSORT_MODIFIED:
select="tasks.modified AS sort_modified";
break;
caseSORT_CREATED:
select="tasks.created AS sort_created";
break;
caseSORT_GTASKS:
select="tasks.`order` AS sort_manual";
break;
caseSORT_CALDAV:
select=CALDAV_ORDER_COLUMN+" AS sort_manual";
break;
default:
select="(CASE WHEN (tasks.dueDate=0) "
+" END)+tasks.importance";
caseSORT_IMPORTANCE->
"tasks.importance*(strftime('%s','now')*1000)+(CASE WHEN (tasks.dueDate=0) THEN (strftime('%s','now')*1000) ELSE tasks.dueDate END)";
caseSORT_MODIFIED->"tasks.modified";
caseSORT_CREATED->"tasks.created";
caseSORT_GTASKS->"tasks.`order`";
caseSORT_CALDAV->CALDAV_ORDER_COLUMN;
default->"(CASE WHEN (tasks.dueDate=0) "
+// if no due date
"THEN (strftime('%s','now')*1000)*2 "
+// then now * 2
@ -193,44 +177,18 @@ public class SortHelper {
+") END) "
+// else due time
// add slightly less than 2 days * importance to give due date priority over importance in case of tie
joinedQuery+=" LEFT JOIN (SELECT task, max(indent) AS max_indent FROM recursive_tasks GROUP BY task) AS recursive_indents ON recursive_indents.task = tasks._id "