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





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On September 30th, 2012, 8:26 a.m., <b>David Faure</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;">Looks good to me (feel free to commit if nobody else has comments).

But then, what if someone is annoyed by icon views, and wants a details view everywhere? [switch this sentence around if the default is details view]
He'll have to switch the view mode of kfiledialog in every single KDE app, right?
Tough problem, there's never a perfect solution with these things (making everyone happy leads to too many config options, and alternatives leave some people unhappy).
</pre>
 </blockquote>




 <p>On October 2nd, 2012, 8:16 a.m., <b>Aurélien Gâteau</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 have been using it for a while, and I have to admit it is surprising to have the dialog show up with different layouts depending on the application. I found a way to force KDirOperator to write its config to kdeglobals without extending the API, by replacing the call to KDirOperator::writeConfig() with this:

    KConfig tmp( QString(), KConfig::SimpleConfig );
    KConfigGroup tmpGroup( &tmp, configGroup.name() );
    ops->writeConfig( tmpGroup );
    tmpGroup.copyTo( &configGroup, globalFlags );

I can update the patch to do this if you prefer. It should even be possible to avoid adding globalFlags to all writeEntry() calls by making all the code of the function write to the tmpGroup. That would be closer to the way the code was supposed to work.</pre>
 </blockquote>





 <p>On October 2nd, 2012, 9:01 a.m., <b>David Faure</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;">Sounds good. But then... if we write everything to kdeglobals, then what's the usefulness of the KConfigGroup passed as parameter?
Ah, to select the group name? So much for sharing the settings between apps, then.

I'm just a bit confused as to the goals here; there's a conflict between "using the KConfigGroup parameter" and "storing all this in kdeglobals", IMHO.
Which is what you're trying to fix, but it seems to me that we're exactly where we started from, just with different code.</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;">Oh right, if the settings are going to be shared among apps, then the code should not be able to use a different group name. I am going to update the patch.

Regarding being back to where we started from, that's not exactly true: we started with KFileDialog not remembering settings at all because it was using a separate, unshared, instance of KConfig to access kdeglobals.</pre>
<br />








<p>- Aurélien</p>


<br />
<p>On September 26th, 2012, 4:19 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 Sept. 26, 2012, 4:19 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 patch makes KFileDialog remember settings such as which view mode is selected and whether the places sidebar should be visible.

Original code tried to save those to kdeglobals so that changes would be shared among all applications but it did so the wrong way. The patch writes the configuration to kdeglobals correctly, but saves the KDirOperator to the application config file (KDirOperator configuration settings are sort settings, show preview, show hidden files, view style (icon, detail, treeview))

There are two reasons for not saving KDirOperator config to kdeglobals:

1. It is right now not possible to tell KDirOperator::writeConfig() to save to kdeglobals. It could be done by adding a new version of writeConfig() which would accept a KConfigBase::WriteFlags argument though.

2. It probably would not be a good idea to remember KDirOperator settings globally anyway because depending on the application one may want to use different settings.
For example if user wants to select images or videos he might set the file dialog to show big icons and the preview pane (so that videos can be played). This setup would however not be adapted in an application where one wants to select a text file.</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;">Tested with two different KDE applications. Settings are correctly remembered.</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=139475">139475</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>kfile/kfilewidget.cpp <span style="color: grey">(8e2f967)</span></li>

</ul>

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




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








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