┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/views
diff options
context:
space:
mode:
Diffstat (limited to 'src/views')
-rw-r--r--src/views/viewproperties.cpp24
1 files changed, 21 insertions, 3 deletions
diff --git a/src/views/viewproperties.cpp b/src/views/viewproperties.cpp
index 7e589019a..5dbdd938e 100644
--- a/src/views/viewproperties.cpp
+++ b/src/views/viewproperties.cpp
@@ -531,9 +531,27 @@ void ViewProperties::save()
const auto metaDataKey = QStringLiteral("kde.fm.viewproperties#1");
const auto items = m_node->items();
- const bool allDefault = std::all_of(items.cbegin(), items.cend(), [this](const KConfigSkeletonItem *item) {
- return item->name() == "Timestamp" || (item->name() == "Version" && m_node->version() == CurrentViewPropertiesVersion) || item->isDefault();
- });
+ const auto defaultConfig = defaultProperties();
+ bool allDefault = true;
+ for (const auto item : items) {
+ if (item->name() == "Timestamp") {
+ continue;
+ }
+ if (item->name() == "Version") {
+ if (m_node->version() != CurrentViewPropertiesVersion) {
+ allDefault = false;
+ break;
+ } else {
+ continue;
+ }
+ }
+ auto defaultItem = defaultConfig->findItem(item->name());
+ if (!defaultItem || defaultItem->property() != item->property()) {
+ allDefault = false;
+ break;
+ }
+ }
+
if (allDefault) {
if (metaData.hasAttribute(metaDataKey)) {
qCDebug(DolphinDebug) << "clearing extended attributes for " << m_filePath;