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








<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On May 8th, 2011, 9:03 p.m., <b>Michael Pyne</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/101312/diff/1/?file=16267#file16267line67" style="color: black; font-weight: bold; text-decoration: underline;">kfile/knameandurlinputdialog.cpp</a>
    <span style="font-weight: normal;">

     (Diff revision 1)

    </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; ">class KNameAndUrlInputDialogPrivate</pre></td>

  </tr>
 </tbody>



 
 




 <tbody>

  <tr>
    <th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">67</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">KHBox</span><span class="o">*</span> <span class="n">fileNameBox</span> <span class="o">=</span> <span class="k">new</span> <span class="n">KHBox</span><span class="p">(</span><span class="n">plainPage</span><span class="p">);</span></pre></td>
    <th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">66</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">d</span><span class="o">-></span><span class="n">m_leName</span> <span class="o">=</span> <span class="k">new</span> <span class="n">KLineEdit</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;">It is inappropriate to create QWidgets that have no parent, unless you have a different means of ensuring they're properly destroyed.

I've checked the QFormLayout docs and it makes no mention of requiring its widgets to be parentless, or reparenting them.

So, you should use plainPage as the parent for this widget so that it is properly destroyed.</pre>
 </blockquote>



 <p>On May 8th, 2011, 9:51 p.m., <b>Parker Coates</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;">That's incorrect. Take a look at http://doc.trolltech.com/latest/qlayout.html#addItem.

Whether or not to specify parents for QWidgets at construction-time is mostly a style issue (assuming that you can guarantee that the widget will be added to a layout, that has or will be set on a QWidget).</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;">The standard Qt style now seems to be that widgets that will go into a layout are created with no parent.  Not sure whether this is just a style issue, or for efficiency - creating a widget with one parent and then reparenting it must involve some overhead in processing the childEvent(), but don't know whether this is significant.  See
qt-kde/examples/layouts/basiclayouts/dialog.cpp which creates all of its widgets parentless.

But if there is a KDE style guideline for this then I'd be happy to use it... and if there isn't a KDE style guideline, should there be one?</pre>
<br />




<p>- Jonathan</p>


<br />
<p>On May 8th, 2011, 3:42 p.m., Jonathan Marten 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 Jonathan Marten.</div>


<p style="color: grey;"><i>Updated May 8, 2011, 3:42 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;">This dialogue - used, for example, for the desktop's "Create New - Link to Location" or "Create New - Basic link to" actions, has a very ugly layout where the labels are squashed up to the entry fields and the two lines are not vertically aligned with each other.  This change uses a form layout instead, which automatically adopts the standard KDE style and spacing.

In addition to the layout, the "OK" button is enabled when the dialogue is first shown; it should not be because the two entry fields are empty. This is checked at the end of the constructor.</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;">Built kdelibs with these changes, checked operation and appearance of dialogue via Plasma desktop.</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>kfile/knameandurlinputdialog.cpp <span style="color: grey">(fd02af6)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/101312/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/101312/s/158/"><img src="http://git.reviewboard.kde.org/media/uploaded/images/2011/05/08/newfiledialog-fixlayout_before_400x100.png" style="border: 1px black solid;" alt="Before" /></a>

 <a href="http://git.reviewboard.kde.org/r/101312/s/159/"><img src="http://git.reviewboard.kde.org/media/uploaded/images/2011/05/08/newfiledialog-fixlayout_after_400x100.png" style="border: 1px black solid;" alt="After" /></a>

</div>


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








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