[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [plasma-mediacenter] /: Use Nepomuk directly instead of PA metadatamodels in Music. Fast :)
From:       Shantanu Tushar <shaan7in () gmail ! com>
Date:       2012-07-15 13:40:07
Message-ID: 20120715134007.92823A6094 () git ! kde ! org
[Download RAW message or body]

Git commit def0aa2521ce3b9170907c5ec078b084375fccfb by Shantanu Tushar.
Committed on 15/07/2012 at 15:36.
Pushed by shantanu into branch 'master'.

Use Nepomuk directly instead of PA metadatamodels in Music. Fast :)

M  +48   -99   browsingbackends/metadatabackends/metadatamusicbackend/metadatamusicbackend.cpp
 M  +22   -38   browsingbackends/metadatabackends/metadatamusicbackend/metadatamusicbackend.h
 M  +2    -1    browsingbackends/metadatabackends/metadatamusicbackend/metadatamusiccomponents/CategoriesDelegate.qml
 M  +30   -9    browsingbackends/metadatabackends/metadatamusicbackend/metadatamusiccomponents/MediaBrowser.qml
 M  +33   -25   browsingbackends/metadatabackends/metadatamusicbackend/nepomukmusicmodel.cpp
 M  +13   -10   browsingbackends/metadatabackends/metadatamusicbackend/nepomukmusicmodel.h
 M  +1    -0    libs/mediacenter/mediacenter.cpp
M  +3    -1    libs/mediacenter/mediacenter.h

http://commits.kde.org/plasma-mediacenter/def0aa2521ce3b9170907c5ec078b084375fccfb

diff --git a/browsingbackends/metadatabackends/metadatamusicbackend/metadatamusicbackend.cpp \
b/browsingbackends/metadatabackends/metadatamusicbackend/metadatamusicbackend.cpp \
                index 94001bd..5d93741 100644
--- a/browsingbackends/metadatabackends/metadatamusicbackend/metadatamusicbackend.cpp
+++ b/browsingbackends/metadatabackends/metadatamusicbackend/metadatamusicbackend.cpp
@@ -25,61 +25,34 @@
 #include "metadatamusicmodel.h"
 #include "nepomukmusicmodel.h"
 
-#include "categoriesmodel.h"
 #include "nepomukmusicmodel.h"
 #include <nepomuk/nmm.h>
+#include <nepomuk/nfo.h>
+#include <nepomuk/andterm.h>
+#include <nepomuk/comparisonterm.h>
+#include <nepomuk/resourcetypeterm.h>
+#include <nepomuk/resourceterm.h>
 
 MEDIACENTER_EXPORT_BROWSINGBACKEND(MetadataMusicBackend)
 
 MetadataMusicBackend::MetadataMusicBackend(QObject* parent, const QVariantList& \
args)  : AbstractMetadataBackend(parent, args),
-    m_categoriesModel(new CategoriesModel(this)),
     m_nepomukModel(new NepomukMusicModel(this)),
     m_metadataMusicModel(0),
-    m_currentCategory(Category::AllMusic),
-    m_level1Visible(true),
-    m_level2Visible(false),
-    m_level3Visible(false)
+    m_albumsModel(new NepomukMusicModel(this)),
+    m_artistsModel(new NepomukMusicModel(this)),
+    m_musicModel(new NepomukMusicModel(this))
 {
+    m_albumsModel->setResourceType(Nepomuk::Vocabulary::NMM::musicAlbum(), \
"tools-media-optical-copy"); +    \
m_artistsModel->setResourceType(Nepomuk::Vocabulary::NMM::performer(), \
"user-identity"); +    \
m_musicModel->setResourceType(Nepomuk::Vocabulary::NFO::Audio(), "amarok"); +    emit \
musicModelChanged();  }
 
 MetadataMusicBackend::~MetadataMusicBackend()
 {
 }
 
-void MetadataMusicBackend::setCategory (int index)
-{
-    m_currentCategory = m_categoriesModel->categoryTypeForIndex(index);
-    switch (m_currentCategory) {
-    case Category::AllMusic:
-        showAllMusic();
-        break;
-    case Category::Artists:
-        showArtists();
-        break;
-    case Category::Albums:
-        showAlbums();
-        break;
-    }
-}
-
-void MetadataMusicBackend::setSubCategory (int index)
-{
-    QString currentItemLabel = m_nepomukModel->data(m_nepomukModel->index(index, 0), \
                Qt::DisplayRole).toString();
-    switch (m_currentCategory) {
-    case Category::AllMusic:
-        break;
-    case Category::Artists:
-        m_artistName = currentItemLabel;
-        showMusicForArtist();
-        break;
-    case Category::Albums:
-        m_albumName = currentItemLabel;
-        showMusicForAlbum();
-        break;
-    }
-}
-
 void MetadataMusicBackend::init()
 {
     AbstractMetadataBackend::init();
@@ -88,96 +61,72 @@ void MetadataMusicBackend::init()
     }
 }
 
-void MetadataMusicBackend::showAllMusic()
-{
-    m_metadataMusicModel->setAlbumName("");
-    m_metadataMusicModel->setArtistName("");
-    m_metadataMusicModel->updateModel();
-
-    m_level2Visible = false;
-    emit level2VisibleChanged();
-    m_level3Visible = true;
-    emit level3VisibleChanged();
-}
-
-void MetadataMusicBackend::showAlbums()
+QString MetadataMusicBackend::mediaBrowserOverride() const
 {
-    m_nepomukModel->setTerm(Nepomuk::Vocabulary::NMM::musicAlbum(), \
                "tools-media-optical-copy");
-
-    m_level2Visible = true;
-    emit level2VisibleChanged();
-    m_level3Visible = false;
-    emit level3VisibleChanged();
+    return constructQmlSource("metadatamusiccomponents", "0.1", "MediaBrowser");
 }
 
-void MetadataMusicBackend::showArtists()
+bool MetadataMusicBackend::supportsSearch() const
 {
-    m_nepomukModel->setTerm(Nepomuk::Vocabulary::NMM::performer(), "user-identity");
-
-    m_level2Visible = true;
-    emit level2VisibleChanged();
-    m_level3Visible = false;
-    emit level3VisibleChanged();
+    return false;
 }
 
-void MetadataMusicBackend::showMusicForAlbum()
+QObject* MetadataMusicBackend::albumsModel() const
 {
-    m_metadataMusicModel->setArtistName("");
-    m_metadataMusicModel->setAlbumName(m_albumName);
-    m_metadataMusicModel->updateModel();
-
-    m_level3Visible = true;
-    emit level3VisibleChanged();
+    return m_albumsModel;
 }
 
-void MetadataMusicBackend::showMusicForArtist()
+QObject* MetadataMusicBackend::artistsModel() const
 {
-    m_metadataMusicModel->setArtistName(m_artistName);
-    m_metadataMusicModel->setAlbumName("");
-    m_metadataMusicModel->updateModel();
-
-    m_level3Visible = true;
-    emit level3VisibleChanged();
+    return m_artistsModel;
 }
 
-QString MetadataMusicBackend::mediaBrowserOverride() const
+QString MetadataMusicBackend::albumFilter() const
 {
-    return constructQmlSource("metadatamusiccomponents", "0.1", "MediaBrowser");
+    return m_albumFilter;
 }
 
-QObject* MetadataMusicBackend::level1Model() const
+QString MetadataMusicBackend::artistFilter() const
 {
-    return m_categoriesModel;
+    return m_artistFilter;
 }
 
-QObject* MetadataMusicBackend::level2Model() const
+void MetadataMusicBackend::setAlbumFilter(const QString& filter)
 {
-    return m_nepomukModel;
+    m_albumFilter = filter;
+    emit albumFilterChanged();
+    m_artistFilter.clear();
+    emit artistFilterChanged();
+    updateModelAccordingToFilters();
 }
 
-QObject* MetadataMusicBackend::level3Model() const
+void MetadataMusicBackend::setArtistFilter(const QString& filter)
 {
-    return m_metadataMusicModel;
+    m_artistFilter = filter;
+    emit artistFilterChanged();
+    m_albumFilter.clear();
+    emit albumFilterChanged();
+    updateModelAccordingToFilters();
 }
 
-bool MetadataMusicBackend::level1Visible() const
+void MetadataMusicBackend::updateModelAccordingToFilters()
 {
-    return m_level1Visible;
-}
+    QList<Nepomuk::Query::Term> termsList;
+    termsList.append(Nepomuk::Query::ResourceTypeTerm(Nepomuk::Vocabulary::NFO::Audio()));
  
-bool MetadataMusicBackend::level2Visible() const
-{
-    return m_level2Visible;
-}
+    if (!m_albumFilter.isEmpty()) {
+        termsList.append(Nepomuk::Query::ComparisonTerm(Nepomuk::Vocabulary::NMM::musicAlbum(), \
Nepomuk::Query::ResourceTerm(m_albumFilter))); +    }
+    if (!m_artistFilter.isEmpty()) {
+        termsList.append(Nepomuk::Query::ComparisonTerm(Nepomuk::Vocabulary::NMM::performer(), \
Nepomuk::Query::ResourceTerm(m_artistFilter))); +    }
 
-bool MetadataMusicBackend::level3Visible() const
-{
-    return m_level3Visible;
+    m_musicModel->setTerm(Nepomuk::Query::AndTerm(termsList), "amarok");
 }
 
-bool MetadataMusicBackend::supportsSearch() const
+QObject* MetadataMusicBackend::musicModel() const
 {
-    return false;
+    return m_musicModel;
 }
 
 #include "metadatamusicbackend.moc"
diff --git a/browsingbackends/metadatabackends/metadatamusicbackend/metadatamusicbackend.h \
b/browsingbackends/metadatabackends/metadatamusicbackend/metadatamusicbackend.h index \
                442468d..a357483 100644
--- a/browsingbackends/metadatabackends/metadatamusicbackend/metadatamusicbackend.h
+++ b/browsingbackends/metadatabackends/metadatamusicbackend/metadatamusicbackend.h
@@ -35,9 +35,9 @@ class MetadataMusicModel;
 class MetadataMusicBackend : public AbstractMetadataBackend
 {
     Q_OBJECT
-    Q_PROPERTY(bool level1Visible READ level1Visible NOTIFY level1VisibleChanged)
-    Q_PROPERTY(bool level2Visible READ level2Visible NOTIFY level2VisibleChanged)
-    Q_PROPERTY(bool level3Visible READ level3Visible NOTIFY level3VisibleChanged)
+    Q_PROPERTY(QString artistFilter READ artistFilter WRITE setArtistFilter NOTIFY \
artistFilterChanged) +    Q_PROPERTY(QString albumFilter READ albumFilter WRITE \
setAlbumFilter NOTIFY albumFilterChanged) +    Q_PROPERTY(QObject* musicModel READ \
musicModel NOTIFY musicModelChanged)  
 public:
     MetadataMusicBackend (QObject* parent, const QVariantList& args);
@@ -47,51 +47,35 @@ public:
 
     virtual QString mediaBrowserOverride() const;
 
-    Q_INVOKABLE QObject *level1Model() const;
-    Q_INVOKABLE QObject *level2Model() const;
-    Q_INVOKABLE QObject *level3Model() const;
+    Q_INVOKABLE QObject *artistsModel() const;
+    Q_INVOKABLE QObject *albumsModel() const;
+    QObject *musicModel() const;
 
-    Q_INVOKABLE void setCategory(int index);
-    Q_INVOKABLE void setSubCategory(int index);
-
-    bool level1Visible() const;
-    bool level2Visible() const;
-    bool level3Visible() const;
     bool supportsSearch() const;
 
-private Q_SLOTS:
-    void showAllMusic();
-    void showArtists();
-    void showAlbums();
-    void showMusicForArtist();
-    void showMusicForAlbum();
+    QString artistFilter() const;
+    QString albumFilter() const;
+
+    void setArtistFilter(const QString &filter);
+    void setAlbumFilter(const QString &filter);
 
 Q_SIGNALS:
-    void currentStateCategories();
-    void currentStateAllMusic();
-    void currentStateArtists();
-    void currentStateAlbums();
-    void currentStateMusicForArtist();
-    void currentStateMusicForAlbum();
-    void backRequested();
-
-    void level1VisibleChanged();
-    void level2VisibleChanged();
-    void level3VisibleChanged();
+    void artistFilterChanged();
+    void albumFilterChanged();
+    void musicModelChanged();
 
-private:
-    QString m_artistName;
-    QString m_albumName;
+protected:
+    void updateModelAccordingToFilters();
 
-    CategoriesModel *m_categoriesModel;
+private:
     NepomukMusicModel *m_nepomukModel;
+    NepomukMusicModel* m_artistsModel;
+    NepomukMusicModel* m_albumsModel;
+    NepomukMusicModel* m_musicModel;
     MetadataMusicModel *m_metadataMusicModel;
 
-    Category::CategoryType m_currentCategory;
-
-    bool m_level1Visible;
-    bool m_level2Visible;
-    bool m_level3Visible;
+    QString m_artistFilter;
+    QString m_albumFilter;
 };
 
 #endif // METADATAMUSICBACKEND_H
diff --git a/browsingbackends/metadatabackends/metadatamusicbackend/metadatamusiccomponents/CategoriesDelegate.qml \
b/browsingbackends/metadatabackends/metadatamusicbackend/metadatamusiccomponents/CategoriesDelegate.qml
 index e8cf713..3ba8fe6 100644
--- a/browsingbackends/metadatabackends/metadatamusicbackend/metadatamusiccomponents/CategoriesDelegate.qml
                
+++ b/browsingbackends/metadatabackends/metadatamusicbackend/metadatamusiccomponents/CategoriesDelegate.qml
 @@ -21,8 +21,9 @@ import QtQuick 1.1
 import org.kde.plasma.components 0.1 as PlasmaComponents
 
 PlasmaComponents.Button {
+    property string categoryName: ""
     text: display
     iconSource: decoration
 
-    onClicked: backend.setCategory(index)
+    onClicked: categoryName == "album" ? backend.albumFilter = resourceId : \
backend.artistFilter = resourceId  }
diff --git a/browsingbackends/metadatabackends/metadatamusicbackend/metadatamusiccomponents/MediaBrowser.qml \
b/browsingbackends/metadatabackends/metadatamusicbackend/metadatamusiccomponents/MediaBrowser.qml
 index e68c1f7..51e0343 100644
--- a/browsingbackends/metadatabackends/metadatamusicbackend/metadatamusiccomponents/MediaBrowser.qml
                
+++ b/browsingbackends/metadatabackends/metadatamusicbackend/metadatamusiccomponents/MediaBrowser.qml
 @@ -18,6 +18,7 @@
  ***************************************************************************/
 
 import QtQuick 1.1
+import org.kde.plasma.components 0.1 as PlasmaComponents
 
 Row {
     id: rootRow
@@ -29,26 +30,46 @@ Row {
 
     ListView {
         width: parent.width/3 * 0.9; height: parent.height
-        model: backend.level1Model();
-        delegate: CategoriesDelegate { width: parent.width; height: 96 }
+        model: backend.artistsModel();
+        header: PlasmaComponents.Label {
+            text: "Artists"; width: parent.width; height: 96
+            horizontalAlignment: Text.AlignHCenter
+            verticalAlignment: Text.AlignVCenter
+            font.pointSize: 14
+            color: "white"
+        }
+        delegate: CategoriesDelegate { width: parent.width; height: 96; \
categoryName: "artist" }  spacing: 5
-        visible: backend.level1Visible
+        snapMode: ListView.SnapToItem
     }
 
     ListView {
         width: parent.width/3; height: parent.height
-        model: backend.level2Model();
-        delegate: FilteringDelegate { width: parent.width; height: 64 }
+        model: backend.albumsModel();
+        header: PlasmaComponents.Label {
+            text: "Albums"; width: parent.width; height: 96
+            horizontalAlignment: Text.AlignHCenter
+            verticalAlignment: Text.AlignVCenter
+            font.pointSize: 14
+            color: "white"
+        }
+        delegate: CategoriesDelegate { width: parent.width; height: 96; \
categoryName: "album" }  spacing: 5
-        visible: backend.level2Visible
+        snapMode: ListView.SnapToItem
     }
 
     ListView {
-        width: parent.width/3 * (backend.level2Visible ? 1 : 2) ; height: \
                parent.height
-        model: backend.level3Model();
+        width: parent.width/3 ; height: parent.height
+        model: backend.musicModel
+        header: PlasmaComponents.Label {
+            text: "Songs"; width: parent.width; height: 96
+            horizontalAlignment: Text.AlignHCenter
+            verticalAlignment: Text.AlignVCenter
+            font.pointSize: 14
+            color: "white"
+        }
         delegate: MusicDelegate { width: parent.width; height: 64 }
         spacing: 5
-        visible: backend.level3Visible
         highlight: MediaItemHighlight { z: 1 }
         highlightFollowsCurrentItem: true
     }
diff --git a/browsingbackends/metadatabackends/metadatamusicbackend/nepomukmusicmodel.cpp \
b/browsingbackends/metadatabackends/metadatamusicbackend/nepomukmusicmodel.cpp index \
                9639bf8..d4f7449 100644
--- a/browsingbackends/metadatabackends/metadatamusicbackend/nepomukmusicmodel.cpp
+++ b/browsingbackends/metadatabackends/metadatamusicbackend/nepomukmusicmodel.cpp
@@ -37,33 +37,49 @@
 #include <mediacenter/mediacenter.h>
 
 
-NepomukMusicModel::NepomukMusicModel(QObject* parent): QAbstractItemModel(parent)
+NepomukMusicModel::NepomukMusicModel(QObject* parent): QAbstractListModel(parent)
 {
     setRoleNames(MediaCenter::appendAdditionalMediaRoles(roleNames()));
 }
 
-void NepomukMusicModel::setTerm(Nepomuk::Types::Property term, const QString \
&iconName) +void NepomukMusicModel::setTerm(Nepomuk::Query::Term term, const QString \
&iconName)  {
     m_icon = iconName;
+    m_term = term;
+    updateModel();
+}
 
+void NepomukMusicModel::updateModel()
+{
     Nepomuk::Query::Query myQuery;
-    Nepomuk::Query::ComparisonTerm ct(term, Nepomuk::Query::Term());
-    ct.setInverted(true);
     Nepomuk::Query::QueryServiceClient *queryClient = new \
Nepomuk::Query::QueryServiceClient(this); +
     connect(queryClient, SIGNAL(newEntries(QList<Nepomuk::Query::Result>)),
             this, SLOT(newEntries(QList<Nepomuk::Query::Result>)));
+    connect(queryClient, \
SIGNAL(entriesRemoved(QList<QUrl>)),SLOT(entriesRemoved(QList<QUrl>)));  \
                connect(queryClient, SIGNAL(error(QString)), SLOT(error(QString)));
     connect(queryClient, SIGNAL(finishedListing()), this, SLOT(finishedListing()));
-    myQuery.setTerm(ct);
+
+    myQuery.setTerm(m_term);
     kDebug()<< "Sparql query:"<< myQuery.toSparqlQuery();
+
     m_queryResults.clear();
     reset();
+
     queryClient->query(myQuery);
 }
 
-QVariant NepomukMusicModel::data(const QModelIndex& index, int role) const
+void NepomukMusicModel::setResourceType(Nepomuk::Types::Property property, const \
QString &iconName)  {
+    Nepomuk::Query::ComparisonTerm ct(property, Nepomuk::Query::Term());
+    ct.setInverted(true);
+    m_term = ct;
+    m_icon = iconName;
+    updateModel();
+}
 
+QVariant NepomukMusicModel::data(const QModelIndex& index, int role) const
+{
     switch(role) {
     case Qt::DecorationRole:
         return m_icon;
@@ -71,40 +87,32 @@ QVariant NepomukMusicModel::data(const QModelIndex& index, int \
role) const  return m_queryResults.at(index.row()).resource().genericLabel();
     case MediaCenter::IsExpandableRole:
         return true;
+    case MediaCenter::ResourceIdRole:
+        return m_queryResults.at(index.row()).resource().resourceUri();
+    case MediaCenter::MediaTypeRole:
+        return "audio";
+    case MediaCenter::MediaUrlRole:
+        return m_queryResults.at(index.row()).resource().property(Nepomuk::Vocabulary::NIE::url()).toString();
  }
 
     return QVariant();
 }
 
-int NepomukMusicModel::columnCount(const QModelIndex& parent) const
-{
-
-    return 1;
-}
-
 int NepomukMusicModel::rowCount(const QModelIndex& parent) const
 {
-
     return m_queryResults.size();
 }
 
-QModelIndex NepomukMusicModel::parent(const QModelIndex& child) const
+void NepomukMusicModel::newEntries(const QList< Nepomuk::Query::Result >& entries)
 {
-
-    return QModelIndex();
+    Q_FOREACH (const Nepomuk::Query::Result &res, entries) {
+        m_queryResults.append(res);
+    }
 }
 
-QModelIndex NepomukMusicModel::index(int row, int column, const QModelIndex& parent) \
const +void NepomukMusicModel::entriesRemoved(QList< QUrl > entries)
 {
 
-    return createIndex(row,column);
-}
-
-void NepomukMusicModel::newEntries(const QList< Nepomuk::Query::Result >& entries)
-{
-      Q_FOREACH (const Nepomuk::Query::Result &res, entries) {
-        m_queryResults.append(res);
-    }
 }
 
 void NepomukMusicModel::finishedListing()
diff --git a/browsingbackends/metadatabackends/metadatamusicbackend/nepomukmusicmodel.h \
b/browsingbackends/metadatabackends/metadatamusicbackend/nepomukmusicmodel.h index \
                7296c43..1ba77e7 100644
--- a/browsingbackends/metadatabackends/metadatamusicbackend/nepomukmusicmodel.h
+++ b/browsingbackends/metadatabackends/metadatamusicbackend/nepomukmusicmodel.h
@@ -1,5 +1,6 @@
 /***************************************************************************
  *   Copyright 2011 Sinny Kumari <ksinny@gmail.com>                        *
+ *   Copyright 2012 Shantanu Tushar <shaan7in@gmail.com>                   *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
  *   it under the terms of the GNU General Public License as published by  *
@@ -20,29 +21,31 @@
 #ifndef NEPOMUKMUSICMODEL_H
 #define NEPOMUKMUSICMODEL_H
 
-#include <QAbstractItemModel>
+#include <QAbstractListModel>
 #include <Nepomuk/Query/Result>
 #include <Nepomuk/Types/Property>
+#include <nepomuk/term.h>
 
-class NepomukMusicModel : public QAbstractItemModel
+class NepomukMusicModel : public QAbstractListModel
 {
-
     Q_OBJECT
-    protected Q_SLOTS:
-    void newEntries(const QList< Nepomuk::Query::Result > &entries);
-    void finishedListing();
 public:
     explicit NepomukMusicModel(QObject* parent = 0);
     virtual QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) \
                const;
-    virtual int columnCount(const QModelIndex& parent = QModelIndex()) const;
     virtual int rowCount(const QModelIndex& parent = QModelIndex()) const;
-    virtual QModelIndex parent(const QModelIndex& child) const;
-    virtual QModelIndex index(int row, int column, const QModelIndex& parent = \
                QModelIndex()) const;
-    void setTerm(Nepomuk::Types::Property term, const QString& iconName);
+    void setTerm(Nepomuk::Query::Term term, const QString& iconName);
+    void setResourceType(Nepomuk::Types::Property property, const QString& \
iconName); +
+protected Q_SLOTS:
+    void newEntries(const QList< Nepomuk::Query::Result > &entries);
+    void entriesRemoved(QList< QUrl > entries);
+    void finishedListing();
+    void updateModel();
 
 private:
     QString m_icon;
     QList< Nepomuk::Query::Result > m_queryResults;
+    Nepomuk::Query::Term m_term;
 };
 
 #endif // NEPOMUKMUSICMODEL_H
diff --git a/libs/mediacenter/mediacenter.cpp b/libs/mediacenter/mediacenter.cpp
index a960435..510bba6 100644
--- a/libs/mediacenter/mediacenter.cpp
+++ b/libs/mediacenter/mediacenter.cpp
@@ -100,6 +100,7 @@ QHash<int, QByteArray> appendAdditionalMediaRoles (const \
QHash<int, QByteArray>  newRoles[MediaTypeRole] = "mediaType";
     newRoles[DecorationTypeRole] = "decorationType";
     newRoles[HideLabelRole] = "hideLabel";
+    newRoles[ResourceIdRole] = "resourceId";
     return newRoles;
 }
 
diff --git a/libs/mediacenter/mediacenter.h b/libs/mediacenter/mediacenter.h
index 3b707d4..8bb48c3 100644
--- a/libs/mediacenter/mediacenter.h
+++ b/libs/mediacenter/mediacenter.h
@@ -16,6 +16,7 @@
  *   Free Software Foundation, Inc.,                                       *
  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA .        *
  ***************************************************************************/
+
 #ifndef MEDIACENTER_H
 #define MEDIACENTER_H
 
@@ -35,7 +36,8 @@ enum AdditionalMediaRoles {
     IsExpandableRole,
     MediaTypeRole,
     DecorationTypeRole,
-    HideLabelRole
+    HideLabelRole,
+    ResourceIdRole
 };
 
 enum MediaType {


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic