From 1e87a2a3fb260b22aa70f9fa24a8adaf59a04650 Mon Sep 17 00:00:00 2001 From: Thomas Perl Date: Sun, 26 Oct 2014 23:15:51 +0100 Subject: [PATCH] Implement support for the new directory search API --- common/GPodderDirectorySearchModel.qml | 25 ++++++++---------------- main.py | 27 ++++++++++++++++++++++++++ touch/Directory.qml | 15 ++++++++++++-- touch/DirectoryItem.qml | 4 ++-- touch/PodcastsPage.qml | 20 +++++++++++++++++-- 5 files changed, 68 insertions(+), 23 deletions(-) diff --git a/common/GPodderDirectorySearchModel.qml b/common/GPodderDirectorySearchModel.qml index 5ff54dc..b4a7bfa 100644 --- a/common/GPodderDirectorySearchModel.qml +++ b/common/GPodderDirectorySearchModel.qml @@ -22,28 +22,19 @@ import QtQuick 2.0 ListModel { id: directorySearchModel + property string provider function search(query, callback) { clear(); - var result = new XMLHttpRequest(); - result.onreadystatechange = function() { - if (result.readyState == XMLHttpRequest.DONE) { - var data = JSON.parse(result.responseText); - data.sort(function (a, b) { - // Sort by subscriber count, descending - return b.subscribers - a.subscribers; - }); - for (var i=0; i 0) ? subscribers : '' } } diff --git a/touch/PodcastsPage.qml b/touch/PodcastsPage.qml index 7a087c9..e3cb824 100644 --- a/touch/PodcastsPage.qml +++ b/touch/PodcastsPage.qml @@ -66,9 +66,25 @@ SlidePage { }, }, { - label: 'Search gpodder.net', + label: 'Discover new podcasts', callback: function () { - pgst.loadPage('Directory.qml'); + py.call('main.get_directory_providers', [], function (result) { + var items = []; + for (var i=0; i