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
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");
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
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.
// 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);
// 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");
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());
}
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
};