diff options
Diffstat (limited to 'src/entry.cpp')
-rw-r--r-- | src/entry.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/entry.cpp b/src/entry.cpp index 4876641..1082c1e 100644 --- a/src/entry.cpp +++ b/src/entry.cpp @@ -13,3 +13,20 @@ Entry::Entry(int id, int parent_id, QString desc, QDateTime due, QString due_alt hidden(hidden) { } + +bool Entry::compare(Entry a, Entry b) { + // 1st level: sort not done before done + if(a.done != b.done) + return a.done < b.done; + // next level: sort on due date + if(a.due != b.due) + return a.due < b.due; + // next level: sort on alt due date + if(a.due_alt != b.due_alt) + return a.due_alt < b.due_alt; + // next level: sort on description + if(a.desc != b.desc) + return a.desc < b.desc; + // otherwise, sort on id + return a.id < b.id; +} |