┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/viewproperties.cpp
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2007-10-02 22:04:36 +0000
committerPeter Penz <[email protected]>2007-10-02 22:04:36 +0000
commit3c1c185400a55103cea3ed567de167df87b59945 (patch)
treecb795f1bb1582e9728634f31d66e1fc989a7c087 /src/viewproperties.cpp
parentba150e5735bd336752f713df1e9f66b7ed90e6ae (diff)
Allow showing additional information like type, size and date in parallel for the icons view (thanks to Fredrik for the extension of KFileItemDelegate!).
svn path=/trunk/KDE/kdebase/apps/; revision=720283
Diffstat (limited to 'src/viewproperties.cpp')
-rw-r--r--src/viewproperties.cpp36
1 files changed, 29 insertions, 7 deletions
diff --git a/src/viewproperties.cpp b/src/viewproperties.cpp
index 8dc5b8ad6..f5fdbbf3a 100644
--- a/src/viewproperties.cpp
+++ b/src/viewproperties.cpp
@@ -199,8 +199,22 @@ Qt::SortOrder ViewProperties::sortOrder() const
void ViewProperties::setAdditionalInfo(KFileItemDelegate::InformationList list)
{
- KFileItemDelegate::Information info = list.isEmpty() ?
- KFileItemDelegate::NoInformation : list.first();
+ int info = NoInfo;
+ foreach (KFileItemDelegate::Information currentInfo, list) {
+ switch (currentInfo) {
+ case KFileItemDelegate::FriendlyMimeType:
+ info = info | TypeInfo;
+ break;
+ case KFileItemDelegate::Size:
+ info = info | SizeInfo;
+ break;
+ case KFileItemDelegate::ModificationTime:
+ info = info | DateInfo;
+ break;
+ default:
+ break;
+ }
+ }
if (m_node->additionalInfo() != info) {
m_node->setAdditionalInfo(info);
@@ -210,12 +224,20 @@ void ViewProperties::setAdditionalInfo(KFileItemDelegate::InformationList list)
KFileItemDelegate::InformationList ViewProperties::additionalInfo() const
{
- KFileItemDelegate::Information info = static_cast<KFileItemDelegate::Information>(m_node->additionalInfo());
+ const int info = m_node->additionalInfo();
+
+ KFileItemDelegate::InformationList list;
+ if (info & TypeInfo) {
+ list.append(KFileItemDelegate::FriendlyMimeType);
+ }
+ if (info & SizeInfo) {
+ list.append(KFileItemDelegate::Size);
+ }
+ if (info & DateInfo) {
+ list.append(KFileItemDelegate::ModificationTime);
+ }
- if (info != KFileItemDelegate::NoInformation)
- return KFileItemDelegate::InformationList() << info;
- else
- return KFileItemDelegate::InformationList();
+ return list;
}