<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/106448/">https://git.reviewboard.kde.org/r/106448/</a>
     </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On August 8th, 2014, 12:04 p.m. UTC, <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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">there is an issue with it that came out only now with neon image that start with a clean environment:<br style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;" />
default favorites are now completely lost, kickoff starts with an empty list</p></pre>
 </blockquote>




 <p>On August 8th, 2014, 12:20 p.m. UTC, <b>Ivan Čukić</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The defaults should be set in the global kickoffrc file. It should be imported then (if a local kickoffrc has favourites, the should get loaded instead).</p></pre>
 </blockquote>





 <p>On August 8th, 2014, 3:34 p.m. UTC, <b>Eike Hein</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Can you define "a local kickoffrc"? If multiple Kickoff instances can't have different favourites, it's a bug. Widget configuration is instance-local.</p></pre>
 </blockquote>





 <p>On August 8th, 2014, 6:08 p.m. UTC, <b>Ivan Čukić</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">As far as I see, kickoff in plasma 1 uses a kickoffrc file where it stores its favourites, and they are shared accross different instances of kickoff.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">We've had a lot of requests to make the favourites unified even accross different launchers (that is, I've had a lot of requests to make Kickoff and Lancelot favourites shared).</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Now we should switch to each instance has its own? If that is the case, there is no point in using activity manager for application<->activity linking. And the per-activity favorites patch should be reverted.</p></pre>
 </blockquote>





 <p>On August 8th, 2014, 6:10 p.m. UTC, <b>Ivan Čukić</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">p.s. Also ignore the review for kicker.</p></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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This sounds like something we need a proper community-wide solution for me. My thinking is:</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;">Plasma generally allows for multiple instances of the same widget with independent config, and breaking down those barriers is sort of a slippery slope that makes the system unpredictable for users ("if I change this, will it only affect this widget or all of them? I can't be sure").</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">Aside from making it unpredictable, it's also more restrictive - you lose the ability to use separate settings if you want them to be separate (in this concrete case, e.g. different favorites per monitor).</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">Allowing shared config requires widget authors to do much work work to implement things correctly (realtime synchronization).</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">Storing config outside the widget means that downstream customizers need to use two different ways to pre-configure widgets (desktop scripting for instance-local config, random rc files for other config).</li>
</ul>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Specifically as far as launchers are concerned, as I mentioned on IRC, Marco and I have been talking on and off that we could use some sort of launcher framework to fix all the applet-specific interfaces we have right now. </p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">For example, Kicker has the application item context menu actions "Add to Panel", "Add to Task Manager" and "Add to Desktop". "Add to Task Manager" requires finding a Task Manager instance in the same containment and calling a function on it, and "Add to Desktop" behaves differently depending on whether the screen containment is a Folder instance (it will then all a function that creates a symlink) or not (it will then create an Icon applet instance, like "Add to Panel" does).</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">All of this is highly desirable from an UX point of view - users want to do all of those - and it works, but it involves some hard-coded plugin identities.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Now, if we do store launcher state somewhere central, though, then interested clients of that service still need to be able to select a subset of launchers to show, though, so that the specific launchers shown can be individual per instance.</p></pre>
<br />










<p>- Eike</p>


<br />
<p>On July 29th, 2014, 9:42 a.m. UTC, Greg T wrote:</p>









<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 and Martin Gräßlin.</div>
<div>By Greg T.</div>


<p style="color: grey;"><i>Updated July 29, 2014, 9:42 a.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kde-workspace
</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;">I think it's time now to get the new kickoff into master so we can polish it for KDE 4.10. the qml plasmoid is still using the old model code (though slightly adjusted). This could cause issues for the c++ menu launcher "simpleapplet"...I'm not using it but actually it doesn't even compile. Probably would be better to port it to qml as well...opinions?

The qml code resides in the package dir. It's a pure qml widget with c++ model extensions...obviously :)

Add to Panel/Desktop is still not supported but overall I think we have reached feature parity with kickoff c++

I'm also worried about the upgrade path from kickoff-c++ to kickoff-qml. How can we ensure a smooth transition for devs and users?

</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;">not too much, surely have to update this diff a couple of times. But you can start dropping comments anyway.</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>plasma/desktop/applets/kickoff/CMakeLists.txt <span style="color: grey">(e9e288866ecdcfd7aa35c086dfe78d4252748995)</span></li>

 <li>plasma/desktop/applets/kickoff/Messages.sh <span style="color: grey">(b1fa03bcfd6254de7697a674a37919724a0a0965)</span></li>

 <li>plasma/desktop/applets/kickoff/applet/applet.h <span style="color: grey">(f3afe734df993a4fad950068143d84f9e25dedc8)</span></li>

 <li>plasma/desktop/applets/kickoff/applet/applet.cpp <span style="color: grey">(a6f7379e830ea02c702f492eb94bf489d87314e1)</span></li>

 <li>plasma/desktop/applets/kickoff/core/CMakeLists.txt <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plasma/desktop/applets/kickoff/core/applicationmodel.h <span style="color: grey">(f0f8872255956321292151cdd82326cdf88c5508)</span></li>

 <li>plasma/desktop/applets/kickoff/core/applicationmodel.cpp <span style="color: grey">(57b6ba524255fc59c2ff5b58a64edc1c7f0f82e2)</span></li>

 <li>plasma/desktop/applets/kickoff/core/favoritesmodel.h <span style="color: grey">(8ee3e9a9eb16780131d59b150b50641e5a03a34c)</span></li>

 <li>plasma/desktop/applets/kickoff/core/favoritesmodel.cpp <span style="color: grey">(58c2c5de8defe415d64204c795075e16c23e883c)</span></li>

 <li>plasma/desktop/applets/kickoff/core/itemhandlers.h <span style="color: grey">(ec72cbe51b6e2da604ba6eba96f9e6f3f5935f67)</span></li>

 <li>plasma/desktop/applets/kickoff/core/itemhandlers.cpp <span style="color: grey">(4e83c37588af1ebab331082e2eaccb40a0f8155c)</span></li>

 <li>plasma/desktop/applets/kickoff/core/kickoffabstractmodel.cpp <span style="color: grey">(7e2e64d22e9e274ffe3d37fdd0ac2c33a622ea3a)</span></li>

 <li>plasma/desktop/applets/kickoff/core/kickoffmodel.cpp <span style="color: grey">(8149cac20ce8ab246d8f484ca7567fc6e32d548c)</span></li>

 <li>plasma/desktop/applets/kickoff/core/kickoffplugin.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plasma/desktop/applets/kickoff/core/kickoffplugin.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plasma/desktop/applets/kickoff/core/kickoffproxymodel.cpp <span style="color: grey">(f92bca971e0f9fcb644cadab6aa39a3e36291c00)</span></li>

 <li>plasma/desktop/applets/kickoff/core/krunnermodel.h <span style="color: grey">(93a8b152a673eb6233727a82eefd70739ffc5a0f)</span></li>

 <li>plasma/desktop/applets/kickoff/core/krunnermodel.cpp <span style="color: grey">(452ebbe81311f8e3e95b5eda5fb9217344852d06)</span></li>

 <li>plasma/desktop/applets/kickoff/core/leavemodel.h <span style="color: grey">(0676fb9358bdfd5e3cffce7eb3a0ea5e4ff70989)</span></li>

 <li>plasma/desktop/applets/kickoff/core/leavemodel.cpp <span style="color: grey">(47559cef7331ac5b37f42ed57c7c9a6668d5d53b)</span></li>

 <li>plasma/desktop/applets/kickoff/core/models.h <span style="color: grey">(3332ba9608808b353c32d96c37b84ddd82aabddf)</span></li>

 <li>plasma/desktop/applets/kickoff/core/models.cpp <span style="color: grey">(c787df6e2f2c7c88ff97c64c7cd7640cce32365b)</span></li>

 <li>plasma/desktop/applets/kickoff/core/qmldir <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plasma/desktop/applets/kickoff/core/recentapplications.h <span style="color: grey">(a0feddca1cebbeb556623216bcc6c5c30e13a2a4)</span></li>

 <li>plasma/desktop/applets/kickoff/core/recentapplications.cpp <span style="color: grey">(3e0538958564ae690e41791bdb5af76fa2ca9a8f)</span></li>

 <li>plasma/desktop/applets/kickoff/core/recentlyusedmodel.h <span style="color: grey">(841eb2b77aee778a85c76eafa61d38016f6ade58)</span></li>

 <li>plasma/desktop/applets/kickoff/core/recentlyusedmodel.cpp <span style="color: grey">(2762d6d63a7b0592a7e87cd99603cc7c418292c5)</span></li>

 <li>plasma/desktop/applets/kickoff/core/systemmodel.h <span style="color: grey">(3d7d6e1e6ebb8f3d14f09ff5f2e9c22098f4add2)</span></li>

 <li>plasma/desktop/applets/kickoff/core/systemmodel.cpp <span style="color: grey">(11688a10a03a3cdd6ff84bfff65d48bec336afbd)</span></li>

 <li>plasma/desktop/applets/kickoff/core/urlitemlauncher.h <span style="color: grey">(26b638fc02f42505e29857b5c18736e6778a580e)</span></li>

 <li>plasma/desktop/applets/kickoff/core/urlitemlauncher.cpp <span style="color: grey">(75bbfb5a5c6df837e7e56de501156b2ca12ed6d7)</span></li>

 <li>plasma/desktop/applets/kickoff/package/contents/ui/ApplicationsView.qml <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plasma/desktop/applets/kickoff/package/contents/ui/Breadcrumb.qml <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plasma/desktop/applets/kickoff/package/contents/ui/KickoffButton.qml <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plasma/desktop/applets/kickoff/package/contents/ui/KickoffItem.qml <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plasma/desktop/applets/kickoff/package/contents/ui/MainView.qml <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plasma/desktop/applets/kickoff/package/contents/ui/SearchView.qml <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plasma/desktop/applets/kickoff/package/contents/ui/kickoff.qml <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plasma/desktop/applets/kickoff/package/metadata.desktop <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plasma/desktop/applets/kickoff/simpleapplet/contextmenufactory.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plasma/desktop/applets/kickoff/simpleapplet/contextmenufactory.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plasma/desktop/applets/kickoff/simpleapplet/menuview.cpp <span style="color: grey">(7d2fb7bd0d92c8dcaa31a87ca3fcd0742310e101)</span></li>

 <li>plasma/desktop/applets/kickoff/simpleapplet/simpleapplet.cpp <span style="color: grey">(28fba18a1cddbd9be58991b35dba69fb60e4416c)</span></li>

 <li>plasma/desktop/applets/kickoff/ui/brandingbutton.h <span style="color: grey">(698b34e50372dddc3db9425ab2ac639cf90d49b7)</span></li>

 <li>plasma/desktop/applets/kickoff/ui/brandingbutton.cpp <span style="color: grey">(5cd8829b8a6cae1e07cbf9bffd3abe77b7f9104e)</span></li>

 <li>plasma/desktop/applets/kickoff/ui/contentareacap.h <span style="color: grey">(58b37ec74834eefd969786ec99a5cf25b27baf5c)</span></li>

 <li>plasma/desktop/applets/kickoff/ui/contentareacap.cpp <span style="color: grey">(45e0e2052720402451ae00bed05f6bb0598ec0b3)</span></li>

 <li>plasma/desktop/applets/kickoff/ui/contextmenufactory.h <span style="color: grey">(a4c3017b537aa12369b08f7fffb28addcca6bce4)</span></li>

 <li>plasma/desktop/applets/kickoff/ui/contextmenufactory.cpp <span style="color: grey">(afa666ac8dfaf6c746d165d7d662fab185af4442)</span></li>

 <li>plasma/desktop/applets/kickoff/ui/flipscrollview.h <span style="color: grey">(e7eba0939237c686ff1ca6c0d4c5a6c924ff26d6)</span></li>

 <li>plasma/desktop/applets/kickoff/ui/flipscrollview.cpp <span style="color: grey">(1d48f5b4562c230db7d8b6d8d578e5a09cd9e2c4)</span></li>

 <li>plasma/desktop/applets/kickoff/ui/itemdelegate.h <span style="color: grey">(bf79e2cc1f501e7136decfa7cd05ea651b109cf6)</span></li>

 <li>plasma/desktop/applets/kickoff/ui/itemdelegate.cpp <span style="color: grey">(3b15dd2e7a6ceaba66e1e7da27a811ea8ec31c2f)</span></li>

 <li>plasma/desktop/applets/kickoff/ui/launcher.h <span style="color: grey">(2a234c36d6fe320cc8021d074156ba2299158e4f)</span></li>

 <li>plasma/desktop/applets/kickoff/ui/launcher.cpp <span style="color: grey">(4425bcc79daff81f2448d19a75f3feb69dd57543)</span></li>

 <li>plasma/desktop/applets/kickoff/ui/searchbar.h <span style="color: grey">(60aa9b4b3faaafd5484a36a819b8ac0ed5683a9a)</span></li>

 <li>plasma/desktop/applets/kickoff/ui/searchbar.cpp <span style="color: grey">(1af8fa95e3497e50cba629c2086a9fb381a166ff)</span></li>

 <li>plasma/desktop/applets/kickoff/ui/tabbar.h <span style="color: grey">(c9281059d35255902fd6d3ed91c5171a44421a51)</span></li>

 <li>plasma/desktop/applets/kickoff/ui/tabbar.cpp <span style="color: grey">(43fe16b723ab2010bd02864a911d2d2c8d106821)</span></li>

 <li>plasma/desktop/applets/kickoff/ui/urlitemview.h <span style="color: grey">(285227a40b71065a0219c33293c955df3c5c518b)</span></li>

 <li>plasma/desktop/applets/kickoff/ui/urlitemview.cpp <span style="color: grey">(892b85be96695d7d71d4494af92dae794cb86d66)</span></li>

 <li>plasma/generic/dataengines/packagekit/CMakeLists.txt <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plasma/generic/dataengines/packagekit/packagekit.operations <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plasma/generic/dataengines/packagekit/packagekitengine.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plasma/generic/dataengines/packagekit/packagekitengine.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plasma/generic/dataengines/packagekit/packagekitjob.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plasma/generic/dataengines/packagekit/packagekitjob.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plasma/generic/dataengines/packagekit/packagekitservice.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plasma/generic/dataengines/packagekit/packagekitservice.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plasma/generic/dataengines/packagekit/plasma-dataengine-packagekit.desktop <span style="color: grey">(PRE-CREATION)</span></li>

</ul>

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






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








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