icon path fix
[musique.git] / collectionsmodel.cpp
blob51f7587ea97da1c48bd2f71d74b393017b259082
1 //
2 // C++ Implementation: playlistlistmodel
3 //
4 // Author: Oliver Groß <z.o.gross@gmx.de>, (C) 2008
5 //
6 // Copyright: See COPYING file that comes with this distribution
7 //
8 #include "collectionsmodel.h"
10 namespace musique {
11 using namespace XmmsQt;
13 CCollectionsModel::CCollectionsModel(XmmsQt::QMedialib * medialib, QObject * parent) : QAbstractListModel(parent),
14 m_Medialib(medialib) {
15 if (m_Medialib)
16 connect(m_Medialib, SIGNAL(playlistsReseted()), this, SIGNAL(layoutChanged()));
19 CCollectionsModel::~CCollectionsModel() {
22 QVariant CCollectionsModel::data(const QModelIndex & index, int role) const {
23 if (role == Qt::DisplayRole) {
24 QPlaylist * playlist = static_cast<QPlaylist *>(index.internalPointer());
25 if (playlist == m_Medialib->activePlaylist())
26 return playlist->identifier() + ' ' + tr("[active]");
27 else
28 return playlist->identifier();
30 else
31 return QVariant();
34 QVariant CCollectionsModel::headerData(int section, Qt::Orientation orientation, int role) const {
35 return tr("Playlists");
38 QModelIndex CCollectionsModel::index(int row, int column, const QModelIndex & parent) const {
39 if (m_Medialib && !m_Medialib->playlists().isEmpty())
40 return createIndex(row, column, m_Medialib->playlists()[m_Medialib->playlists().keys()[row]]);
41 else
42 return QModelIndex();
45 int CCollectionsModel::rowCount(const QModelIndex & parent) const {
46 if (m_Medialib && (parent == QModelIndex()))
47 return m_Medialib->playlists().count();
48 else
49 return 0;