<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/129057/">https://git.reviewboard.kde.org/r/129057/</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 KDE Frameworks and Plasma.</div>
<div>By Aleix Pol Gonzalez.</div>


<p style="color: grey;"><i>Updated Sept. 28, 2016, 3:31 p.m.</i></p>



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Changes</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;">Address issues.</pre>
  </td>
 </tr>
</table>







<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
plasma-framework
</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;">I've been looking into what we're actually doing nowadays when we learn about a plasmoid at boot. I realized that we were doing a bit of a roundabout and there's definitely shorter paths.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">As far as I understood, what we're doing is:</p>
<ol style="padding: 0;text-rendering: inherit;margin: 0 0 0 2em;line-height: inherit;white-space: normal;">
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">We list all plugins and construct their KPluginMetaData</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">We get the metadata file path and send it to corona, that will create a KService::Ptr and then construct a KPluginInfo from it.</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">KPluginInfo in turn parses the file again. Since recently KPluginInfo is parsing the files twice
3.1. using KPluginMetaData
3.2. using KDesktopFileParser</li>
</ol>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This patch, tries to simplify 2 and 3 into a KPluginMetaData construction call.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Furthermore, this will allow us eventually (in a separate iteration, and everything works according to the plan) to load plugins from metadata.json which would make it possible to get rid of the internal usage of the desktopfileparser within kcoreaddons. (With something like this https://paste.kde.org/pth9wmasc)</p></pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing (updated)</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;">Tests still pass, plasmashell starts beautifully.</p></pre>
  </td>
 </tr>
</table>


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

 <li>src/plasma/applet.h <span style="color: grey">(449f761)</span></li>

 <li>src/plasma/applet.cpp <span style="color: grey">(5e278dc)</span></li>

 <li>src/plasma/containment.cpp <span style="color: grey">(803887d)</span></li>

 <li>src/plasma/corona.cpp <span style="color: grey">(7ff64cd)</span></li>

 <li>src/plasma/private/applet_p.h <span style="color: grey">(c3fe1d2)</span></li>

 <li>src/plasma/private/applet_p.cpp <span style="color: grey">(0f37fe5)</span></li>

 <li>src/plasma/private/storage.cpp <span style="color: grey">(8983128)</span></li>

 <li>src/plasma/scripting/appletscript.cpp <span style="color: grey">(42c0395)</span></li>

 <li>src/plasmaquick/appletquickitem.cpp <span style="color: grey">(95695d5)</span></li>

 <li>src/plasmaquick/configview.cpp <span style="color: grey">(b6ef7ac)</span></li>

 <li>src/scriptengines/qml/plasmoid/appletinterface.cpp <span style="color: grey">(466dbd8)</span></li>

</ul>

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






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



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