diff --git a/resources/manager_window.ui b/resources/manager_window.ui index 256d5fbc8ad2067ab75a13abeddd97c3246387d7..35aed8459fdc34d91e06a598771eba1f05a5f5c1 100644 --- a/resources/manager_window.ui +++ b/resources/manager_window.ui @@ -331,7 +331,6 @@ <property name="fixed_height_mode">True</property> <property name="show_expanders">False</property> <property name="rubber_banding">True</property> - <property name="activate_on_single_click">True</property> <signal name="button-press-event" handler="on_packages_treeview_button_press_event" swapped="no"/> <signal name="query-tooltip" handler="on_packages_treeview_query_tooltip" swapped="no"/> <signal name="row-activated" handler="on_packages_treeview_row_activated" swapped="no"/> @@ -457,7 +456,6 @@ <property name="fixed_height_mode">True</property> <property name="show_expanders">False</property> <property name="rubber_banding">True</property> - <property name="activate_on_single_click">True</property> <signal name="button-press-event" handler="on_aur_treeview_button_press_event" swapped="no"/> <signal name="query-tooltip" handler="on_aur_treeview_query_tooltip" swapped="no"/> <signal name="row-activated" handler="on_aur_treeview_row_activated" swapped="no"/> diff --git a/src/user_daemon.vala b/src/user_daemon.vala index 5a670cf63e5fd95223b84ebc6d0af59ac3d2de67..70e0ee18f6e550fd0573b1fe1ca6452aa23d6b22 100644 --- a/src/user_daemon.vala +++ b/src/user_daemon.vala @@ -504,6 +504,36 @@ namespace Pamac { syncdbs.next (); } result.join (syncpkgs.diff (result, (Alpm.List.CompareFunc) alpm_pkg_compare_name)); + // search in Appstream + Alpm.List<unowned Alpm.Package> appstream_results = null; + app_store.get_apps ().foreach ((app) => { + var iter = HashTableIter<string,string> (app.get_names ()); + unowned string name; + while (iter.next (null, out name)) { + if (search_string in name) { + unowned Alpm.Package? alpm_pkg = alpm_handle.localdb.get_pkg (app.get_pkgname_default ()); + if (alpm_pkg == null) { + alpm_pkg = get_syncpkg (app.get_pkgname_default ()); + } + if (alpm_pkg != null) { + appstream_results.add (alpm_pkg); + } + } + } + iter = HashTableIter<string,string> (app.get_descriptions ()); + unowned string desc; + while (iter.next (null, out desc)) { + if (search_string in desc) { + unowned Alpm.Package? alpm_pkg = alpm_handle.localdb.get_pkg (app.get_pkgname_default ()); + if (alpm_pkg == null) { + alpm_pkg = get_syncpkg (app.get_pkgname_default ()); + } + if (alpm_pkg != null) { + appstream_results.add (alpm_pkg); + } + } + } + }); // use custom sort function global_search_string = search_string; result.sort (result.length, (Alpm.List.CompareFunc) alpm_pkg_sort_search_by_relevance);