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; }
QVariant AttachedFiltersModel::data(const QModelIndex &index, int role) const { if ( !m_producer || !m_producer->is_valid() || index.row() >= m_producer->filter_count()) return QVariant(); switch (role ) { case Qt::DisplayRole: { QVariant result; Mlt::Filter* filter = filterForRow(index.row()); if (filter && filter->is_valid()) { // Relabel by QML UI QmlMetadata* meta = MAIN.filtersDock()->qmlMetadataForService(filter); if (meta) result = meta->name(); // Fallback is raw mlt_service name else if (filter->get("mlt_service")) result = QString::fromUtf8(filter->get("mlt_service")); } // Relabel for widgets UIs if (result == "movit.blur" || result == "boxblur") result = tr("Blur"); else if (result == "movit.lift_gamma_gain" || result == "frei0r.coloradj_RGB") result = tr("Color Grading"); else if (result == "crop") result = tr("Crop"); else if (result == "movit.glow" || result == "frei0r.glow") result = tr("Glow"); else if (result == "movit.mirror" || result == "mirror") result = tr("Mirror"); else if (result == "webvfx") result = tr("Overlay HTML"); else if (result == "movit.sharpen" || result == "frei0r.sharpness") result = tr("Sharpen"); else if (result == "movit.white_balance" || result == "frei0r.colgate") result = tr("White Balance"); else if (result == "sox" && filter->get("use_peak")) result = tr("Normalize"); delete filter; return result; } case Qt::CheckStateRole: { Mlt::Filter* filter = filterForRow(index.row()); QVariant result = Qt::Unchecked; if (filter && filter->is_valid() && !filter->get_int("disable")) result = Qt::Checked; delete filter; return result; } break; default: break; } return QVariant(); }
QVariant AttachedFiltersModel::data(const QModelIndex &index, int role) const { if ( !m_producer || !m_producer->is_valid() || index.row() >= m_producer->filter_count()) return QVariant(); switch (role ) { case Qt::DisplayRole: { QVariant result; Mlt::Filter* filter = filterForRow(index.row()); if (filter && filter->is_valid()) { // Relabel by QML UI QmlMetadata* meta = MAIN.filtersDock()->qmlMetadataForService(filter); if (meta) result = meta->name(); // Fallback is raw mlt_service name else if (filter->get("mlt_service")) result = QString::fromUtf8(filter->get("mlt_service")); } // Relabel for widgets UIs if (result == "movit.mirror" || result == "mirror") result = tr("Mirror"); delete filter; return result; } case Qt::CheckStateRole: { Mlt::Filter* filter = filterForRow(index.row()); QVariant result = Qt::Unchecked; if (filter && filter->is_valid() && !filter->get_int("disable")) result = Qt::Checked; delete filter; return result; } break; default: break; } return QVariant(); }