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





<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
 <tr>
  <td>

<div>Review request for Plasma, Eike Hein and Marco Martin.</div>
<div>By Ivan Čukić.</div>










<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
plasma-desktop
</div>


<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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Basic changes to support KActivities.ResourceModel-based favourites in Kicker.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">What works:<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
- Favourites are shown<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
- They can be added and removed<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
- Shared with other launchers (currently kickoff)</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">What does not (request for comments):<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
- launching the favourites</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">KActivities.ResourceModel does not have a method to open an URL, while Kicker relies on the 'trigger' method. The important question to discuss is whether it should know that at all, or it should leave launching to the client application (like kickoff currently does).<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
  From my POV, the model <em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">needs</em> to only provide the URL, and the application should know how to open the URL it provided to the model in the first place. It <em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">could</em> have a (convenience) method to launch the URL, but there will be a lot of URLs that it can not understand (like akonadi:something, etc.). The convenience method would be useful in a few places, not only Kicker.</p>
<ul style="padding: 0;text-rendering: inherit;margin: 0 0 0 1em;line-height: inherit;white-space: normal;">
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">drag'n'drop rearanging does not work</li>
</ul>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">KActivities.ResourceModel is based on QSortFilterProxyModel. This means that whenever an item is moved from one place to another, the model reloads itself (at least, the client sees it as a reload).<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
  This QSFPM behaviour collides with the d'n'd implementation in Kicker (as opposed to Kickoff) because it does the d'n'd by moving an item one place at a time, instead of moving it directly to the destination. That is, if an item is moved from 2nd to 5th position, Kicker will move it 2nd->3rd, 3rd->4th, 4th->5th. The model will invalidate the dragged item on the first step, and other steps will not work.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I need ideas and opinions for these issues.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Cheers!</p></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>applets/kicker/package/contents/ui/SideBarSection.qml <span style="color: grey">(0411545)</span></li>

 <li>applets/kicker/plugin/favoritesmodel.h <span style="color: grey">(342d3d1)</span></li>

 <li>applets/kicker/plugin/favoritesmodel.cpp <span style="color: grey">(3494a65)</span></li>

</ul>

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






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




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