<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>
</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;">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>
<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>