void EditMetadataDialog::handleDownloadedImages(MetadataLookup *lookup) { if (!lookup) return; if (m_busyPopup) { m_busyPopup->Close(); m_busyPopup = NULL; } VideoArtworkType type = lookup->GetData().value<VideoArtworkType>(); ArtworkMap map = lookup->GetDownloads(); if (map.count() >= 1) { ArtworkInfo info = map.value(type); QString filename = info.url; if (type == kArtworkCoverart) SetCoverArt(filename); else if (type == kArtworkFanart) SetFanart(filename); else if (type == kArtworkBanner) SetBanner(filename); else if (type == kArtworkScreenshot) SetScreenshot(filename); } }
void Banner::GetBanner(char *appname, bool imetOnly) { u8 *buf = NULL; u32 size = 0; s32 len = imetOnly ? sizeof(IMET) + IMET_OFFSET : -1; if(NANDemuView) buf = NandHandle.GetEmuFile(appname, &size, len); else buf = ISFS_GetFile(appname, &size, len); if(size == 0) { if(buf != NULL) free(buf); return; } SetBanner(buf, size, false, true); }
void EditMetadataDialog::customEvent(QEvent *levent) { if (levent->type() == DialogCompletionEvent::kEventType) { DialogCompletionEvent *dce = (DialogCompletionEvent*)(levent); const QString resultid = dce->GetId(); if (resultid == CEID_COVERARTFILE) SetCoverArt(dce->GetResultText()); else if (resultid == CEID_BANNERFILE) SetBanner(dce->GetResultText()); else if (resultid == CEID_FANARTFILE) SetFanart(dce->GetResultText()); else if (resultid == CEID_SCREENSHOTFILE) SetScreenshot(dce->GetResultText()); else if (resultid == CEID_TRAILERFILE) SetTrailer(dce->GetResultText()); else if (resultid == CEID_NEWCATEGORY) AddCategory(dce->GetResultText()); } else if (levent->type() == MetadataLookupEvent::kEventType) { MetadataLookupEvent *lue = (MetadataLookupEvent *)levent; MetadataLookupList lul = lue->lookupList; if (lul.isEmpty()) return; // There should really only be one result here. // If not, USER ERROR! if (lul.count() == 1) { OnArtworkSearchDone(lul[0]); } else { if (m_busyPopup) { m_busyPopup->Close(); m_busyPopup = NULL; } } } else if (levent->type() == MetadataLookupFailure::kEventType) { MetadataLookupFailure *luf = (MetadataLookupFailure *)levent; MetadataLookupList lul = luf->lookupList; if (m_busyPopup) { m_busyPopup->Close(); m_busyPopup = NULL; } if (lul.size()) { MetadataLookup *lookup = lul[0]; LOG(VB_GENERAL, LOG_INFO, QString("No results found for %1 %2 %3").arg(lookup->GetTitle()) .arg(lookup->GetSeason()).arg(lookup->GetEpisode())); } } else if (levent->type() == ImageDLEvent::kEventType) { ImageDLEvent *ide = (ImageDLEvent *)levent; MetadataLookup *lookup = ide->item; if (!lookup) return; handleDownloadedImages(lookup); } else if (levent->type() == ImageDLFailureEvent::kEventType) { MythErrorNotification n(tr("Failed to retrieve image"), tr("Metadata Editor"), tr("Check logs")); GetNotificationCenter()->Queue(n); } }