Review Request: Ensure smart lists are updated on any task change in Remember The Milk plasmoid
Alexey Chernov
4ernov at gmail.com
Mon May 2 19:51:24 CEST 2011
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/101182/
-----------------------------------------------------------
(Updated May 2, 2011, 5:51 p.m.)
Review request for Plasma and Aaron J. Seigo.
Changes
-------
Updated diff. Removed listUpdate recursive call and fixed coding style issues according comments by Marco.
Summary
-------
Smart lists in Remember The Milk are essentially special lists which contain tasks filtered by certain criteria. Most common smart list is 'All tasks'.
The bug is that on adding/deleting/modifying any task smart lists aren't updated in RTM plasmoid. One just have to wait for the next timeout update. And it turned out that the bug concerns the design of RTM library quite deeply. So the fix contains some certain changes to several places of the RTM lib (fixes to applet and dataengine are quite cosmetic). The main idea is to make all the smart lists be updated on every change to tasks.
Few words about changes:
1. I added 'read-only' attribute to Request class (request.h) so that split read-only requests and read-write requests which should trigger smart lists update.
2. I made few changes to xmlreaders and Session class to keep the initial request and smart lists update inside one user action (i.e. so that 'loading' is shown during all these operations).
Diffs (updated)
-----
dataengines/rememberthemilk/rtmengine.cpp 7e231efe7b0a977648c40e8438fd25a0154f0a50
libs/rtm/request.h 58cb7daec491b652c5de2a1e18214df5e7baa5e9
libs/rtm/task_p.h 00c794e75457f4de3680f0689dc4b741f15db4ce
libs/rtm/xmlreaders.h 882f0500c7178bf5982a65b01b3cc2268ba1fe8b
libs/rtm/session_p.h 34c2063a5a2015bed0e2bd8b9681df5c7b9e2802
libs/rtm/session.cpp dfd5db27c7a48a24921fd1ddbd4c4acf82fe9408
libs/rtm/request.cpp a2983300b989acd278e855623457a743948e1cdd
libs/rtm/session.h aad145c44c70fb28fe1496b93d991667e918f630
applets/rememberthemilk/taskmodel.cpp 8e2ab387996ec81c6c6471c8e845ad3a881a4ce8
libs/rtm/xmlreaders.cpp 507ac0d1c7f85e7e53c57ef022a78e78c619dd06
Diff: http://git.reviewboard.kde.org/r/101182/diff
Testing
-------
I've tested the code hugely with all the mentioned operations (add task, modify task, delete task) and smart lists are updated correctly with this patch. Updating smart lists on every modifying request makes it longer mainly because 1s interval between requests and slight duplication of requests here and there but I'm currently testing another patch which removes most of duplications to speed up the overall process.
Thanks,
Alexey
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/plasma-devel/attachments/20110502/6048c262/attachment-0001.htm
More information about the Plasma-devel
mailing list