bool MetadataModel::isVisible(int row) const { QmlMetadata* meta = m_list.at(row); if (meta->isHidden()) return false; if (meta->needsGPU() && !Settings.playerGPU()) return false; if (!meta->needsGPU() && Settings.playerGPU() && !meta->gpuAlt().isEmpty()) return false; if (m_filter == FavoritesFilter && !meta->isFavorite()) return false; if (m_filter == AudioFilter && !meta->isAudio()) return false; if (m_filter == VideoFilter && meta->isAudio()) return false; return true; }
QVariant MetadataModel::data(const QModelIndex &index, int role) const { QVariant result; QmlMetadata* meta = m_list.at(index.row()); if(meta) { switch(role) { case Qt::DisplayRole: case NameRole: result = meta->name(); break; case HiddenRole: result = meta->isHidden(); break; case FavoriteRole: result = meta->isFavorite(); break; case ServiceRole: result = meta->mlt_service(); break; case IsAudioRole: result = meta->isAudio(); break; case NeedsGpuRole: result = meta->needsGPU(); break; case VisibleRole: result = isVisible(index.row()); break; } } return result; }