diff --git a/src/calls-best-match-view.vala b/src/calls-best-match-view.vala
deleted file mode 100644
index c396c69..0000000
--- a/src/calls-best-match-view.vala
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2019 Purism SPC
- *
- * This file is part of Calls.
- *
- * Calls is free software: you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Calls is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Calls. If not, see .
- *
- * Author: Bob Ham
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- *
- */
-
-
-public class Calls.BestMatchView : Folks.SearchView
-{
- public Folks.Individual? best_match
- {
- get;
- private set;
- }
-
- private void update ()
- {
- best_match =
- individuals.is_empty ? null : individuals.first ();
- }
-
- public BestMatchView (Folks.IndividualAggregator aggregator,
- Folks.Query query)
- {
- base (aggregator, query);
-
- this.individuals_changed_detailed.connect
- ((sv, p) => { update (); });
- update();
- }
-}
diff --git a/src/calls-best-match.c b/src/calls-best-match.c
index 6587f50..53c5b70 100644
--- a/src/calls-best-match.c
+++ b/src/calls-best-match.c
@@ -24,6 +24,7 @@
#include "calls-best-match.h"
#include "calls-contacts-provider.h"
+#include "calls-vala.h"
#include "util.h"
#include
@@ -33,7 +34,7 @@ struct _CallsBestMatch
{
GObject parent_instance;
- CallsBestMatchView *view;
+ FolksSearchView *view;
FolksIndividual *best_match;
gchar *phone_number;
};
@@ -80,7 +81,11 @@ notify_avatar (CallsBestMatch *self)
static void
update_best_match (CallsBestMatch *self)
{
- FolksIndividual *best_match = calls_best_match_view_get_best_match (self->view);
+ g_autoptr (GeeSortedSet) individuals = folks_search_view_get_individuals (self->view);
+ FolksIndividual *best_match = NULL;
+
+ if (!gee_collection_get_is_empty (GEE_COLLECTION (individuals)))
+ best_match = gee_sorted_set_first (individuals);
if (best_match == self->best_match)
return;
@@ -266,10 +271,10 @@ calls_best_match_set_phone_number (CallsBestMatch *self,
g_warning ("Failed to convert %s to a phone number: %s", phone_number, error->message);
} else {
query = calls_phone_number_query_new (number);
- self->view = calls_best_match_view_new (folks_individual_aggregator_dup (), FOLKS_QUERY (query));
+ self->view = folks_search_view_new (folks_individual_aggregator_dup (), FOLKS_QUERY (query));
g_signal_connect_swapped (self->view,
- "notify::best-match",
+ "individuals-changed-detailed",
G_CALLBACK (update_best_match),
self);
diff --git a/src/calls-best-match.h b/src/calls-best-match.h
index 85ce825..b31fc3a 100644
--- a/src/calls-best-match.h
+++ b/src/calls-best-match.h
@@ -25,8 +25,6 @@
#ifndef CALLS_BEST_MATCH_H__
#define CALLS_BEST_MATCH_H__
-#include "calls-vala.h"
-
#include
G_BEGIN_DECLS
diff --git a/src/calls-contacts-provider.h b/src/calls-contacts-provider.h
index 2cc8e09..e105134 100644
--- a/src/calls-contacts-provider.h
+++ b/src/calls-contacts-provider.h
@@ -37,6 +37,7 @@ G_BEGIN_DECLS
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GeeMap, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GeeSet, g_object_unref)
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (GeeSortedSet, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GeeCollection, g_object_unref)
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EPhoneNumber, e_phone_number_free)
diff --git a/src/meson.build b/src/meson.build
index ac55a1a..b864dc4 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -53,7 +53,6 @@ calls_vala_deps = [
calls_vala_sources = files (
[
'calls-phone-number-query.vala',
- 'calls-best-match-view.vala',
]
)