> On Sept. 30, 2012, 8:26 a.m., David Faure wrote:
> > 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).
> >
> 
> Aurélien Gâteau wrote:
>     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.
> 
> David Faure wrote:
>     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.

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.


- Aurélien


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/106581/#review19620
-----------------------------------------------------------


On Sept. 26, 2012, 4:19 p.m., Aurélien Gâteau wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/106581/
> -----------------------------------------------------------
> 
> (Updated Sept. 26, 2012, 4:19 p.m.)
> 
> 
> Review request for kdelibs.
> 
> 
> Description
> -------
> 
> 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.
> 
> 
> This addresses bug 139475.
>     http://bugs.kde.org/show_bug.cgi?id=139475
> 
> 
> Diffs
> -----
> 
>   kfile/kfilewidget.cpp 8e2f967 
> 
> Diff: http://git.reviewboard.kde.org/r/106581/diff/
> 
> 
> Testing
> -------
> 
> Tested with two different KDE applications. Settings are correctly remembered.
> 
> 
> Thanks,
> 
> Aurélien Gâteau
> 
>

Reply via email to