From: Sebastian Trueg Date: Sat, 21 Nov 2009 09:33:37 +0000 (+0000) Subject: Simplified the clickable resource metadata display. This also fixes a bug where somet... X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/ccd9a32988576784f77f63539b48745843ac52ba Simplified the clickable resource metadata display. This also fixes a bug where sometimes resources are not displayed at all svn path=/trunk/KDE/kdebase/apps/; revision=1052237 --- diff --git a/src/panels/information/kloadmetadatathread.cpp b/src/panels/information/kloadmetadatathread.cpp index b942c2038..fa1f3e1e9 100644 --- a/src/panels/information/kloadmetadatathread.cpp +++ b/src/panels/information/kloadmetadatathread.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include @@ -100,11 +101,7 @@ void KLoadMetaDataThread::run() Item item; item.name = prop.name(); item.label = tunedLabel(prop.label()); - if (it.value().isResource() || it.value().isResourceList()) { - item.resources = it.value().toResourceList(); - } else { - item.value = formatValue(it.value()); - } + item.value = formatValue(it.value()); m_items.append(item); } ++it; @@ -168,14 +165,14 @@ QString KLoadMetaDataThread::formatValue(const Nepomuk::Variant& value) { if (value.isDateTime()) { return KGlobal::locale()->formatDateTime(value.toDateTime(), KLocale::FancyLongDate); - } else if (value.isResource()) { - return value.toResource().genericLabel(); - } else if (value.isResourceList()) { - QStringList list; + } else if (value.isResource() || value.isResourceList()) { + QStringList links; foreach(const Nepomuk::Resource& res, value.toResourceList()) { - list << res.genericLabel(); + links << QString::fromLatin1("%2") + .arg(KUrl(res.resourceUri()).url()) + .arg(res.genericLabel()); } - return list.join(QLatin1String(";\n")); + return QLatin1String("

") + links.join(QLatin1String(";\n")); } else { return value.toString(); } diff --git a/src/panels/information/kloadmetadatathread_p.h b/src/panels/information/kloadmetadatathread_p.h index 885e975fc..08e4b0855 100644 --- a/src/panels/information/kloadmetadatathread_p.h +++ b/src/panels/information/kloadmetadatathread_p.h @@ -42,7 +42,6 @@ public: QString name; QString label; QString value; - QList resources; }; KLoadMetaDataThread(); diff --git a/src/panels/information/kmetadatawidget.cpp b/src/panels/information/kmetadatawidget.cpp index 7e99c45ff..7109fd282 100644 --- a/src/panels/information/kmetadatawidget.cpp +++ b/src/panels/information/kmetadatawidget.cpp @@ -108,12 +108,6 @@ public: * Merges items like 'width' and 'height' as one item. */ QList mergedItems(const QList& items); - - /** - * Returns a (clickable) text for the given item, that can be used for - * the information value widget. - */ - QString labelText(const KLoadMetaDataThread::Item& item) const; #endif bool m_sizeVisible; @@ -372,7 +366,7 @@ void KMetaDataWidget::Private::slotLoadingFinished() } else { // create new row QLabel* infoLabel = new QLabel(item.label, q); - QLabel* infoValue = new QLabel(labelText(item), q); + QLabel* infoValue = new QLabel(item.value, q); connect(infoValue, SIGNAL(linkActivated(QString)), q, SLOT(slotLinkActivated(QString))); addRow(infoLabel, infoValue); @@ -503,21 +497,6 @@ QList return mergedItems; } - -QString KMetaDataWidget::Private::labelText(const KLoadMetaDataThread::Item& item) const -{ - if (item.resources.isEmpty()) { - return item.value; - } - - QStringList links; - foreach(const Nepomuk::Resource& res, item.resources) { - links << QString::fromLatin1("%2") - .arg(KUrl(res.resourceUri()).url()) - .arg(res.genericLabel()); - } - return QLatin1String("

") + links.join(QLatin1String(";\n")); -} #endif KMetaDataWidget::KMetaDataWidget(QWidget* parent) :