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





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On June 19th, 2016, 2:39 a.m. CEST, <b>Aleix Pol Gonzalez</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 explain why it's better? To me the new code looks rather scary and it's rather weird that it needs so much OSX-specific complexity.</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;">To me the images speak the proverbial 1000 words :) but basically I think it actually not only looks better because there is no more icon clipping or render outside the button box. My initial attempt solved that by sizing the button to accomodate the icon, but that ignored the fact that the button has to be the same height as the progressbar.
The current implementation achieves both, and I've used my usual (non-standard) icon theme to exclude  the possibility that the original implementation works well with the standard themes by chance.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Could you explain exactly what looks scary in the new code, there's hardly anything that does actually scary stuff, no? The OS X specific code is in fact style-specific; we're dealing here with aspects over which the active style has the last word to a large extent. That's apparent from the fact that neither <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">macintosh</code> nor <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">Breeze</code> allow height control of the progressbar and as far as I've been able to understand it also explains why you need to resize the icon explicitly rather than simply sizing the button and hope its content resize along. But the progressbar aspect is the main culprit for requiring style-specific code.
Note that it might become simpler if we go for "flat" buttons everywhere; I haven't even tried that because I didn't want to assume that would be acceptable outside of the <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">macintosh</code> style.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I saw that this widget comes from KDE PIM, and has been co-authored by David Faure. I've added him to this RR. Wouldn't it be an idea to move this widget to KGUIAddons where it could be of use to more applications? I presume that things like style-specific tuning might raise less eyebrows in a library than in an application?</p></pre>
<br />










<p>- René J.V.</p>


<br />
<p>On June 18th, 2016, 7:47 p.m. CEST, René J.V. Bertin 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 KDevelop and David Faure.</div>
<div>By René J.V. Bertin.</div>


<p style="color: grey;"><i>Updated June 18, 2016, 7:47 p.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kdevplatform
</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 came across this old bit of code, judging from the use of the deprecated <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">Q_OS_MAC</code> token. 
Some quick testing suggests that using <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">WA_LayoutUsesWidgetRect</code> achieves what I think is the intended effect without platform-specific code. (That platform test ought really check for using the <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">macintosh</code> widget style btw, rather than "are we running on OS X").</p></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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">For now only on OS X, with the native theme as well as QtCurve, Breeze and Oxygen.</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>shell/progresswidget/statusbarprogresswidget.cpp <span style="color: grey">(1a32ea8)</span></li>

</ul>

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



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">File Attachments </h1>


 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2016/06/16/1498e8dc-4541-473b-b6db-2c2ae138cbc3__Screen_Shot_2016-06-17_at_00.17.17.png">OS X/Mac native *without* the patch</a></li>

 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2016/06/17/dd352994-1753-4b33-a0d2-cd2a3132df48__progress-stock.png">stock widget under Linux (same layout using Breeze)</a></li>

 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2016/06/18/8e6a0761-b760-4f41-be67-7f9ba7318349__Screen_Shot_2016-06-18_at_19.21.52.png">OS X/native with the new patch</a></li>

 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2016/06/18/3535be4c-3034-493d-88c0-61ab9a13844d__Screen_Shot_2016-06-18_at_19.24.46.png">OS X using QtCurve with the new patch</a></li>

 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2016/06/18/359d5f57-bdaa-45a7-a0b0-6acb5609459f__Screen_Shot_2016-06-18_at_19.16.19.png">Linux, Breeze, new patch</a></li>

 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2016/06/18/f5eb0902-884a-47e5-bf84-a3581a21bece__Screen_Shot_2016-06-18_at_19.14.17.png">Linux, QtCurve, new patch</a></li>

 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2016/06/18/536d4f09-8409-4eb4-80ca-27d3f744d6a0__Screen_Shot_2016-06-18_at_19.16.56.png">Linux, Oxygen, new patch</a></li>

 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2016/06/19/ee2d687e-69ea-493f-9ae4-87d90be614e2__progress-patched-breeze.png">Linux, Breeze + Breeze icons, new patch</a></li>

 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2016/06/19/7e3cfc5c-cb80-491c-b4d2-4d6f9c839a48__progress-patched-qtcurve.png">Linux, QtCurve + Breeze icons, new patch</a></li>

</ul>




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







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