Merge lp:~mzanetti/reminders-app/only-resources into lp:reminders-app

Proposed by Michael Zanetti
Status: Merged
Approved by: Michael Zanetti
Approved revision: 290
Merged at revision: 297
Proposed branch: lp:~mzanetti/reminders-app/only-resources
Merge into: lp:reminders-app
Prerequisite: lp:~rpadovani/reminders-app/updatedRole
Diff against target: 444 lines (+84/-47)
10 files modified
po/com.ubuntu.reminders.pot (+50/-30)
src/libqtevernote/jobs/evernotejob.cpp (+3/-0)
src/libqtevernote/jobs/evernotejob.h (+0/-1)
src/libqtevernote/jobs/fetchnotejob.cpp (+6/-5)
src/libqtevernote/jobs/fetchnotejob.h (+8/-3)
src/libqtevernote/jobs/savenotebookjob.h (+2/-0)
src/libqtevernote/jobs/savenotejob.h (+2/-0)
src/libqtevernote/jobs/savetagjob.h (+2/-0)
src/libqtevernote/notesstore.cpp (+8/-6)
src/libqtevernote/notesstore.h (+3/-2)
To merge this branch: bzr merge lp:~mzanetti/reminders-app/only-resources
Reviewer Review Type Date Requested Status
Ubuntu Phone Apps Jenkins Bot continuous-integration Approve
David Planella Approve
Review via email: mp+239605@code.launchpad.net

This proposal supersedes a proposal from 2014-10-24.

Commit message

Don't reload the note's content when reloading a note for its resources

Description of the change

This changes the code to only load resources if we're interested in those instead of reloading the content along with the images. Should slightly improve performance when loading images from the server

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
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
David Planella (dpm) :
review: Approve
Revision history for this message
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote :
review: Needs Fixing (continuous-integration)
290. By Michael Zanetti

merge trunk

Revision history for this message
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'po/com.ubuntu.reminders.pot'
2--- po/com.ubuntu.reminders.pot 2014-11-06 20:08:06 +0000
3+++ po/com.ubuntu.reminders.pot 2014-11-07 19:53:57 +0000
4@@ -8,7 +8,7 @@
5 msgstr ""
6 "Project-Id-Version: \n"
7 "Report-Msgid-Bugs-To: \n"
8-"POT-Creation-Date: 2014-10-23 23:05+0200\n"
9+"POT-Creation-Date: 2014-11-07 20:51+0100\n"
10 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
13@@ -17,7 +17,7 @@
14 "Content-Type: text/plain; charset=CHARSET\n"
15 "Content-Transfer-Encoding: 8bit\n"
16
17-#: com.ubuntu.reminders.desktop.in.in.h:1 src/app/qml/reminders.qml:267
18+#: com.ubuntu.reminders.desktop.in.in.h:1 src/app/qml/reminders.qml:274
19 msgid "Reminders"
20 msgstr ""
21
22@@ -38,6 +38,12 @@
23 msgid "Private"
24 msgstr ""
25
26+#. TRANSLATORS: the argument is a modification date that follows this format:
27+#. http://qt-project.org/doc/qt-5/qml-qtqml-date.html
28+#: src/app/qml/components/NotesDelegate.qml:107
29+msgid "dddd, d hh:mm"
30+msgstr ""
31+
32 #: src/app/qml/components/PulldownListView.qml:40
33 msgid "Release to refresh"
34 msgstr ""
35@@ -55,33 +61,33 @@
36 msgid "Mark as done"
37 msgstr ""
38
39-#: src/app/qml/reminders.qml:207
40+#: src/app/qml/reminders.qml:214
41 msgid "Notes"
42 msgstr ""
43
44-#: src/app/qml/reminders.qml:238
45+#: src/app/qml/reminders.qml:245
46 msgid "Notebooks"
47 msgstr ""
48
49-#: src/app/qml/reminders.qml:282
50+#: src/app/qml/reminders.qml:289
51 msgid "Tags"
52 msgstr ""
53
54-#: src/app/qml/reminders.qml:322
55+#: src/app/qml/reminders.qml:329
56 msgid ""
57 "No note selected.\n"
58 "Select a note to see it in detail."
59 msgstr ""
60
61-#: src/app/qml/reminders.qml:359
62+#: src/app/qml/reminders.qml:366
63 msgid "No account available"
64 msgstr ""
65
66-#: src/app/qml/reminders.qml:360
67+#: src/app/qml/reminders.qml:367
68 msgid "Please configure and authorize an Evernote account in System Settings"
69 msgstr ""
70
71-#: src/app/qml/reminders.qml:380 src/app/qml/ui/AccountSelectorPage.qml:63
72+#: src/app/qml/reminders.qml:387
73 msgid "Add account"
74 msgstr ""
75
76@@ -89,6 +95,19 @@
77 msgid "Select Evernote account"
78 msgstr ""
79
80+#: src/app/qml/ui/AccountSelectorPage.qml:74
81+#, qt-format
82+msgid "%1 - Tap to authorize"
83+msgstr ""
84+
85+#: src/app/qml/ui/AccountSelectorPage.qml:83
86+msgid "Add new account"
87+msgstr ""
88+
89+#: src/app/qml/ui/AccountSelectorPage.qml:92
90+msgid "Back"
91+msgstr ""
92+
93 #: src/app/qml/ui/EditNoteView.qml:100 src/app/qml/ui/EditNoteView.qml:112
94 #: src/app/qml/ui/NotesPage.qml:71
95 msgid "Untitled"
96@@ -141,12 +160,12 @@
97 msgid "Add note"
98 msgstr ""
99
100-#: src/app/qml/ui/NotesPage.qml:214
101+#: src/app/qml/ui/NotesPage.qml:215
102 msgid ""
103 "No notes available. You can create new notes using the \"Add note\" button."
104 msgstr ""
105
106-#: src/app/qml/ui/RemindersPage.qml:111
107+#: src/app/qml/ui/RemindersPage.qml:112
108 msgid ""
109 "No reminders available. You can create new reminders by setting a reminder "
110 "when viewing a note."
111@@ -164,69 +183,70 @@
112 msgid "No tags available. You can tag notes while viewing them."
113 msgstr ""
114
115-#: src/libqtevernote/jobs/evernotejob.cpp:91
116+#: src/libqtevernote/jobs/evernotejob.cpp:94
117 msgid "Authentication expired."
118 msgstr ""
119
120-#: src/libqtevernote/jobs/evernotejob.cpp:95
121+#: src/libqtevernote/jobs/evernotejob.cpp:98
122 msgid "Limit exceeded."
123 msgstr ""
124
125-#: src/libqtevernote/jobs/evernotejob.cpp:99
126+#: src/libqtevernote/jobs/evernotejob.cpp:102
127 msgid "Rate limit exceeded."
128 msgstr ""
129
130-#: src/libqtevernote/jobs/evernotejob.cpp:103
131+#: src/libqtevernote/jobs/evernotejob.cpp:106
132 msgid "Quota exceeded."
133 msgstr ""
134
135-#: src/libqtevernote/note.cpp:82 src/libqtevernote/note.cpp:260
136+#: src/libqtevernote/note.cpp:82 src/libqtevernote/note.cpp:116
137+#: src/libqtevernote/note.cpp:294
138 msgid "Today"
139 msgstr ""
140
141-#: src/libqtevernote/note.cpp:85
142+#: src/libqtevernote/note.cpp:85 src/libqtevernote/note.cpp:119
143 msgid "Yesterday"
144 msgstr ""
145
146-#: src/libqtevernote/note.cpp:88
147+#: src/libqtevernote/note.cpp:88 src/libqtevernote/note.cpp:122
148 msgid "Last week"
149 msgstr ""
150
151-#: src/libqtevernote/note.cpp:91
152+#: src/libqtevernote/note.cpp:91 src/libqtevernote/note.cpp:125
153 msgid "Two weeks ago"
154 msgstr ""
155
156 #. TRANSLATORS: the first argument refers to a month name and the second to a year
157-#: src/libqtevernote/note.cpp:95
158+#: src/libqtevernote/note.cpp:95 src/libqtevernote/note.cpp:129
159 #, qt-format
160 msgid "%1 %2"
161 msgstr ""
162
163-#: src/libqtevernote/note.cpp:248
164+#: src/libqtevernote/note.cpp:282
165 msgid "Done"
166 msgstr ""
167
168-#: src/libqtevernote/note.cpp:254
169+#: src/libqtevernote/note.cpp:288
170 msgid "No date"
171 msgstr ""
172
173-#: src/libqtevernote/note.cpp:257
174+#: src/libqtevernote/note.cpp:291
175 msgid "Overdue"
176 msgstr ""
177
178-#: src/libqtevernote/note.cpp:263
179+#: src/libqtevernote/note.cpp:297
180 msgid "Tomorrow"
181 msgstr ""
182
183-#: src/libqtevernote/note.cpp:266
184+#: src/libqtevernote/note.cpp:300
185 msgid "Next week"
186 msgstr ""
187
188-#: src/libqtevernote/note.cpp:269
189+#: src/libqtevernote/note.cpp:303
190 msgid "In two weeks"
191 msgstr ""
192
193-#: src/libqtevernote/note.cpp:271
194+#: src/libqtevernote/note.cpp:305
195 msgid "Later"
196 msgstr ""
197
198@@ -257,17 +277,17 @@
199 msgid "on %1 %2"
200 msgstr ""
201
202-#: src/libqtevernote/notesstore.cpp:361
203+#: src/libqtevernote/notesstore.cpp:366
204 #, qt-format
205 msgid "Error refreshing notes: %1"
206 msgstr ""
207
208-#: src/libqtevernote/notesstore.cpp:542
209+#: src/libqtevernote/notesstore.cpp:551
210 #, qt-format
211 msgid "Error refreshing notebooks: %1"
212 msgstr ""
213
214-#: src/libqtevernote/notesstore.cpp:596
215+#: src/libqtevernote/notesstore.cpp:605
216 #, qt-format
217 msgid "Error refreshing tags: %1"
218 msgstr ""
219
220=== modified file 'src/libqtevernote/jobs/evernotejob.cpp'
221--- src/libqtevernote/jobs/evernotejob.cpp 2014-09-19 21:36:50 +0000
222+++ src/libqtevernote/jobs/evernotejob.cpp 2014-11-07 19:53:57 +0000
223@@ -28,6 +28,9 @@
224 #include <transport/TSSLSocket.h>
225 #include <Thrift.h>
226
227+// Evernote SDK
228+#include <Errors_types.h>
229+
230 #include <libintl.h>
231
232 #include <QDebug>
233
234=== modified file 'src/libqtevernote/jobs/evernotejob.h'
235--- src/libqtevernote/jobs/evernotejob.h 2014-09-19 21:31:39 +0000
236+++ src/libqtevernote/jobs/evernotejob.h 2014-11-07 19:53:57 +0000
237@@ -21,7 +21,6 @@
238 #ifndef EVERNOTEJOB_H
239 #define EVERNOTEJOB_H
240
241-#include "notesstore.h"
242 #include "evernoteconnection.h"
243
244 #include <QThread>
245
246=== modified file 'src/libqtevernote/jobs/fetchnotejob.cpp'
247--- src/libqtevernote/jobs/fetchnotejob.cpp 2014-09-19 21:31:39 +0000
248+++ src/libqtevernote/jobs/fetchnotejob.cpp 2014-11-07 19:53:57 +0000
249@@ -20,11 +20,12 @@
250
251 #include "fetchnotejob.h"
252
253-FetchNoteJob::FetchNoteJob(const QString &guid, bool withResources, QObject *parent) :
254+FetchNoteJob::FetchNoteJob(const QString &guid, LoadWhat what, QObject *parent) :
255 NotesStoreJob(parent),
256 m_guid(guid),
257- m_withResources(withResources)
258+ m_what(what)
259 {
260+ qRegisterMetaType<LoadWhat>("LoadWhat");
261 }
262
263 bool FetchNoteJob::operator==(const EvernoteJob *other) const
264@@ -33,7 +34,7 @@
265 if (!otherJob) {
266 return false;
267 }
268- return this->m_guid == otherJob->m_guid && this->m_withResources == otherJob->m_withResources;
269+ return this->m_guid == otherJob->m_guid && this->m_what == otherJob->m_what;
270 }
271
272 void FetchNoteJob::attachToDuplicate(const EvernoteJob *other)
273@@ -44,10 +45,10 @@
274
275 void FetchNoteJob::startJob()
276 {
277- client()->getNote(m_result, token().toStdString(), m_guid.toStdString(), true, m_withResources, false, false);
278+ client()->getNote(m_result, token().toStdString(), m_guid.toStdString(), m_what == LoadContent, m_what == LoadResources, false, false);
279 }
280
281 void FetchNoteJob::emitJobDone(EvernoteConnection::ErrorCode errorCode, const QString &errorMessage)
282 {
283- emit resultReady(errorCode, errorMessage, m_result, m_withResources);
284+ emit resultReady(errorCode, errorMessage, m_result, m_what);
285 }
286
287=== modified file 'src/libqtevernote/jobs/fetchnotejob.h'
288--- src/libqtevernote/jobs/fetchnotejob.h 2014-09-19 21:31:39 +0000
289+++ src/libqtevernote/jobs/fetchnotejob.h 2014-11-07 19:53:57 +0000
290@@ -27,13 +27,18 @@
291 {
292 Q_OBJECT
293 public:
294- explicit FetchNoteJob(const QString &guid, bool withResources, QObject *parent = 0);
295+ enum LoadWhat {
296+ LoadContent,
297+ LoadResources
298+ };
299+
300+ explicit FetchNoteJob(const QString &guid, LoadWhat what, QObject *parent = 0);
301
302 virtual bool operator==(const EvernoteJob *other) const override;
303 virtual void attachToDuplicate(const EvernoteJob *other) override;
304
305 signals:
306- void resultReady(EvernoteConnection::ErrorCode error, const QString &errorMessage, const evernote::edam::Note &note, bool withResourceContent);
307+ void resultReady(EvernoteConnection::ErrorCode error, const QString &errorMessage, const evernote::edam::Note &note, LoadWhat what);
308
309 protected:
310 void startJob();
311@@ -43,7 +48,7 @@
312 evernote::edam::NoteStoreClient *m_client;
313 QString m_token;
314 QString m_guid;
315- bool m_withResources;
316+ LoadWhat m_what;
317
318 evernote::edam::Note m_result;
319
320
321=== modified file 'src/libqtevernote/jobs/savenotebookjob.h'
322--- src/libqtevernote/jobs/savenotebookjob.h 2014-09-19 21:31:39 +0000
323+++ src/libqtevernote/jobs/savenotebookjob.h 2014-11-07 19:53:57 +0000
324@@ -23,6 +23,8 @@
325
326 #include "notesstorejob.h"
327
328+class Notebook;
329+
330 class SaveNotebookJob : public NotesStoreJob
331 {
332 Q_OBJECT
333
334=== modified file 'src/libqtevernote/jobs/savenotejob.h'
335--- src/libqtevernote/jobs/savenotejob.h 2014-09-19 21:31:39 +0000
336+++ src/libqtevernote/jobs/savenotejob.h 2014-11-07 19:53:57 +0000
337@@ -23,6 +23,8 @@
338
339 #include "notesstorejob.h"
340
341+class Note;
342+
343 class SaveNoteJob : public NotesStoreJob
344 {
345 Q_OBJECT
346
347=== modified file 'src/libqtevernote/jobs/savetagjob.h'
348--- src/libqtevernote/jobs/savetagjob.h 2014-10-09 00:08:52 +0000
349+++ src/libqtevernote/jobs/savetagjob.h 2014-11-07 19:53:57 +0000
350@@ -23,6 +23,8 @@
351
352 #include "notesstorejob.h"
353
354+class Tag;
355+
356 class SaveTagJob : public NotesStoreJob
357 {
358 Q_OBJECT
359
360=== modified file 'src/libqtevernote/notesstore.cpp'
361--- src/libqtevernote/notesstore.cpp 2014-11-07 19:30:58 +0000
362+++ src/libqtevernote/notesstore.cpp 2014-11-07 19:53:57 +0000
363@@ -448,19 +448,19 @@
364 }
365 }
366
367-void NotesStore::refreshNoteContent(const QString &guid, bool withResourceContent)
368+void NotesStore::refreshNoteContent(const QString &guid, FetchNoteJob::LoadWhat what)
369 {
370 Note *note = m_notesHash.value(guid);
371 if (note) {
372 note->setLoading(true);
373 }
374
375- FetchNoteJob *job = new FetchNoteJob(guid, withResourceContent, this);
376+ FetchNoteJob *job = new FetchNoteJob(guid, what, this);
377 connect(job, &FetchNoteJob::resultReady, this, &NotesStore::fetchNoteJobDone);
378 EvernoteConnection::instance()->enqueue(job);
379 }
380
381-void NotesStore::fetchNoteJobDone(EvernoteConnection::ErrorCode errorCode, const QString &errorMessage, const evernote::edam::Note &result, bool withResourceContent)
382+void NotesStore::fetchNoteJobDone(EvernoteConnection::ErrorCode errorCode, const QString &errorMessage, const evernote::edam::Note &result, FetchNoteJob::LoadWhat what)
383 {
384 if (errorCode != EvernoteConnection::ErrorCodeNoError) {
385 qWarning() << "Error fetching note:" << errorMessage;
386@@ -490,7 +490,7 @@
387 QString fileName = QString::fromStdString(resource.attributes.fileName);
388 QString mime = QString::fromStdString(resource.mime);
389
390- if (withResourceContent) {
391+ if (what == FetchNoteJob::LoadResources) {
392 QByteArray resourceData = QByteArray(resource.data.body.data(), resource.data.size);
393 note->addResource(resourceData, hash, fileName, mime);
394 } else if (Resource::isCached(hash)) {
395@@ -500,7 +500,9 @@
396 }
397 }
398
399- note->setEnmlContent(QString::fromStdString(result.content));
400+ if (what == FetchNoteJob::LoadContent) {
401+ note->setEnmlContent(QString::fromStdString(result.content));
402+ }
403 note->setReminderOrder(result.attributes.reminderOrder);
404 QDateTime reminderTime;
405 if (result.attributes.reminderTime > 0) {
406@@ -518,7 +520,7 @@
407 emit dataChanged(noteIndex, noteIndex);
408
409 if (refreshWithResourceData) {
410- refreshNoteContent(note->guid(), true);
411+ refreshNoteContent(note->guid(), FetchNoteJob::LoadResources);
412 }
413 }
414
415
416=== modified file 'src/libqtevernote/notesstore.h'
417--- src/libqtevernote/notesstore.h 2014-11-07 19:30:58 +0000
418+++ src/libqtevernote/notesstore.h 2014-11-07 19:53:57 +0000
419@@ -23,6 +23,7 @@
420
421 #include "evernoteconnection.h"
422 #include "utils/enmldocument.h"
423+#include "jobs/fetchnotejob.h"
424
425 // Thrift
426 #include <arpa/inet.h> // seems thrift forgot this one
427@@ -122,7 +123,7 @@
428
429 public slots:
430 void refreshNotes(const QString &filterNotebookGuid = QString(), int startIndex = 0);
431- void refreshNoteContent(const QString &guid, bool withResourceContent = false);
432+ void refreshNoteContent(const QString &guid, FetchNoteJob::LoadWhat what = FetchNoteJob::LoadContent);
433 void refreshNotebooks();
434 void refreshTags();
435
436@@ -153,7 +154,7 @@
437 private slots:
438 void fetchNotesJobDone(EvernoteConnection::ErrorCode errorCode, const QString &errorMessage, const evernote::edam::NotesMetadataList &results, const QString &filterNotebookGuid);
439 void fetchNotebooksJobDone(EvernoteConnection::ErrorCode errorCode, const QString &errorMessage, const std::vector<evernote::edam::Notebook> &results);
440- void fetchNoteJobDone(EvernoteConnection::ErrorCode errorCode, const QString &errorMessage, const evernote::edam::Note &result, bool withResourceContent);
441+ void fetchNoteJobDone(EvernoteConnection::ErrorCode errorCode, const QString &errorMessage, const evernote::edam::Note &result, FetchNoteJob::LoadWhat what);
442 void createNoteJobDone(EvernoteConnection::ErrorCode errorCode, const QString &errorMessage, const evernote::edam::Note &result);
443 void saveNoteJobDone(EvernoteConnection::ErrorCode errorCode, const QString &errorMessage, const evernote::edam::Note &result);
444 void saveNotebookJobDone(EvernoteConnection::ErrorCode errorCode, const QString &errorMessage);

Subscribers

People subscribed via source and target branches