From kde-panel-devel Fri Apr 22 20:20:23 2011 From: "Alexey Chernov" <4ernov () gmail ! com> Date: Fri, 22 Apr 2011 20:20:23 +0000 To: kde-panel-devel Subject: Review Request: Ensure smart lists are updated on any task change in Message-Id: <20110422202023.16905.18182 () vidsolbach ! de> X-MARC-Message: https://marc.info/?l=kde-panel-devel&m=130354799710007 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--===============1327373324==" --===============1327373324== Content-Type: multipart/alternative; boundary="===============8219987872532227549==" --===============8219987872532227549== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/101182/ ----------------------------------------------------------- Review request for Plasma. Summary ------- Smart lists in Remember The Milk are essentially special lists which contai= n 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 up= dated in RTM plasmoid. One just have to wait for the next timeout update. A= nd it turned out that the bug concerns the design of RTM library quite deep= ly. So the fix contains some certain changes to several places of the RTM l= ib (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 list= s update. 2. I made few changes to xmlreaders and Session class to keep the initial r= equest and smart lists update inside one user action (i.e. so that 'loading= ' is shown during all these operations). Diffs ----- libs/rtm/xmlreaders.cpp 507ac0d1c7f85e7e53c57ef022a78e78c619dd06 = libs/rtm/xmlreaders.h 882f0500c7178bf5982a65b01b3cc2268ba1fe8b = libs/rtm/task_p.h 00c794e75457f4de3680f0689dc4b741f15db4ce = libs/rtm/session.cpp dfd5db27c7a48a24921fd1ddbd4c4acf82fe9408 = libs/rtm/session_p.h 34c2063a5a2015bed0e2bd8b9681df5c7b9e2802 = libs/rtm/session.h aad145c44c70fb28fe1496b93d991667e918f630 = libs/rtm/request.cpp a2983300b989acd278e855623457a743948e1cdd = applets/rememberthemilk/taskmodel.cpp 8e2ab387996ec81c6c6471c8e845ad3a881= a4ce8 = dataengines/rememberthemilk/rtmengine.cpp 7e231efe7b0a977648c40e8438fd25a= 0154f0a50 = libs/rtm/request.h 58cb7daec491b652c5de2a1e18214df5e7baa5e9 = Diff: http://git.reviewboard.kde.org/r/101182/diff Testing ------- I've tested the code hugely with all the mentioned operations (add task, mo= dify task, delete task) and smart lists are updated correctly with this pat= ch. Updating smart lists on every modifying request makes it longer mainly = because 1s interval between requests and slight duplication of requests her= e and there but I'm currently testing another patch which removes most of d= uplications to speed up the overall process. Thanks, Alexey --===============8219987872532227549== Content-Type: text/html; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable
This is an automatically generated e-mail. To reply, visit: http://git.revie= wboard.kde.org/r/101182/

Review request for Plasma.
By Alexey Chernov.

Descripti= on

Smart lists in Remember The Milk are essentially special lis=
ts 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 updat=
e. 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 R=
TM lib (fixes to applet and dataengine are quite cosmetic). The main idea i=
s 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 th=
at split read-only requests and read-write requests which should trigger sm=
art lists update.
2. I made few changes to xmlreaders and Session class to keep the initial r=
equest and smart lists update inside one user action (i.e. so that 'loa=
ding' is shown during all these operations).

Testing <= /h1>
I've tested the code hugely with all the mentioned opera=
tions (add task, modify task, delete task) and smart lists are updated corr=
ectly with this patch. Updating smart lists on every modifying request make=
s it longer mainly because 1s interval between requests and slight duplicat=
ion of requests here and there but I'm currently testing another patch =
which removes most of duplications to speed up the overall process.

Diffs=

  • libs/rtm/xmlreaders.cpp (507ac0d1c7f85e7e5= 3c57ef022a78e78c619dd06)
  • libs/rtm/xmlreaders.h (882f0500c7178bf5982= a65b01b3cc2268ba1fe8b)
  • libs/rtm/task_p.h (00c794e75457f4de3680f06= 89dc4b741f15db4ce)
  • libs/rtm/session.cpp (dfd5db27c7a48a24921f= d1ddbd4c4acf82fe9408)
  • libs/rtm/session_p.h (34c2063a5a2015bed0e2= bd8b9681df5c7b9e2802)
  • libs/rtm/session.h (aad145c44c70fb28fe1496= b93d991667e918f630)
  • libs/rtm/request.cpp (a2983300b989acd278e8= 55623457a743948e1cdd)
  • applets/rememberthemilk/taskmodel.cpp (8e2= ab387996ec81c6c6471c8e845ad3a881a4ce8)
  • dataengines/rememberthemilk/rtmengine.cpp = (7e231efe7b0a977648c40e8438fd25a0154f0a50)
  • libs/rtm/request.h (58cb7daec491b652c5de2a= 1e18214df5e7baa5e9)

View Diff

--===============8219987872532227549==-- --===============1327373324== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel --===============1327373324==--