diff options
| author | Emmanuel Pescosta <[email protected]> | 2012-11-25 21:44:01 +0100 |
|---|---|---|
| committer | Emmanuel Pescosta <[email protected]> | 2012-11-25 21:44:01 +0100 |
| commit | b2719884b9cdd31b293e785aebabddabf374383d (patch) | |
| tree | 0a356edd0678cb82c4ee05d79b9fc91a2c9ec5b6 /src/views/viewproperties.cpp | |
| parent | c570c6203650b20800c07d0f45b9a808758e923e (diff) | |
Fix Bug 310465 - Can't switch view mode for non-writable paths
BUG: 310465
FIXED-IN: 4.9.4
REVIEW: 107458
Diffstat (limited to 'src/views/viewproperties.cpp')
| -rw-r--r-- | src/views/viewproperties.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/views/viewproperties.cpp b/src/views/viewproperties.cpp index ff0c274be..30deb7277 100644 --- a/src/views/viewproperties.cpp +++ b/src/views/viewproperties.cpp @@ -69,8 +69,13 @@ ViewProperties::ViewProperties(const KUrl& url) : useDetailsViewWithPath = true; } else if (url.isLocalFile()) { m_filePath = url.toLocalFile(); - const QFileInfo info(m_filePath); - if (!info.isWritable() || !isPartOfHome(m_filePath)) { + const QFileInfo dirInfo(m_filePath); + const QFileInfo fileInfo(m_filePath + QDir::separator() + ViewPropertiesFileName); + // Check if the directory is writable and check if the ".directory" file exists and + // is read- and writable. + if (!dirInfo.isWritable() + || (fileInfo.exists() && !(fileInfo.isReadable() && fileInfo.isWritable())) + || !isPartOfHome(m_filePath)) { #ifdef Q_OS_WIN // m_filePath probably begins with C:/ - the colon is not a valid character for paths though m_filePath = QDir::separator() + m_filePath.remove(QLatin1Char(':')); |
