- if (m_data.canConvert(QVariant::Map)) {
- QMap <QString, QVariant> map = m_data.toMap();
- QMap<QString, QVariant>::const_iterator i = map.constBegin();
- while (i != map.constEnd()) {
- if (i.key() == "num_results") search_info->setText(i18np("Found %1 result", "Found %1 results", i.value().toInt()));
- else if (i.key() == "num_pages") {
- page_number->setMaximum(i.value().toInt());
- }
- else if (i.key() == "sounds") {
- sounds = i.value();
- if (sounds.canConvert(QVariant::List)) {
- QList <QVariant> soundsList = sounds.toList();
- for (int j = 0; j < soundsList.count(); j++) {
- if (soundsList.at(j).canConvert(QVariant::Map)) {
- QMap <QString, QVariant> soundmap = soundsList.at(j).toMap();
- if (soundmap.contains("original_filename")) {
- QListWidgetItem *item = new QListWidgetItem(soundmap.value("original_filename").toString(), search_results);
- item->setData(imageRole, soundmap.value("waveform_m").toString());
- item->setData(soundUrl, soundmap.value("url").toString());
- item->setData(durationRole, soundmap.value("duration").toDouble());
- item->setData(previewRole, soundmap.value("preview-hq-mp3").toString());
- item->setData(soundRole, soundmap.value("serve").toString() + "?api_key=a1772c8236e945a4bee30a64058dabf8");
- QVariant authorInfo = soundmap.value("user");
- if (authorInfo.canConvert(QVariant::Map)) {
- QMap <QString, QVariant> authorMap = authorInfo.toMap();
- if (authorMap.contains("username")) {
- item->setData(authorRole, authorMap.value("username").toString());
- item->setData(authorUrl, authorMap.value("url").toString());
+ if (m_service == FREESOUND) {
+ QJson::Parser parser;
+ bool ok;
+ kDebug()<<"// GOT RESULT: "<<m_result;
+ m_data = parser.parse(m_result, &ok);
+ QVariant sounds;
+ if (m_data.canConvert(QVariant::Map)) {
+ QMap <QString, QVariant> map = m_data.toMap();
+ QMap<QString, QVariant>::const_iterator i = map.constBegin();
+ while (i != map.constEnd()) {
+ if (i.key() == "num_results") search_info->setText(i18np("Found %1 result", "Found %1 results", i.value().toInt()));
+ else if (i.key() == "num_pages") {
+ page_number->setMaximum(i.value().toInt());
+ }
+ else if (i.key() == "sounds") {
+ sounds = i.value();
+ if (sounds.canConvert(QVariant::List)) {
+ QList <QVariant> soundsList = sounds.toList();
+ for (int j = 0; j < soundsList.count(); j++) {
+ if (soundsList.at(j).canConvert(QVariant::Map)) {
+ QMap <QString, QVariant> soundmap = soundsList.at(j).toMap();
+ if (soundmap.contains("original_filename")) {
+ QListWidgetItem *item = new QListWidgetItem(soundmap.value("original_filename").toString(), search_results);
+ item->setData(imageRole, soundmap.value("waveform_m").toString());
+ item->setData(infoUrl, soundmap.value("url").toString());
+ item->setData(durationRole, soundmap.value("duration").toDouble());
+ item->setData(previewRole, soundmap.value("preview-hq-mp3").toString());
+ item->setData(downloadRole, soundmap.value("serve").toString() + "?api_key=a1772c8236e945a4bee30a64058dabf8");
+ QVariant authorInfo = soundmap.value("user");
+ if (authorInfo.canConvert(QVariant::Map)) {
+ QMap <QString, QVariant> authorMap = authorInfo.toMap();
+ if (authorMap.contains("username")) {
+ item->setData(authorRole, authorMap.value("username").toString());
+ item->setData(authorUrl, authorMap.value("url").toString());
+ }