- if (showMultipleSelectionInfo()) {
- if (m_metaDataWidget != 0) {
- KUrl::List urls;
- foreach (const KFileItem& item, m_selection) {
- urls.append(item.targetUrl());
- }
- m_metaDataWidget->setFiles(urls);
- }
-
- quint64 totalSize = 0;
- foreach (const KFileItem& item, m_selection) {
- // Only count the size of files, not dirs to match what
- // DolphinViewContainer::selectionStatusBarText() does.
- if (!item.isDir() && !item.isLink()) {
- totalSize += item.size();
- }
- }
- m_metaTextLabel->add(i18nc("@label", "Total size:"), KIO::convertSize(totalSize));
- } else {
- const KFileItem item = fileItem();
- if (item.isDir()) {
- m_metaTextLabel->add(i18nc("@label", "Type:"), i18nc("@label", "Folder"));
- m_metaTextLabel->add(i18nc("@label", "Modified:"), item.timeString());
- } else {
- m_metaTextLabel->add(i18nc("@label", "Type:"), item.mimeComment());
-
- m_metaTextLabel->add(i18nc("@label", "Size:"), KIO::convertSize(item.size()));
- m_metaTextLabel->add(i18nc("@label", "Modified:"), item.timeString());
-
-#ifdef HAVE_NEPOMUK
- Nepomuk::Resource res(item.url());
-
- QHash<QUrl, Nepomuk::Variant> properties = res.properties();
- QHash<QUrl, Nepomuk::Variant>::const_iterator it = properties.constBegin();
- while (it != properties.constEnd()) {
- Nepomuk::Types::Property prop(it.key());
- // TODO: use Nepomuk::formatValue(res, prop) if available
- // instead of it.value().toString()
- m_metaTextLabel->add(prop.label(), it.value().toString());
- ++it;
- }
-#endif
- }
-
- if (m_metaDataWidget != 0) {
- m_metaDataWidget->setFile(item.targetUrl());
- }
-
- if (Phonon::BackendCapabilities::isMimeTypeAvailable(item.mimetype())) {
- if (m_phononWidget == 0) {
- m_phononWidget = new PhononWidget(this);
-
- QVBoxLayout* vBoxLayout = qobject_cast<QVBoxLayout*>(layout());
- Q_ASSERT(vBoxLayout != 0);
- vBoxLayout->insertWidget(3, m_phononWidget);
- }
- m_phononWidget->setUrl(item.url());
- } else {
- delete m_phononWidget;
- m_phononWidget = 0;
- }
- }
-}
-
-KFileItem InformationPanel::fileItem() const
-{
- if (!m_fileItem.isNull()) {
- return m_fileItem;
- }
-
- if (!m_selection.isEmpty()) {
- Q_ASSERT(m_selection.count() == 1);
- return m_selection.first();
- }
-
- // no item is hovered and no selection has been done: provide
- // an item for the directory represented by m_shownUrl
- KFileItem item(KFileItem::Unknown, KFileItem::Unknown, m_shownUrl);
- item.refresh();
- return item;
-}