| 363 | } |
| 364 | |
| 365 | QVariant FolderModel::data(const QModelIndex &index, int role) const |
| 366 | { |
| 367 | if (!index.isValid()) |
| 368 | return QVariant(); |
| 369 | |
| 370 | auto item = static_cast<FolderItem *>(index.internalPointer()); |
| 371 | |
| 372 | if (role == Qt::ToolTipRole) { |
| 373 | QString toolTip = item->data(FolderModel::Name).toString(); |
| 374 | int totalNumOfChildren = item->childCount() + item->comicNames.size(); |
| 375 | if (totalNumOfChildren > 0) { |
| 376 | toolTip = toolTip + " - " + QString::number(totalNumOfChildren); |
| 377 | } |
| 378 | |
| 379 | return toolTip; |
| 380 | } |
| 381 | |
| 382 | if (role == Qt::DecorationRole) { |
| 383 | if (item->data(FolderModel::Finished).toBool()) |
| 384 | return QVariant(folderFinishedIcon); |
| 385 | else |
| 386 | return QVariant(folderIcon); |
| 387 | } |
| 388 | |
| 389 | if (role == FolderModel::FolderNameRole) { |
| 390 | return item->data(FolderModel::Name); |
| 391 | } |
| 392 | |
| 393 | if (role == FolderModel::CompletedRole) |
| 394 | return item->data(FolderModel::Completed); |
| 395 | |
| 396 | if (role == FolderModel::FinishedRole) |
| 397 | return item->data(FolderModel::Finished); |
| 398 | |
| 399 | if (role == FolderModel::IdRole) |
| 400 | return item->id; |
| 401 | |
| 402 | if (role == FolderModel::CoverPathRole) { |
| 403 | if (item->data(FolderModel::CustomImage).toString().isEmpty()) |
| 404 | return getCoverUrlPathForComicHash(item->data(FirstChildHash).toString()); |
| 405 | else |
| 406 | return getCoverUrlPathForFolderId(item->id); |
| 407 | } |
| 408 | |
| 409 | if (role == FolderModel::NumChildrenRole) |
| 410 | return item->data(NumChildren); |
| 411 | |
| 412 | if (role == FolderModel::TypeRole) |
| 413 | return item->data(Type); |
| 414 | |
| 415 | if (role == FolderModel::AddedRole) |
| 416 | return item->data(Added); |
| 417 | |
| 418 | if (role == FolderModel::UpdatedRole) |
| 419 | return item->data(Updated); |
| 420 | |
| 421 | if (role == FolderModel::ShowRecentRole) |
| 422 | return showRecent; |
no test coverage detected