mirror of
https://gitlab.gnome.org/GNOME/calls.git
synced 2024-12-12 07:37:35 +00:00
BestMatch: remove BestMatchView to reduce vala code
This commit is contained in:
parent
2a85b60f7c
commit
f1946aff79
5 changed files with 10 additions and 56 deletions
|
@ -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 <http://www.gnu.org/licenses/>.
|
|
||||||
*
|
|
||||||
* Author: Bob Ham <bob.ham@puri.sm>
|
|
||||||
*
|
|
||||||
* 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();
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -24,6 +24,7 @@
|
||||||
|
|
||||||
#include "calls-best-match.h"
|
#include "calls-best-match.h"
|
||||||
#include "calls-contacts-provider.h"
|
#include "calls-contacts-provider.h"
|
||||||
|
#include "calls-vala.h"
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
|
|
||||||
#include <glib/gi18n.h>
|
#include <glib/gi18n.h>
|
||||||
|
@ -33,7 +34,7 @@ struct _CallsBestMatch
|
||||||
{
|
{
|
||||||
GObject parent_instance;
|
GObject parent_instance;
|
||||||
|
|
||||||
CallsBestMatchView *view;
|
FolksSearchView *view;
|
||||||
FolksIndividual *best_match;
|
FolksIndividual *best_match;
|
||||||
gchar *phone_number;
|
gchar *phone_number;
|
||||||
};
|
};
|
||||||
|
@ -80,7 +81,11 @@ notify_avatar (CallsBestMatch *self)
|
||||||
static void
|
static void
|
||||||
update_best_match (CallsBestMatch *self)
|
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)
|
if (best_match == self->best_match)
|
||||||
return;
|
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);
|
g_warning ("Failed to convert %s to a phone number: %s", phone_number, error->message);
|
||||||
} else {
|
} else {
|
||||||
query = calls_phone_number_query_new (number);
|
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,
|
g_signal_connect_swapped (self->view,
|
||||||
"notify::best-match",
|
"individuals-changed-detailed",
|
||||||
G_CALLBACK (update_best_match),
|
G_CALLBACK (update_best_match),
|
||||||
self);
|
self);
|
||||||
|
|
||||||
|
|
|
@ -25,8 +25,6 @@
|
||||||
#ifndef CALLS_BEST_MATCH_H__
|
#ifndef CALLS_BEST_MATCH_H__
|
||||||
#define CALLS_BEST_MATCH_H__
|
#define CALLS_BEST_MATCH_H__
|
||||||
|
|
||||||
#include "calls-vala.h"
|
|
||||||
|
|
||||||
#include <gdk/gdk.h>
|
#include <gdk/gdk.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
|
@ -37,6 +37,7 @@ G_BEGIN_DECLS
|
||||||
|
|
||||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GeeMap, g_object_unref)
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GeeMap, g_object_unref)
|
||||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GeeSet, 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 (GeeCollection, g_object_unref)
|
||||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EPhoneNumber, e_phone_number_free)
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EPhoneNumber, e_phone_number_free)
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,6 @@ calls_vala_deps = [
|
||||||
calls_vala_sources = files (
|
calls_vala_sources = files (
|
||||||
[
|
[
|
||||||
'calls-phone-number-query.vala',
|
'calls-phone-number-query.vala',
|
||||||
'calls-best-match-view.vala',
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue