[gnome-software: 12/20] gs-search-page: Port ACTION_SEARCH to use GsPluginJobListApps
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-software: 12/20] gs-search-page: Port ACTION_SEARCH to use GsPluginJobListApps
- Date: Mon, 11 Jul 2022 08:41:48 +0000 (UTC)
commit 8c67700491f93ef9dd70368395e4c03f92e9c297
Author: Philip Withnall <pwithnall endlessos org>
Date: Fri Jul 1 18:08:05 2022 +0100
gs-search-page: Port ACTION_SEARCH to use GsPluginJobListApps
Signed-off-by: Philip Withnall <pwithnall endlessos org>
Helps: #1472
src/gs-search-page.c | 38 +++++++++++++++++++++-----------------
1 file changed, 21 insertions(+), 17 deletions(-)
---
diff --git a/src/gs-search-page.c b/src/gs-search-page.c
index 1d0f5211e..b86f7389a 100644
--- a/src/gs-search-page.c
+++ b/src/gs-search-page.c
@@ -263,6 +263,8 @@ static void
gs_search_page_load (GsSearchPage *self)
{
g_autoptr(GsPluginJob) plugin_job = NULL;
+ g_autoptr(GsAppQuery) query = NULL;
+ const gchar *keywords[2] = { NULL, };
self->changed = FALSE;
@@ -274,23 +276,25 @@ gs_search_page_load (GsSearchPage *self)
/* search for apps */
gs_search_page_waiting_cancel (self);
self->waiting_id = g_timeout_add (250, gs_search_page_waiting_show_cb, self);
- plugin_job = gs_plugin_job_newv (GS_PLUGIN_ACTION_SEARCH,
- "search", self->value,
- "max-results", self->max_results,
- "timeout", 0, /* This is a user action, let it take as long as it
needs to */
- "refine-flags", GS_PLUGIN_REFINE_FLAGS_REQUIRE_ICON |
- GS_PLUGIN_REFINE_FLAGS_REQUIRE_VERSION |
- GS_PLUGIN_REFINE_FLAGS_REQUIRE_HISTORY |
- GS_PLUGIN_REFINE_FLAGS_REQUIRE_SETUP_ACTION |
- GS_PLUGIN_REFINE_FLAGS_REQUIRE_REVIEW_RATINGS |
- GS_PLUGIN_REFINE_FLAGS_REQUIRE_DESCRIPTION |
- GS_PLUGIN_REFINE_FLAGS_REQUIRE_LICENSE |
- GS_PLUGIN_REFINE_FLAGS_REQUIRE_PERMISSIONS |
- GS_PLUGIN_REFINE_FLAGS_REQUIRE_RATING,
- "dedupe-flags", GS_APP_LIST_FILTER_FLAG_PREFER_INSTALLED |
- GS_APP_LIST_FILTER_FLAG_KEY_ID_PROVIDES,
- NULL);
- gs_plugin_job_set_sort_func (plugin_job, gs_search_page_sort_cb, self);
+
+ keywords[0] = self->value;
+ query = gs_app_query_new ("keywords", keywords,
+ "refine-flags", GS_PLUGIN_REFINE_FLAGS_REQUIRE_ICON |
+ GS_PLUGIN_REFINE_FLAGS_REQUIRE_VERSION |
+ GS_PLUGIN_REFINE_FLAGS_REQUIRE_HISTORY |
+ GS_PLUGIN_REFINE_FLAGS_REQUIRE_SETUP_ACTION |
+ GS_PLUGIN_REFINE_FLAGS_REQUIRE_REVIEW_RATINGS |
+ GS_PLUGIN_REFINE_FLAGS_REQUIRE_DESCRIPTION |
+ GS_PLUGIN_REFINE_FLAGS_REQUIRE_LICENSE |
+ GS_PLUGIN_REFINE_FLAGS_REQUIRE_PERMISSIONS |
+ GS_PLUGIN_REFINE_FLAGS_REQUIRE_RATING,
+ "dedupe-flags", GS_APP_LIST_FILTER_FLAG_PREFER_INSTALLED |
+ GS_APP_LIST_FILTER_FLAG_KEY_ID_PROVIDES,
+ "max-results", self->max_results,
+ "sort-func", gs_search_page_sort_cb,
+ "sort-user-data", self,
+ NULL);
+ plugin_job = gs_plugin_job_list_apps_new (query, GS_PLUGIN_LIST_APPS_FLAGS_NONE);
gs_plugin_loader_job_process_async (self->plugin_loader, plugin_job,
self->search_cancellable,
gs_search_page_get_search_cb,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]