void GameUI::StartGameImageSet(MythGenericTree *node, QStringList coverart, QStringList fanart, QStringList screenshot) { if (!node) return; RomInfo *metadata = qVariantValue<RomInfo *>(node->GetData()); if (!metadata) return; ArtworkMap map; QString inetref = metadata->Inetref(); QString system = metadata->System(); QString title = metadata->Gamename(); if (metadata->Boxart().isEmpty() && coverart.size()) { ArtworkInfo info; info.url = coverart.takeAt(0).trimmed(); map.insert(kArtworkCoverart, info); } if (metadata->Fanart().isEmpty() && fanart.size()) { ArtworkInfo info; info.url = fanart.takeAt(0).trimmed(); map.insert(kArtworkFanart, info); } if (metadata->Screenshot().isEmpty() && screenshot.size()) { ArtworkInfo info; info.url = screenshot.takeAt(0).trimmed(); map.insert(kArtworkScreenshot, info); } MetadataLookup *lookup = new MetadataLookup(); lookup->SetTitle(metadata->Gamename()); lookup->SetSystem(metadata->System()); lookup->SetInetref(metadata->Inetref()); lookup->SetType(kMetadataGame); lookup->SetDownloads(map); lookup->SetData(qVariantFromValue(node)); m_imageDownload->addDownloads(lookup); }
void GameUI::nodeChanged(MythGenericTree* node) { if (!node) return; if (!isLeaf(node)) { if (node->childCount() == 0 || node == m_favouriteNode) { node->deleteAllChildren(); fillNode(node); } clearRomInfo(); } else { RomInfo *romInfo = qVariantValue<RomInfo *>(node->GetData()); if (!romInfo) return; if (romInfo->Romname().isEmpty()) romInfo->fillData(); updateRomInfo(romInfo); if (!romInfo->Screenshot().isEmpty() || !romInfo->Fanart().isEmpty() || !romInfo->Boxart().isEmpty()) showImages(); else { if (m_gameImage) m_gameImage->Reset(); if (m_fanartImage) m_fanartImage->Reset(); if (m_boxImage) m_boxImage->Reset(); } } }