- const KFileItemList items = m_metaDataWidget->items();
- if (items.count() != 1) {
- // TODO: handle als usecases for more than one item:
- return;
- }
-
- Nepomuk::Resource res(items.first().nepomukUri());
- QHash<QUrl, Nepomuk::Variant> properties = res.properties();
- if (properties.isEmpty()) {
- // the file is not indexed or Nepomuk is disabled
- KFileMetaInfo metaInfo(items.first().url());
- const QHash<QString, KFileMetaInfoItem> metaInfoItems = metaInfo.items();
- foreach (const KFileMetaInfoItem& metaInfoItem, metaInfoItems) {
- addItem(metaInfoItem.name());
- }
-
- } else {
- // show meta information provided by Nepomuk
- QHash<QUrl, Nepomuk::Variant>::const_iterator it = properties.constBegin();
- while (it != properties.constEnd()) {
- Nepomuk::Types::Property prop(it.key());
- addItem(prop.uri());
+ // Get all meta information labels that are available for
+ // the currently shown file item and add them to the list.
+ KMetaDataModel* model = m_metaDataWidget->model();
+ if (model != 0) {
+ const QHash<KUrl, Nepomuk::Variant> data = model->data();
+ QHash<KUrl, Nepomuk::Variant>::const_iterator it = data.constBegin();
+ while (it != data.constEnd()) {
+ addItem(it.key());