mirror of
https://invent.kde.org/system/dolphin
synced 2024-09-17 15:31:20 +00:00
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
This commit is contained in:
parent
83e8cdf8fb
commit
ccd9a32988
|
@ -23,6 +23,7 @@
|
|||
#include <kconfiggroup.h>
|
||||
#include <kglobal.h>
|
||||
#include <klocale.h>
|
||||
#include <kdebug.h>
|
||||
|
||||
#include <nepomuk/resource.h>
|
||||
|
||||
|
@ -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("<a href=\"%1\">%2</a>")
|
||||
.arg(KUrl(res.resourceUri()).url())
|
||||
.arg(res.genericLabel());
|
||||
}
|
||||
return list.join(QLatin1String(";\n"));
|
||||
return QLatin1String("<p>") + links.join(QLatin1String(";\n"));
|
||||
} else {
|
||||
return value.toString();
|
||||
}
|
||||
|
|
|
@ -42,7 +42,6 @@ public:
|
|||
QString name;
|
||||
QString label;
|
||||
QString value;
|
||||
QList<Nepomuk::Resource> resources;
|
||||
};
|
||||
|
||||
KLoadMetaDataThread();
|
||||
|
|
|
@ -108,12 +108,6 @@ public:
|
|||
* Merges items like 'width' and 'height' as one item.
|
||||
*/
|
||||
QList<KLoadMetaDataThread::Item> mergedItems(const QList<KLoadMetaDataThread::Item>& 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<KLoadMetaDataThread::Item>
|
|||
|
||||
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("<a href=\"%1\">%2</a>")
|
||||
.arg(KUrl(res.resourceUri()).url())
|
||||
.arg(res.genericLabel());
|
||||
}
|
||||
return QLatin1String("<p>") + links.join(QLatin1String(";\n"));
|
||||
}
|
||||
#endif
|
||||
|
||||
KMetaDataWidget::KMetaDataWidget(QWidget* parent) :
|
||||
|
|
Loading…
Reference in a new issue