Merge lp:~mzanetti/reminders-app/reminders-sorting into lp:reminders-app

Proposed by Michael Zanetti
Status: Merged
Approved by: Riccardo Padovani
Approved revision: 68
Merged at revision: 67
Proposed branch: lp:~mzanetti/reminders-app/reminders-sorting
Merge into: lp:reminders-app
Diff against target: 139 lines (+48/-1)
7 files modified
src/app/qml/components/RemindersDelegate.qml (+1/-1)
src/app/qml/ui/RemindersPage.qml (+7/-0)
src/plugin/Evernote/note.cpp (+26/-0)
src/plugin/Evernote/note.h (+3/-0)
src/plugin/Evernote/notes.cpp (+7/-0)
src/plugin/Evernote/notesstore.cpp (+3/-0)
src/plugin/Evernote/notesstore.h (+1/-0)
To merge this branch: bzr merge lp:~mzanetti/reminders-app/reminders-sorting
Reviewer Review Type Date Requested Status
Riccardo Padovani Approve
Ubuntu Phone Apps Jenkins Bot continuous-integration Approve
Review via email: mp+206819@code.launchpad.net

Commit message

Implement reminders sorting by sections

To post a comment you must log in.
Revision history for this message
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
Riccardo Padovani (rpadovani) wrote :

 + if (m_reminderOrder == 0) {
29 + return QString();
30 + }
31 +
32 + if (m_reminderTime < QDateTime::currentDateTime().addDays(1)) {
33 + return QStringLiteral("today");
34 + }

Need to add an if for reminders in the past.
Now a past reminder is under 'today' section.

To reproduce create a reminder and set it to a date in 2013.

review: Needs Fixing
68. By Michael Zanetti

fix calculation of dates for group header

Revision history for this message
Michael Zanetti (mzanetti) wrote :

> + if (m_reminderOrder == 0) {
> 29 + return QString();
> 30 + }
> 31 +
> 32 + if (m_reminderTime < QDateTime::currentDateTime().addDays(1)) {
> 33 + return QStringLiteral("today");
> 34 + }
>
> Need to add an if for reminders in the past.
> Now a past reminder is under 'today' section.
>
> To reproduce create a reminder and set it to a date in 2013.

fixed. Good catch!

Revision history for this message
Riccardo Padovani (rpadovani) wrote :

Now works as expected;
Good work!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/app/qml/components/RemindersDelegate.qml'
2--- src/app/qml/components/RemindersDelegate.qml 2014-01-28 11:57:01 +0000
3+++ src/app/qml/components/RemindersDelegate.qml 2014-02-17 23:32:59 +0000
4@@ -34,7 +34,7 @@
5 onExpandedChanged: {
6 if (expanded) {
7 if (note.hasReminderTime) {
8- date.setDate(note.reminderTime.getDate())
9+ datePicker.date.setDate(note.reminderTime.getDate())
10 }
11 } else {
12 note.save();
13
14=== modified file 'src/app/qml/ui/RemindersPage.qml'
15--- src/app/qml/ui/RemindersPage.qml 2014-02-12 15:44:02 +0000
16+++ src/app/qml/ui/RemindersPage.qml 2014-02-17 23:32:59 +0000
17@@ -67,6 +67,13 @@
18 }
19
20 model: notes
21+
22+ section.criteria: ViewSection.FullString
23+ section.property: "reminderTimeString"
24+ section.delegate: Standard {
25+ height: units.gu(3)
26+ text: section
27+ }
28 }
29
30 }
31
32=== modified file 'src/plugin/Evernote/note.cpp'
33--- src/plugin/Evernote/note.cpp 2014-02-05 17:26:54 +0000
34+++ src/plugin/Evernote/note.cpp 2014-02-17 23:32:59 +0000
35@@ -189,6 +189,32 @@
36 }
37 }
38
39+QString Note::reminderTimeString() const
40+{
41+ if (m_reminderOrder == 0) {
42+ return QString();
43+ }
44+
45+ QDate reminderDate = m_reminderTime.date();
46+ QDate today = QDate::currentDate();
47+ if (reminderDate < today) {
48+ return QStringLiteral("missed");
49+ }
50+ if (reminderDate == today) {
51+ return QStringLiteral("today");
52+ }
53+ if (reminderDate == today.addDays(1)) {
54+ return QStringLiteral("tomorrow");
55+ }
56+ if (reminderDate <= today.addDays(7)) {
57+ return QStringLiteral("next week");
58+ }
59+ if (reminderDate <= today.addDays(14)) {
60+ return QStringLiteral("two weeks");
61+ }
62+ return QStringLiteral("more than two weeks");
63+}
64+
65 QDateTime Note::reminderDoneTime() const
66 {
67 return m_reminderDoneTime;
68
69=== modified file 'src/plugin/Evernote/note.h'
70--- src/plugin/Evernote/note.h 2014-02-05 17:26:54 +0000
71+++ src/plugin/Evernote/note.h 2014-02-17 23:32:59 +0000
72@@ -47,6 +47,7 @@
73 Q_PROPERTY(bool reminder READ reminder WRITE setReminder NOTIFY reminderChanged)
74 Q_PROPERTY(bool hasReminderTime READ hasReminderTime WRITE setHasReminderTime NOTIFY reminderTimeChanged)
75 Q_PROPERTY(QDateTime reminderTime READ reminderTime WRITE setReminderTime NOTIFY reminderTimeChanged)
76+ Q_PROPERTY(QString reminderTimeString READ reminderTimeString NOTIFY reminderTimeChanged)
77 Q_PROPERTY(bool reminderDone READ reminderDone WRITE setReminderDone NOTIFY reminderDoneChanged)
78 Q_PROPERTY(QDateTime reminderDoneTime READ reminderDoneTime WRITE setReminderDoneTime NOTIFY reminderDoneChanged)
79 Q_PROPERTY(bool isSearchResult READ isSearchResult NOTIFY isSearchResultChanged)
80@@ -98,6 +99,8 @@
81 bool reminderDone() const;
82 void setReminderDone(bool reminderDone);
83
84+ QString reminderTimeString() const;
85+
86 QDateTime reminderDoneTime() const;
87 void setReminderDoneTime(const QDateTime &reminderDoneTime);
88
89
90=== modified file 'src/plugin/Evernote/notes.cpp'
91--- src/plugin/Evernote/notes.cpp 2014-02-05 17:26:54 +0000
92+++ src/plugin/Evernote/notes.cpp 2014-02-17 23:32:59 +0000
93@@ -56,6 +56,13 @@
94 if (m_onlyReminders != onlyReminders) {
95 m_onlyReminders = onlyReminders;
96 emit onlyRemindersChanged();
97+ if (onlyReminders) {
98+ setSortRole(NotesStore::RoleReminderTime);
99+ } else {
100+ setSortRole(NotesStore::RoleCreated);
101+ }
102+ sort(0, Qt::AscendingOrder);
103+
104 invalidateFilter();
105 }
106 }
107
108=== modified file 'src/plugin/Evernote/notesstore.cpp'
109--- src/plugin/Evernote/notesstore.cpp 2014-02-07 14:31:28 +0000
110+++ src/plugin/Evernote/notesstore.cpp 2014-02-17 23:32:59 +0000
111@@ -80,6 +80,8 @@
112 return m_notes.at(index.row())->reminder();
113 case RoleReminderTime:
114 return m_notes.at(index.row())->reminderTime();
115+ case RoleReminderTimeString:
116+ return m_notes.at(index.row())->reminderTimeString();
117 case RoleReminderDone:
118 return m_notes.at(index.row())->reminderDone();
119 case RoleReminderDoneTime:
120@@ -107,6 +109,7 @@
121 roles.insert(RoleTitle, "title");
122 roles.insert(RoleReminder, "reminder");
123 roles.insert(RoleReminderTime, "reminderTime");
124+ roles.insert(RoleReminderTimeString, "reminderTimeString");
125 roles.insert(RoleReminderDone, "reminderDone");
126 roles.insert(RoleReminderDoneTime, "reminderDoneTime");
127 roles.insert(RoleEnmlContent, "enmlContent");
128
129=== modified file 'src/plugin/Evernote/notesstore.h'
130--- src/plugin/Evernote/notesstore.h 2014-01-27 13:00:41 +0000
131+++ src/plugin/Evernote/notesstore.h 2014-02-17 23:32:59 +0000
132@@ -56,6 +56,7 @@
133 RoleTitle,
134 RoleReminder,
135 RoleReminderTime,
136+ RoleReminderTimeString,
137 RoleReminderDone,
138 RoleReminderDoneTime,
139 RoleIsSearchResult,

Subscribers

People subscribed via source and target branches