summaryrefslogtreecommitdiffstats
path: root/tdenewstuff/engine.cpp
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2014-10-07 10:59:55 -0500
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2014-10-07 10:59:55 -0500
commit72a2afc0afd917e93249d034b968079135588c7e (patch)
treefab115088481ab8a74e57ce03b9cce176bd92007 /tdenewstuff/engine.cpp
parent62bfcbe4780e5b08aee6a16895f5e508f0646bd2 (diff)
downloadtdelibs-72a2afc0afd917e93249d034b968079135588c7e.tar.gz
tdelibs-72a2afc0afd917e93249d034b968079135588c7e.zip
Add proper OCS support to the base TDENewStuff class
This relates to Bug 2127
Diffstat (limited to 'tdenewstuff/engine.cpp')
-rw-r--r--tdenewstuff/engine.cpp53
1 files changed, 35 insertions, 18 deletions
diff --git a/tdenewstuff/engine.cpp b/tdenewstuff/engine.cpp
index f8e7163a9..1427f7eb7 100644
--- a/tdenewstuff/engine.cpp
+++ b/tdenewstuff/engine.cpp
@@ -141,34 +141,51 @@ void Engine::slotNewStuffJobResult( TDEIO::Job *job )
TQDomDocument doc;
if ( !doc.setContent( knewstuffDoc ) ) {
- kdDebug() << "Error parsing knewstuff.xml." << endl;
+ kdDebug() << "Error parsing OCS response." << endl;
return;
- } else {
+ }
+ else {
TQDomElement knewstuff = doc.documentElement();
if ( knewstuff.isNull() ) {
- kdDebug() << "No document in knewstuffproviders.xml." << endl;
- } else {
- TQDomNode p;
- for ( p = knewstuff.firstChild(); !p.isNull(); p = p.nextSibling() ) {
- TQDomElement stuff = p.toElement();
- if ( stuff.tagName() != "stuff" ) continue;
- if ( stuff.attribute("type", mType) != mType ) continue;
+ kdDebug() << "No document in OCS response." << endl;
+ }
+ else {
+ TQDomElement content;
+ for(TQDomNode pn = knewstuff.firstChild(); !pn.isNull(); pn = pn.nextSibling())
+ {
+ TQDomElement stuff = pn.toElement();
+
+ if(stuff.tagName() == "data")
+ {
+ content = pn.toElement();
+ }
+ }
+
+ if ( content.isNull() ) {
+ kdDebug() << "No content in OCS response." << endl;
+ }
+ else {
+ TQDomNode p;
+ for ( p = content.firstChild(); !p.isNull(); p = p.nextSibling() ) {
+ TQDomElement stuff = p.toElement();
+ if ( stuff.tagName() != "content" ) continue;
- Entry *entry = new Entry( stuff );
+ Entry *entry = new Entry( stuff );
- mDownloadDialog->show();
+ mDownloadDialog->show();
- mDownloadDialog->addEntry( entry );
+ mDownloadDialog->addEntry( entry );
- kdDebug() << "KNEWSTUFF: " << entry->name() << endl;
+ kdDebug() << "KNEWSTUFF: " << entry->name() << endl;
- kdDebug() << " SUMMARY: " << entry->summary() << endl;
- kdDebug() << " VERSION: " << entry->version() << endl;
- kdDebug() << " RELEASEDATE: " << TQString(entry->releaseDate().toString()) << endl;
- kdDebug() << " RATING: " << entry->rating() << endl;
+ kdDebug() << " SUMMARY: " << entry->summary() << endl;
+ kdDebug() << " VERSION: " << entry->version() << endl;
+ kdDebug() << " RELEASEDATE: " << TQString(entry->releaseDate().toString()) << endl;
+ kdDebug() << " RATING: " << entry->rating() << endl;
- kdDebug() << " LANGS: " << entry->langs().join(", ") << endl;
+ kdDebug() << " LANGS: " << entry->langs().join(", ") << endl;
+ }
}
}
}