void ImageshackTalker::parseGetGalleries(const QByteArray &data) { QDomDocument document; if (!document.setContent(data)) return; QDomElement rootElem = document.documentElement(); QDomNodeList children = rootElem.childNodes(); QStringList gTexts; QStringList gNames; for (int i = 0; i < children.size(); ++i) { QDomElement e = children.at(i).toElement(); if (e.tagName() == "gallery") { QDomElement nameElem = e.firstChildElement("name"); QDomElement titleElem = e.firstChildElement("title"); QDomElement serverElem = e.firstChildElement("server"); if (!nameElem.isNull()) { QString fmt; fmt = nameElem.firstChild().toText().data(); // this is a very ugly hack QString name = "http://img" + serverElem.firstChild().toText().data() + ".imageshack.us/gallery_api.php?g=" + fmt; gNames << name; if (!titleElem.isNull()) { fmt.append(" (" + titleElem.firstChild().toText().data() + ")"); } gTexts << fmt; } } } m_state = IMGHCK_DONOTHING; emit signalUpdateGalleries(gTexts, gNames); emit signalGetGalleriesDone(0, i18n("Successfully retrieved galleries")); }
void ImageshackTalker::parseGetGalleries(const QByteArray &data) { QDomDocument document; if (!document.setContent(data)) return; QDomElement rootElem = document.documentElement(); QDomNodeList children = rootElem.childNodes(); QStringList gTexts; QStringList gNames; for (int i = 0; i < children.size(); ++i) { QDomElement e = children.at(i).toElement(); if (e.tagName() == QString::fromLatin1("gallery")) { QDomElement nameElem = e.firstChildElement(QString::fromLatin1("name")); QDomElement titleElem = e.firstChildElement(QString::fromLatin1("title")); QDomElement serverElem = e.firstChildElement(QString::fromLatin1("server")); if (!nameElem.isNull()) { QString fmt; fmt = nameElem.firstChild().toText().data(); gNames << nameElem.firstChild().toText().data(); gTexts << titleElem.firstChild().toText().data(); } } } m_state = IMGHCK_DONOTHING; emit signalUpdateGalleries(gTexts, gNames); emit signalGetGalleriesDone(0, i18n("Successfully retrieved galleries")); }