diff --git a/containments/desktop/package/contents/ui/FolderItemDelegate.qml b/containments/desktop/package/contents/ui/FolderItemDelegate.qml --- a/containments/desktop/package/contents/ui/FolderItemDelegate.qml +++ b/containments/desktop/package/contents/ui/FolderItemDelegate.qml @@ -263,7 +263,17 @@ width: root.useListViewMode ? main.GridView.view.iconSize : (parent.width - 2 * units.smallSpacing) height: main.GridView.view.iconSize - opacity: root.useListViewMode && selectionButton ? 0.3 : 1.0 + opacity: { + if (root.useListViewMode && selectionButton) { + return 0.3; + } + + if (model.isHidden) { + return 0.6; + } + + return 1.0; + } animated: false usesPlasmaTheme: false @@ -323,6 +333,8 @@ color: (frameLoader.textShadow && frameLoader.textShadow.visible ? "#fff" : PlasmaCore.ColorScope.textColor) + opacity: model.isHidden ? 0.6 : 1 + text: model.blank ? "" : model.display font.italic: model.isLink @@ -435,6 +447,8 @@ color: "black" + opacity: model.isHidden ? 0.6 : 1 + source: label visible: editor.targetItem != main diff --git a/containments/desktop/plugins/folder/foldermodel.h b/containments/desktop/plugins/folder/foldermodel.h --- a/containments/desktop/plugins/folder/foldermodel.h +++ b/containments/desktop/plugins/folder/foldermodel.h @@ -99,6 +99,7 @@ SelectedRole, IsDirRole, IsLinkRole, + IsHiddenRole, UrlRole, LinkDestinationUrl, SizeRole, diff --git a/containments/desktop/plugins/folder/foldermodel.cpp b/containments/desktop/plugins/folder/foldermodel.cpp --- a/containments/desktop/plugins/folder/foldermodel.cpp +++ b/containments/desktop/plugins/folder/foldermodel.cpp @@ -165,6 +165,7 @@ roleNames[SelectedRole] = "selected"; roleNames[IsDirRole] = "isDir"; roleNames[IsLinkRole] = "isLink"; + roleNames[IsHiddenRole] = "isHidden"; roleNames[UrlRole] = "url"; roleNames[LinkDestinationUrl] = "linkDestinationUrl"; roleNames[SizeRole] = "size"; @@ -1043,6 +1044,9 @@ } else if (role == IsLinkRole) { const KFileItem item = itemForIndex(index); return item.isLink(); + } else if (role == IsHiddenRole) { + const KFileItem item = itemForIndex(index); + return item.isHidden(); } else if (role == UrlRole) { return itemForIndex(index).url(); } else if (role == LinkDestinationUrl) {