]> git.sesse.net Git - kdenlive/blobdiff - src/utils/archiveorg.cpp
SVN_SILENT made messages (.desktop file)
[kdenlive] / src / utils / archiveorg.cpp
index de4bb332413001129859b29e1db2eb298e94f074..53e238222574d507fd68ca9668114239621484e2 100644 (file)
@@ -117,6 +117,7 @@ void ArchiveOrg::slotShowResults(KJob* job)
 #endif  
     m_listWidget->blockSignals(false);
     m_listWidget->setCurrentRow(0);
+    emit searchDone();
 }
     
 
@@ -138,10 +139,12 @@ OnlineItemInfo ArchiveOrg::displayItemDetails(QListWidgetItem *item)
     info.description = item->data(descriptionRole).toString();
     
     m_metaInfo.insert("url", info.itemDownload);
+    m_metaInfo.insert("id", info.itemId);
     
     QString extraInfoUrl = item->data(downloadRole).toString();
     if (!extraInfoUrl.isEmpty()) {
         KJob* resolveJob = KIO::storedGet( KUrl(extraInfoUrl), KIO::NoReload, KIO::HideProgressInfo );
+        resolveJob->setProperty("id", info.itemId);
         connect( resolveJob, SIGNAL( result( KJob* ) ), this, SLOT( slotParseResults( KJob* ) ) );
     }
     return info;
@@ -152,7 +155,7 @@ void ArchiveOrg::slotParseResults(KJob* job)
 {
     KIO::StoredTransferJob* storedQueryJob = static_cast<KIO::StoredTransferJob*>( job );
     QDomDocument doc;
-    doc.setContent(storedQueryJob->data());
+    doc.setContent(QString::fromUtf8(storedQueryJob->data()));
     QDomNodeList links = doc.elementsByTagName("a");
     QString html = QString("<style type=\"text/css\">tr.cellone {background-color: %1;}").arg(qApp->palette().alternateBase().color().name());
     html += "</style><table width=\"100%\" cellspacing=\"0\" cellpadding=\"2\">";
@@ -163,22 +166,23 @@ void ArchiveOrg::slotParseResults(KJob* job)
         QString href = links.at(i).toElement().attribute("href");
         if (href.endsWith(".thumbs/")) {
             // sub folder contains image thumbs, display one.
-            m_thumbsPath = m_metaInfo.value("url") + "/" + href;
+            m_thumbsPath = m_metaInfo.value("url") + '/' + href;
             KJob* thumbJob = KIO::storedGet( KUrl(m_thumbsPath), KIO::NoReload, KIO::HideProgressInfo );
+            thumbJob->setProperty("id", m_metaInfo.value("id"));
             connect( thumbJob, SIGNAL( result( KJob* ) ), this, SLOT( slotParseThumbs( KJob* ) ) );
         }
         else if (!href.contains('/') && !href.endsWith(".xml")) {
-            link = m_metaInfo.value("url") + "/" + href;
+            link = m_metaInfo.value("url") + '/' + href;
             ct++;
             if (ct %2 == 0) {
                 html += "<tr class=\"cellone\">";
             }
             else html += "<tr>";
-            html += "<td>" + KUrl(link).fileName() + QString("</td><td><a href=\"%1\">preview</a></td><td><a href=\"%2\">download</a></td></tr>").arg(link + "_preview").arg(link);
+            html += "<td>" + KUrl(link).fileName() + QString("</td><td><a href=\"%1\">%2</a></td><td><a href=\"%3\">%4</a></td></tr>").arg(link).arg(i18n("Preview")).arg(link + "_import").arg(i18n("Import"));
         }
     }
     html += "</table>";
-    emit gotMetaInfo(html);
+    if (m_metaInfo.value("id") == job->property("id").toString()) emit gotMetaInfo(html);
 }
 
 
@@ -190,12 +194,12 @@ bool ArchiveOrg::startItemPreview(QListWidgetItem *item)
     if (m_previewProcess && m_previewProcess->state() != QProcess::NotRunning) {
         m_previewProcess->close();
     }
-    m_previewProcess->start("ffplay", QStringList() << url << "-nodisp");
+    m_previewProcess->start(KdenliveSettings::ffplaypath(), QStringList() << url << "-nodisp");
     return true;
 }
 
 
-void ArchiveOrg::stopItemPreview(QListWidgetItem *item)
+void ArchiveOrg::stopItemPreview(QListWidgetItem */*item*/)
 {    
     if (m_previewProcess && m_previewProcess->state() != QProcess::NotRunning) {
         m_previewProcess->close();
@@ -219,14 +223,15 @@ void ArchiveOrg::slotParseThumbs(KJob* job)
 {
     KIO::StoredTransferJob* storedQueryJob = static_cast<KIO::StoredTransferJob*>( job );
     QDomDocument doc;
-    doc.setContent(storedQueryJob->data());
+    doc.setContent(QString::fromUtf8(storedQueryJob->data()));
     QDomNodeList links = doc.elementsByTagName("a");
     if (links.isEmpty()) return;
     for (int i = 0; i < links.count(); i++) {
         QString href = links.at(i).toElement().attribute("href");
         if (!href.contains('/') && i >= links.count() / 2) {
             QString thumbUrl = m_thumbsPath + href;
-            emit gotThumb(thumbUrl);
+            if (m_metaInfo.value("id") == job->property("id").toString())
+                emit gotThumb(thumbUrl);
             break;
         }
     }