return 5;
}
-QVariant MyListNode::data(int column) const
+QVariant MyListNode::data(int column, int role) const
{
- return itemData.value(column);
+ if (role == Qt::DisplayRole)
+ return itemData.value(column);
+ else
+ return QVariant();
}
MyListNode *MyListNode::parent()
model->animeSet.erase(model->animeSet.s_iterator_to(animeData));
}
-QVariant MyListAnimeNode::data(int column) const
+QVariant MyListAnimeNode::data(int column, int role) const
{
- switch (column)
+ switch (role)
{
- case 0:
- return animeData.data.titleRomaji;
- case 1:
- return watchedEpisodes();
- case 2:
- if (animeData.data.rating < 1)
- return "n/a";
- return QString::number(animeData.data.rating, 'f', 2);
- case 3:
- if (animeData.data.myVote < 1)
- return "n/a";
- return QString::number(animeData.data.myVote, 'f', 2);
- case 4:
- return QString("%1 of %2").arg(animeData.watchedEpisodes)
- .arg(watchedEpisodes());
+ case Qt::DisplayRole:
+ switch (column)
+ {
+ case 0:
+ return animeData.data.titleRomaji;
+ case 1:
+ return watchedEpisodes();
+ case 2:
+ if (animeData.data.rating < 1)
+ return "n/a";
+ return QString::number(animeData.data.rating, 'f', 2);
+ case 3:
+ if (animeData.data.myVote < 1)
+ return "n/a";
+ return QString::number(animeData.data.myVote, 'f', 2);
+ case 4:
+ return QString("%1 of %2").arg(animeData.watchedEpisodes)
+ .arg(watchedEpisodes());
+ }
+ case Qt::ToolTipRole:
+ switch (column)
+ {
+ case 0:
+ if (!animeData.data.titleEnglish.isEmpty() && !animeData.data.titleKanji.isEmpty())
+ return QString("%1 -- %2").arg(animeData.data.titleEnglish)
+ .arg(animeData.data.titleKanji);
+ if (!animeData.data.titleEnglish.isEmpty())
+ return animeData.data.titleEnglish;
+ if (!animeData.data.titleKanji.isEmpty())
+ return animeData.data.titleKanji;
+ }
}
+
return QVariant();
}
model->episodeSet.erase(model->episodeSet.s_iterator_to(episodeData));
}
-QVariant MyListEpisodeNode::data(int column) const
+QVariant MyListEpisodeNode::data(int column, int role) const
{
- switch (column)
+ switch (role)
{
- case 0:
- return episodeData.data.titleEnglish;
- case 1:
- return episodeData.data.type + QString::number(episodeData.data.epno);
- case 2:
- if (episodeData.data.rating < 1)
- return "n/a";
- return QString::number(episodeData.data.rating, 'f', 2);
- case 3:
- if (episodeData.data.myVote < 1)
- return "n/a";
- return QString::number(episodeData.data.myVote, 'f', 2);
- case 4:
- if (!episodeData.watchedDate.isValid())
- return QObject::tr("No");
- return QObject::tr("Yes, on %1").arg(episodeData.watchedDate.toString());
+ case Qt::DisplayRole:
+ switch (column)
+ {
+ case 0:
+ return episodeData.data.titleEnglish;
+ case 1:
+ return episodeData.data.type + QString::number(episodeData.data.epno);
+ case 2:
+ if (episodeData.data.rating < 1)
+ return "n/a";
+ return QString::number(episodeData.data.rating, 'f', 2);
+ case 3:
+ if (episodeData.data.myVote < 1)
+ return "n/a";
+ return QString::number(episodeData.data.myVote, 'f', 2);
+ case 4:
+ if (!episodeData.watchedDate.isValid())
+ return QObject::tr("No");
+ return QObject::tr("Yes, on %1").arg(episodeData.watchedDate.toString());
+ }
+ case Qt::ToolTipRole:
+ switch (column)
+ {
+ case 0:
+ if (!episodeData.data.titleEnglish.isEmpty() && !episodeData.data.titleKanji.isEmpty())
+ return QString("%1 -- %2").arg(episodeData.data.titleKanji)
+ .arg(episodeData.data.titleRomaji);
+ if (!episodeData.data.titleEnglish.isEmpty())
+ return episodeData.data.titleEnglish;
+ if (!episodeData.data.titleKanji.isEmpty())
+ return episodeData.data.titleKanji;
+ }
}
+
+
return QVariant();
}
model->fileSet.erase(model->fileSet.s_iterator_to(fileData));
}
-QVariant MyListFileNode::data(int column) const
+QVariant MyListFileNode::data(int column, int role) const
{
+ if (role != Qt::DisplayRole)
+ return QVariant();
+
switch (column)
{
case 0:
model->fileLocationSet.erase(model->fileLocationSet.s_iterator_to(fileLocationData));
}
-QVariant MyListFileLocationNode::data(int column) const
+QVariant MyListFileLocationNode::data(int column, int role) const
{
+ if (role != Qt::DisplayRole)
+ return QVariant();
+
switch (column)
{
case 0:
MyListNode *child(int row);
int childCount() const;
int columnCount() const;
- virtual QVariant data(int column) const;
+ virtual QVariant data(int column, int role) const;
int row() const;
MyListNode *parent();
MyListAnimeNode(MyListModel *model, const AnimeData &data, MyListNode *parent);
~MyListAnimeNode();
- QVariant data(int column) const;
+ QVariant data(int column, int role) const;
void fetchMore();
void fetchComplete();
int id() const;
MyListEpisodeNode(MyListModel *model, const EpisodeData &data, MyListNode *parent);
~MyListEpisodeNode();
- QVariant data(int column) const;
+ QVariant data(int column, int role) const;
void fetchMore();
void fetchComplete();
int id() const;
MyListFileNode(MyListModel *model, const FileData &data, MyListNode *parent);
~MyListFileNode();
- QVariant data(int column) const;
+ QVariant data(int column, int role) const;
void fetchMore();
void fetchComplete();
int id() const;
MyListFileLocationNode(MyListModel *model, const FileLocationData &data, MyListNode *parent);
~MyListFileLocationNode();
- QVariant data(int column) const;
+ QVariant data(int column, int role) const;
void fetchMore();
void fetchComplete();
int id() const;