mirror of
https://invent.kde.org/system/dolphin
synced 2024-09-17 15:31:20 +00:00
Honor KFileItem isHidden() in view
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
This commit is contained in:
parent
58c5eae195
commit
6dcbb8127c
|
@ -396,6 +396,7 @@ void KFileItemListView::applyRolesToModel()
|
||||||
roles.insert("text");
|
roles.insert("text");
|
||||||
roles.insert("isDir");
|
roles.insert("isDir");
|
||||||
roles.insert("isLink");
|
roles.insert("isLink");
|
||||||
|
roles.insert("isHidden");
|
||||||
if (supportsItemExpanding()) {
|
if (supportsItemExpanding()) {
|
||||||
roles.insert("isExpanded");
|
roles.insert("isExpanded");
|
||||||
roles.insert("isExpandable");
|
roles.insert("isExpandable");
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -92,6 +92,7 @@ KFileItemModel::KFileItemModel(QObject* parent) :
|
||||||
m_roles.insert("text");
|
m_roles.insert("text");
|
||||||
m_roles.insert("isDir");
|
m_roles.insert("isDir");
|
||||||
m_roles.insert("isLink");
|
m_roles.insert("isLink");
|
||||||
|
m_roles.insert("isHidden");
|
||||||
|
|
||||||
// For slow KIO-slaves like used for searching it makes sense to show results periodically even
|
// 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.
|
// 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).
|
// with KFileItemModel::roleForType() in case if a change is done).
|
||||||
roles.insert("isDir", IsDirRole);
|
roles.insert("isDir", IsDirRole);
|
||||||
roles.insert("isLink", IsLinkRole);
|
roles.insert("isLink", IsLinkRole);
|
||||||
|
roles.insert("isHidden", IsHiddenRole);
|
||||||
roles.insert("isExpanded", IsExpandedRole);
|
roles.insert("isExpanded", IsExpandedRole);
|
||||||
roles.insert("isExpandable", IsExpandableRole);
|
roles.insert("isExpandable", IsExpandableRole);
|
||||||
roles.insert("expandedParentsCount", ExpandedParentsCountRole);
|
roles.insert("expandedParentsCount", ExpandedParentsCountRole);
|
||||||
|
@ -1498,6 +1500,7 @@ QByteArray KFileItemModel::roleForType(RoleType roleType) const
|
||||||
// with KFileItemModel::typeForRole() in case if a change is done).
|
// with KFileItemModel::typeForRole() in case if a change is done).
|
||||||
roles.insert(IsDirRole, "isDir");
|
roles.insert(IsDirRole, "isDir");
|
||||||
roles.insert(IsLinkRole, "isLink");
|
roles.insert(IsLinkRole, "isLink");
|
||||||
|
roles.insert(IsHiddenRole, "isHidden");
|
||||||
roles.insert(IsExpandedRole, "isExpanded");
|
roles.insert(IsExpandedRole, "isExpanded");
|
||||||
roles.insert(IsExpandableRole, "isExpandable");
|
roles.insert(IsExpandableRole, "isExpandable");
|
||||||
roles.insert(ExpandedParentsCountRole, "expandedParentsCount");
|
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]) {
|
if (m_requestRole[NameRole]) {
|
||||||
data.insert(sharedValue("text"), item.text());
|
data.insert(sharedValue("text"), item.text());
|
||||||
}
|
}
|
||||||
|
|
|
@ -287,7 +287,7 @@ private:
|
||||||
WordCountRole, TitleRole, LineCountRole, ArtistRole, AlbumRole, DurationRole, TrackRole,
|
WordCountRole, TitleRole, LineCountRole, ArtistRole, AlbumRole, DurationRole, TrackRole,
|
||||||
OriginUrlRole,
|
OriginUrlRole,
|
||||||
// Non-visible roles:
|
// Non-visible roles:
|
||||||
IsDirRole, IsLinkRole, IsExpandedRole, IsExpandableRole, ExpandedParentsCountRole,
|
IsDirRole, IsLinkRole, IsHiddenRole, IsExpandedRole, IsExpandableRole, ExpandedParentsCountRole,
|
||||||
// Mandatory last entry:
|
// Mandatory last entry:
|
||||||
RolesCount
|
RolesCount
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue