<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://svn.reviewboard.kde.org/r/5689/">http://svn.reviewboard.kde.org/r/5689/</a>
     </td>
    </tr>
   </table>
   <br />








<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On October 29th, 2010, 8:56 p.m., <b>Manuel Mommertz</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  



<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="http://svn.reviewboard.kde.org/r/5689/diff/7/?file=40411#file40411line85" style="color: black; font-weight: bold; text-decoration: underline;">/trunk/KDE/kdelibs/plasma/svg.cpp</a>
    <span style="font-weight: normal;">

     (Diff revision 7)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">namespace Plasma</pre></td>

  </tr>
 </tbody>




 
 



 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">85</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="n">QRegExp</span> <span class="n">idExpr</span><span class="p">(</span><span class="s">&quot;id</span><span class="se">\\</span><span class="s">s*=</span><span class="se">\\</span><span class="s">s*([&#39;</span><span class="se">\&quot;</span><span class="s">])(</span><span class="se">\\</span><span class="s">d+)-(</span><span class="se">\\</span><span class="s">d+)-([^&#39;</span><span class="se">\&quot;</span><span class="s">]+)</span><span class="se">\\</span><span class="s">1&quot;</span><span class="p">);</span></pre></td>
  </tr>

 </tbody>

</table>

  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">should end with:
-(.*)\\1&quot;);
this is save as setMinimal is true;</pre>
 </blockquote>



 <p>On October 29th, 2010, 9:43 p.m., <b>Ingomar Wesp</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;">Actually, I think it&#39;s a bit cleaner if we only accept size hinted elements whose base id is non-empty - (\\d+)-(\\d+)-(.*) would also accept &quot;32-32-&quot; for example. Although it does not matter in practice, because findInCache checks whether the passed element is non-empty anyways.</pre>
 </blockquote>







</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I prefer wrong positives that are actually valid id&#39;s. Say we have a id &quot;32-32-&quot;. With (.*)\\1 we get an empty match. But with (.+)\\1 the quotation mark gets part of .+ so we get all things up to the next quotation mark as id. And if the next quotation is the start of the next id (extreme unlikely but possible) we miss it completly.</pre>
<br />




<p>- Manuel</p>


<br />
<p>On October 28th, 2010, 11:30 p.m., Ingomar Wesp wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://svn.reviewboard.kde.orgrb/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.</div>
<div>By Ingomar Wesp.</div>


<p style="color: grey;"><i>Updated 2010-10-28 23:30:24</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;">Previously, if an SVG contained size hinted elements, they were only used when the display size matched the size hint exactly. This patch tries to relax this condition by searching for the smallest size hinted element that is still bigger than the display size (in order for the element to be chosen, it also has to have the same aspect ratio). If no such element can be found, it falls back to the normal element id as passed.

In order to speed up the lookup (and because it appears to be impossible to access the DOM of an already loaded SvgRenderer), all size hinted element ids are stored in SharedSvgRenderer at load time.

I think it would be good to change the QRegExp based id fetching into a proper DOM traversal. Are there any convenience functions in KDELibs that allow easy iterating over all elements (couldn&#39;t find any) or do I have to implement that myself based on Qt&#39;s DOM classes?

Please tell me what you think... Have I missed something?</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>/trunk/KDE/kdelibs/plasma/private/svg_p.h <span style="color: grey">(1190806)</span></li>

 <li>/trunk/KDE/kdelibs/plasma/svg.cpp <span style="color: grey">(1190806)</span></li>

 <li>/trunk/KDE/kdelibs/plasma/theme.h <span style="color: grey">(1190806)</span></li>

 <li>/trunk/KDE/kdelibs/plasma/theme.cpp <span style="color: grey">(1190806)</span></li>

</ul>

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




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








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