void ArchiveOrg::slotParseThumbs(KJob* job) { KIO::StoredTransferJob* storedQueryJob = static_cast<KIO::StoredTransferJob*>( job ); QDomDocument doc; doc.setContent(QString::fromUtf8(storedQueryJob->data())); QDomNodeList links = doc.elementsByTagName(QStringLiteral("a")); if (links.isEmpty()) return; for (int i = 0; i < links.count(); ++i) { QString href = links.at(i).toElement().attribute(QStringLiteral("href")); if (!href.contains('/') && i >= links.count() / 2) { QString thumbUrl = m_thumbsPath + href; if (m_metaInfo.value(QStringLiteral("id")) == job->property("id").toString()) emit gotThumb(thumbUrl); break; } } }
OnlineItemInfo OpenClipArt::displayItemDetails(QListWidgetItem *item) { OnlineItemInfo info; if (!item) { return info; } info.itemPreview = item->data(previewRole).toString(); info.itemDownload = item->data(downloadRole).toString(); info.itemId = item->data(idRole).toInt(); info.itemName = item->text(); info.infoUrl = item->data(infoUrl).toString(); info.author = item->data(authorRole).toString(); info.authorUrl = item->data(authorUrl).toString(); info.license = item->data(licenseRole).toString(); info.description = item->data(descriptionRole).toString(); emit gotThumb(item->data(imageRole).toString()); return info; }