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





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On April 28th, 2011, 8:07 p.m., <b>Jarosław Staniek</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;">I admit I reviewed the code extensively since I used it in Kexi already, extending by adding default action feature, callouts, and autodeletion. Good job!

Please look at these supplementary notes too - I'd like to start discussion:
There's possible problem with adding new widgets in so matured API as KDElibs 4.7: I do not know how we'll deal with the problem of supporting KDE 4.6 apps that require this new widget (without forking). As I said on kde-core-devel, ideally new widgets would land in extra library and could be backported. Also this widget has almost nothing to do with KDElibs-sepcific features and some peopel would _love_ to use it in non-KDE code too. Again, without forking.</pre>
 </blockquote>




 <p>On April 28th, 2011, 8:12 p.m., <b>Jarosław Staniek</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;">BTW, links to my extensions:
http://quickgit.kde.org/?p=calligra.git&a=blob&hb=60e7ff67fee20723a4a318339d982c85253307a5&f=kexi/kexiutils/kmessagewidget.h
http://quickgit.kde.org/?p=calligra.git&a=blob&h=67d11d15bd8c7df894ea7b048aeb9306efb7a1ab&hb=60e7ff67fee20723a4a318339d982c85253307a5&f=kexi/kexiutils/kmessagewidget.cpp</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;">autodeletion and default action features make sense. Not sure what you mean with callouts though.

Regarding putting this in a separate library: it uses quite a few KDE features: KIconLoader, KColorScheme, KStandardAction... it is not really ready to be used from a Qt-only application.

I thought a lot about your idea of using separate libraries for classes added in future version of kdelibs. One of the drawbacks I foresee is the following:
- Assuming class A is in libkdeui
- A new class, B, is created and added to libkdeui4.7
- If it makes sense to use B in A, then libkdeui needs to depend on libkdeui4.7...

I think it would be simpler to document a clean way for application developers to backport new classes they are interested in. This can be done in a way which automatically avoids building the copied classes if the application is built against the latest version of kdelibs, ensuring the backports "disable themselves" automatically.</pre>
<br />








<p>- Aurélien</p>


<br />
<p>On April 29th, 2011, 1:44 p.m., Aurélien Gâteau 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 kdelibs.</div>
<div>By Aurélien Gâteau.</div>


<p style="color: grey;"><i>Updated April 29, 2011, 1:44 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;">KMessageWidget is a new widget which can be considered as a less intrusive alternative for KMessageBox. It was designed during KDE UX sprint 2011 ( http://community.kde.org/Sprints/UX2011/KMessageWidget ).

The class documentation should make it clear how and when it can be used.

This widget could be used by:
- Browsers to implement their "remember password" widgets (Konqueror, Rekonq...)
- Forms to provide feedback on validation errors
- Bluedevil KCM to replace its custom "No Bluetooth adapter have been found" message widget
- Nepomuk/Strigi KCM to indicate status of their services
- Gwenview to replace its custom save bar
- ...

I still have a few additions in mind for the API but it is already usable and since we are freezing I think it can be merged in master in its current state. I assume it will still be possible to extend the API a bit before kdelibs 4.7 freezes for good.

I also wrote an example program in the kdeexample repository ( https://projects.kde.org/projects/kde/kdeexamples/repository/show?rev=agateau%2Fkmessagewidget ), though I am wondering whether it shouldn't be moved in kdeui/tests as it is more a manual test program than an example.</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>kdeui/CMakeLists.txt <span style="color: grey">(d1873d1)</span></li>

 <li>kdeui/widgets/kmessagewidget.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>kdeui/widgets/kmessagewidget.cpp <span style="color: grey">(PRE-CREATION)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/101249/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/101249/s/141/"><img src="http://git.reviewboard.kde.org/media/uploaded/images/2011/04/28/kmessagewidget_400x100.png" style="border: 1px black solid;" alt="Montage from kmessagewidgetdemo" /></a>

</div>


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








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