X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=playlist.cpp;h=f6dddcd07745a0de580032eb24aafab4f2c352c7;hb=fa2405255091066e892398abfc1647603e5a33db;hp=f43a19f400218636f1d96718eeca84416bf40a95;hpb=0a9e03ef6919003a383b98bdea7b1582a67726da;p=groove diff --git a/playlist.cpp b/playlist.cpp index f43a19f..f6dddcd 100644 --- a/playlist.cpp +++ b/playlist.cpp @@ -9,19 +9,47 @@ playlist::playlist(QObject *parent) : this->currentplayingitem = -1; this->currentSkeyItem = -1; this->reply = NULL; + invalid = new QVariant(); + icon = new QVariant(QIcon(":/groove/icons/general_forward.png")); } //Implemented model class information QVariant playlist::data(const QModelIndex &index, int role) const { - QVariant dat; + playlist* play = (playlist *)index.model(); + QVariant dat = *play->invalid; if(play->existAt(index.row())) { if (!index.isValid()) - return QVariant(); + return *play->invalid; if (role == Qt::TextAlignmentRole) { return int(Qt::AlignLeft | Qt::AlignVCenter); + } else if (role == Qt::DecorationRole) { + switch(index.column()) + { + case sName: + if(play->currentplaying()==index.row()) + //dat = *play->icon; + dat = *play->invalid; + else + dat = *play->invalid; + break; + default: + dat = *play->invalid; + } + } else if (role == Qt::ForegroundRole) { + switch(index.column()) + { + case sName: + if(!play->pList->at(index.row())->downloaded) + dat = QVariant(Qt::gray); + else + dat = *play->invalid; + break; + default: + dat = *play->invalid; + } } else if (role == Qt::DisplayRole) { switch(index.column()) { @@ -47,13 +75,13 @@ QVariant playlist::data(const QModelIndex &index, int role) const dat = QVariant(play->pList->at(index.row())->played); break; default: - dat = QVariant(); + dat = *play->invalid; } } else - dat = QVariant(); + dat = *play->invalid; } else - dat = QVariant(); + dat = *play->invalid; return dat; } int playlist::rowCount(const QModelIndex &) const