diff options
| author | Peter Penz <[email protected]> | 2007-10-02 22:04:36 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2007-10-02 22:04:36 +0000 |
| commit | 3c1c185400a55103cea3ed567de167df87b59945 (patch) | |
| tree | cb795f1bb1582e9728634f31d66e1fc989a7c087 /src/viewproperties.cpp | |
| parent | ba150e5735bd336752f713df1e9f66b7ed90e6ae (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.cpp | 36 |
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; } |
