]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Honor KFileItem isHidden() in view
authorKai Uwe Broulik <kde@privat.broulik.de>
Wed, 8 Mar 2017 13:38:46 +0000 (14:38 +0100)
committerKai Uwe Broulik <kde@privat.broulik.de>
Wed, 8 Mar 2017 13:38:46 +0000 (14:38 +0100)
Instead of just assuming hidden files always start with a "."
The items were already filtered out but when showing hidden files they weren't painted at reduced opacity.

Differential Revision: https://phabricator.kde.org/D4978

src/kitemviews/kfileitemlistview.cpp
src/kitemviews/kfileitemlistwidget.cpp
src/kitemviews/kfileitemmodel.cpp
src/kitemviews/kfileitemmodel.h

index 1b6071820c2c1470a58d26a50d22e1dec112aae2..c17d543676dc78f3ebd54e156d32624df422e276 100644 (file)
@@ -396,6 +396,7 @@ void KFileItemListView::applyRolesToModel()
     roles.insert("text");
     roles.insert("isDir");
     roles.insert("isLink");
     roles.insert("text");
     roles.insert("isDir");
     roles.insert("isLink");
+    roles.insert("isHidden");
     if (supportsItemExpanding()) {
         roles.insert("isExpanded");
         roles.insert("isExpandable");
     if (supportsItemExpanding()) {
         roles.insert("isExpanded");
         roles.insert("isExpandable");
index e0548ab2a5072c899fb0295b139079e4bfd8d309..d28ddd2e3df930e5291cc1b8382dacefee102f8d 100644 (file)
@@ -120,7 +120,7 @@ bool KFileItemListWidget::isRoleRightAligned(const QByteArray& role) const
 
 bool KFileItemListWidget::isHidden() const
 {
 
 bool KFileItemListWidget::isHidden() const
 {
-    return data().value("text").toString().startsWith(QLatin1Char('.'));
+    return data().value("isHidden").toBool();
 }
 
 QFont KFileItemListWidget::customizedFont(const QFont& baseFont) const
 }
 
 QFont KFileItemListWidget::customizedFont(const QFont& baseFont) const
index 7e14baff0b79e97535740b7ace3ac6fde7f127ef..41ddb43b46436498061b4e6ec671f9b38a06a5ca 100644 (file)
@@ -92,6 +92,7 @@ KFileItemModel::KFileItemModel(QObject* parent) :
     m_roles.insert("text");
     m_roles.insert("isDir");
     m_roles.insert("isLink");
     m_roles.insert("text");
     m_roles.insert("isDir");
     m_roles.insert("isLink");
+    m_roles.insert("isHidden");
 
     // For slow KIO-slaves like used for searching it makes sense to show results periodically even
     // before the completed() or canceled() signal has been emitted.
 
     // For slow KIO-slaves like used for searching it makes sense to show results periodically even
     // before the completed() or canceled() signal has been emitted.
@@ -1472,6 +1473,7 @@ KFileItemModel::RoleType KFileItemModel::typeForRole(const QByteArray& role) con
         // with KFileItemModel::roleForType() in case if a change is done).
         roles.insert("isDir", IsDirRole);
         roles.insert("isLink", IsLinkRole);
         // with KFileItemModel::roleForType() in case if a change is done).
         roles.insert("isDir", IsDirRole);
         roles.insert("isLink", IsLinkRole);
+        roles.insert("isHidden", IsHiddenRole);
         roles.insert("isExpanded", IsExpandedRole);
         roles.insert("isExpandable", IsExpandableRole);
         roles.insert("expandedParentsCount", ExpandedParentsCountRole);
         roles.insert("isExpanded", IsExpandedRole);
         roles.insert("isExpandable", IsExpandableRole);
         roles.insert("expandedParentsCount", ExpandedParentsCountRole);
@@ -1498,6 +1500,7 @@ QByteArray KFileItemModel::roleForType(RoleType roleType) const
         // with KFileItemModel::typeForRole() in case if a change is done).
         roles.insert(IsDirRole, "isDir");
         roles.insert(IsLinkRole, "isLink");
         // with KFileItemModel::typeForRole() in case if a change is done).
         roles.insert(IsDirRole, "isDir");
         roles.insert(IsLinkRole, "isLink");
+        roles.insert(IsHiddenRole, "isHidden");
         roles.insert(IsExpandedRole, "isExpanded");
         roles.insert(IsExpandableRole, "isExpandable");
         roles.insert(ExpandedParentsCountRole, "expandedParentsCount");
         roles.insert(IsExpandedRole, "isExpanded");
         roles.insert(IsExpandableRole, "isExpandable");
         roles.insert(ExpandedParentsCountRole, "expandedParentsCount");
@@ -1525,6 +1528,10 @@ QHash<QByteArray, QVariant> KFileItemModel::retrieveData(const KFileItem& item,
         data.insert(sharedValue("isLink"), true);
     }
 
         data.insert(sharedValue("isLink"), true);
     }
 
+    if (m_requestRole[IsHiddenRole] && item.isHidden()) {
+        data.insert(sharedValue("isHidden"), true);
+    }
+
     if (m_requestRole[NameRole]) {
         data.insert(sharedValue("text"), item.text());
     }
     if (m_requestRole[NameRole]) {
         data.insert(sharedValue("text"), item.text());
     }
index dc5746a8916f1048809c477c50ac5ef3d84e5171..9814ae55d2547de7dac0e18b63aea0ce5db51cb8 100644 (file)
@@ -287,7 +287,7 @@ private:
         WordCountRole, TitleRole, LineCountRole, ArtistRole, AlbumRole, DurationRole, TrackRole,
         OriginUrlRole,
         // Non-visible roles:
         WordCountRole, TitleRole, LineCountRole, ArtistRole, AlbumRole, DurationRole, TrackRole,
         OriginUrlRole,
         // Non-visible roles:
-        IsDirRole, IsLinkRole, IsExpandedRole, IsExpandableRole, ExpandedParentsCountRole,
+        IsDirRole, IsLinkRole, IsHiddenRole, IsExpandedRole, IsExpandableRole, ExpandedParentsCountRole,
         // Mandatory last entry:
         RolesCount
     };
         // Mandatory last entry:
         RolesCount
     };