mirror of
https://invent.kde.org/system/dolphin
synced 2024-09-12 12:54:29 +00:00
Make sure that changing the view mode does not fail
This commit ensures that changing the view mode works even if the .directory file in the user's KDE folder is not writable. BUG: 318534 FIXED-IN: 4.11.0 REVIEW: 111120
This commit is contained in:
parent
0d6bf03598
commit
5a647117ab
|
@ -248,9 +248,12 @@ void DolphinView::setMode(Mode mode)
|
|||
if (mode != m_mode) {
|
||||
ViewProperties props(viewPropertiesUrl());
|
||||
props.setViewMode(mode);
|
||||
props.save();
|
||||
|
||||
applyViewProperties();
|
||||
// We pass the new ViewProperties to applyViewProperties, rather than
|
||||
// storing them on disk and letting applyViewProperties() read them
|
||||
// from there, to prevent that changing the view mode fails if the
|
||||
// .directory file is not writable (see bug 318534).
|
||||
applyViewProperties(props);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1508,9 +1511,13 @@ void DolphinView::loadDirectory(const KUrl& url, bool reload)
|
|||
|
||||
void DolphinView::applyViewProperties()
|
||||
{
|
||||
m_view->beginTransaction();
|
||||
|
||||
const ViewProperties props(viewPropertiesUrl());
|
||||
applyViewProperties(props);
|
||||
}
|
||||
|
||||
void DolphinView::applyViewProperties(const ViewProperties& props)
|
||||
{
|
||||
m_view->beginTransaction();
|
||||
|
||||
const Mode mode = props.viewMode();
|
||||
if (m_mode != mode) {
|
||||
|
|
|
@ -709,10 +709,17 @@ private:
|
|||
|
||||
/**
|
||||
* Applies the view properties which are defined by the current URL
|
||||
* to the DolphinView properties.
|
||||
* to the DolphinView properties. The view properties are read from a
|
||||
* .directory file either in the current directory, or in the
|
||||
* share/apps/dolphin/view_properties/ subfolder of the user's .kde folder.
|
||||
*/
|
||||
void applyViewProperties();
|
||||
|
||||
/**
|
||||
* Applies the given view properties to the DolphinView.
|
||||
*/
|
||||
void applyViewProperties(const ViewProperties& props);
|
||||
|
||||
/**
|
||||
* Applies the m_mode property to the corresponding
|
||||
* itemlayout-property of the KItemListView.
|
||||
|
|
Loading…
Reference in a new issue