<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://git.reviewboard.kde.org/r/101182/">http://git.reviewboard.kde.org/r/101182/</a>
     </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On May 1st, 2011, 10:25 p.m., <b>Marco Martin</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">generally seems correct.
to watch out the coding style.
it&#39;s quite a big patch, but given enough testing (and assuming this will be multiple commits) i think it could go in</pre>
 </blockquote>




 <p>On May 2nd, 2011, 11:43 a.m., <b>Alexey Chernov</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Thanks, Marco. Coding style will be fixed, thanks for comments on it. I&#39;ll try to split the patch to several commits, but I&#39;m afraid the one for librtm will still remain quite significant as changes are connected to each other.</pre>
 </blockquote>










</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">So can I commit it using the updated diff?</pre>
<br />








<p>- Alexey</p>


<br />
<p>On May 2nd, 2011, 5:51 p.m., Alexey Chernov wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/media/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Plasma and Aaron J. Seigo.</div>
<div>By Alexey Chernov.</div>


<p style="color: grey;"><i>Updated May 2, 2011, 5:51 p.m.</i></p>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Smart lists in Remember The Milk are essentially special lists which contain tasks filtered by certain criteria. Most common smart list is &#39;All tasks&#39;.

The bug is that on adding/deleting/modifying any task smart lists aren&#39;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 &#39;read-only&#39; 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 &#39;loading&#39; is shown during all these operations).</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I&#39;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&#39;m currently testing another patch which removes most of duplications to speed up the overall process.</pre>
  </td>
 </tr>
</table>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>dataengines/rememberthemilk/rtmengine.cpp <span style="color: grey">(7e231efe7b0a977648c40e8438fd25a0154f0a50)</span></li>

 <li>libs/rtm/request.h <span style="color: grey">(58cb7daec491b652c5de2a1e18214df5e7baa5e9)</span></li>

 <li>libs/rtm/task_p.h <span style="color: grey">(00c794e75457f4de3680f0689dc4b741f15db4ce)</span></li>

 <li>libs/rtm/xmlreaders.h <span style="color: grey">(882f0500c7178bf5982a65b01b3cc2268ba1fe8b)</span></li>

 <li>libs/rtm/session_p.h <span style="color: grey">(34c2063a5a2015bed0e2bd8b9681df5c7b9e2802)</span></li>

 <li>libs/rtm/session.cpp <span style="color: grey">(dfd5db27c7a48a24921fd1ddbd4c4acf82fe9408)</span></li>

 <li>libs/rtm/request.cpp <span style="color: grey">(a2983300b989acd278e855623457a743948e1cdd)</span></li>

 <li>libs/rtm/session.h <span style="color: grey">(aad145c44c70fb28fe1496b93d991667e918f630)</span></li>

 <li>applets/rememberthemilk/taskmodel.cpp <span style="color: grey">(8e2ab387996ec81c6c6471c8e845ad3a881a4ce8)</span></li>

 <li>libs/rtm/xmlreaders.cpp <span style="color: grey">(507ac0d1c7f85e7e53c57ef022a78e78c619dd06)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/101182/diff/" style="margin-left: 3em;">View Diff</a></p>




  </td>
 </tr>
</table>








  </div>
 </body>
</html>