<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://git.reviewboard.kde.org/r/106503/">http://git.reviewboard.kde.org/r/106503/</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 2nd, 2012, 8:57 a.m., <b>David Faure</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://git.reviewboard.kde.org/r/106503/diff/4/?file=88056#file88056line166" style="color: black; font-weight: bold; text-decoration: underline;">konqueror/src/konqsessionmanager.cpp</a>
    <span style="font-weight: normal;">

     (Diff revision 4)

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

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

   <td colspan="2"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
   <td colspan="2"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">SessionRestoreDialog::SessionRestoreDialog(const QStringList& sessionFilePaths, QWidget* parent, Qt::WFlags f)</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">166</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="n">scrollPal</span><span class="p">.</span><span class="n">setColor</span><span class="p">(</span><span class="n">QPalette</span><span class="o">::</span><span class="n">Window</span><span class="p">,</span> <span class="n">Qt</span><span class="o">::</span><span class="n">transparent</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;">Does this really make any difference? Widgets are transparent by default, in Qt4...</pre>
 </blockquote>



 <p>On October 2nd, 2012, 12:40 p.m., <b>Thomas Lübking</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;">To be more aggressive: DO NOT DO THAT! NEVER!

Qt::transparent is Qt::black with zero alpha component, so whenever someone (UI Styles) test the the background color, they will get rubbish for this widget (unless you check the alpha component and conditionally treat this as invisible)

This approach showed up someone in the early KDE4 days and is since then the pestilence in visual KDE code (so eg. bespin during polishment tests widgets for doing this and tries to fix them up as good as possible)

use ::setAutoFillBackground(false) on ::viewport() but please DO NOT FREAK THE PALETTE, seriously ;-)

Another issue in this regard are several QItemViews, because they operate on hardcoded QPalette::Text, so if you want to make such view "transparent" you should not only viewport()->setAutoFillBackground(false) but also (and actually) will unfortunately have to "fix" the palette by aligning palette().color(QPalette::Text) and parentWidget().palette().color(QPalette::Window) - that includes filtering QEvent::Application/PaletteChange and re-fix the colors under this incident (smart approach is to check whether the color is already correct and not trigger another PaletteChange event in that case ;-)

For the very same manner, please do not abuse setStyleSheet() for being lazy to correct colors (now actually changing the palette, maybe even better: set[Back|Fore]groundRole()) - you'll end up with hardcoded colors (even if you select them at runtime) bypassing the style, and in 90% of all cases will break bright on dark palettes.</pre>
 </blockquote>





 <p>On October 2nd, 2012, 8:50 p.m., <b>Dawit Alemayehu</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;">For the record that piece of code was copied verbatim from KMessageBox::createKMessageBox. If it is the wrong thing to do, then it needs to be fixed there as well.</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'm not surprised.
It happens so often and happens so often "wrong", that there should ideally be a (static, but we'll need an eventfilter) helper function to do that (like static KStyle::makeTransparent(QAbstractScrollArea*), but i'm unsure about the "proper" class/namespace) in frameworks or so - and how to make ppl. use it.</pre>
<br />




<p>- Thomas</p>


<br />
<p>On October 2nd, 2012, 9:07 p.m., Dawit Alemayehu wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/media/rb/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 KDE Base Apps and David Faure.</div>
<div>By Dawit Alemayehu.</div>


<p style="color: grey;"><i>Updated Oct. 2, 2012, 9:07 p.m.</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;">The attached patch fixes one of those pet peeve bugs that infurate me from time to time by allowing me to unselect the sessions I do not want to be restored when Konqueror's restore session dialog pops up.</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;">* Unselected sessions should not be restored.
* If all available sessions are selected (the default), the behavior should remain the same as it is today.
* If all available sessions are unselected, disable the "Restore Session" button.</pre>
  </td>
 </tr>
</table>



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


 <a href="http://bugs.kde.org/show_bug.cgi?id=260282">260282</a>


</div>


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

 <li>konqueror/src/konqsessionmanager.h <span style="color: grey">(ee629e4)</span></li>

 <li>konqueror/src/konqsessionmanager.cpp <span style="color: grey">(68a003f)</span></li>

</ul>

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



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

<div>

 <a href="http://git.reviewboard.kde.org/r/106503/s/729/"><img src="http://git.reviewboard.kde.org/media/uploaded/images/2012/09/19/old_konqueror_restore_dialog_400x100.png" style="border: 1px black solid;" alt="old restore dialog" /></a>

 <a href="http://git.reviewboard.kde.org/r/106503/s/731/"><img src="http://git.reviewboard.kde.org/media/uploaded/images/2012/09/19/new_konqueror_restore_dialog_1_400x100.png" style="border: 1px black solid;" alt="new restore dialog" /></a>

 <a href="http://git.reviewboard.kde.org/r/106503/s/739/"><img src="http://git.reviewboard.kde.org/media/uploaded/images/2012/09/28/new_konqueror_restore_dialog_1_400x100.png" style="border: 1px black solid;" alt="new restore dialog v2" /></a>

 <a href="http://git.reviewboard.kde.org/r/106503/s/750/"><img src="http://git.reviewboard.kde.org/media/uploaded/images/2012/10/01/new_konqueror_restore_dialog_400x100.png" style="border: 1px black solid;" alt="new restore dialog v3" /></a>

</div>


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








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