1
0
Fork 0
mirror of https://gitlab.gnome.org/GNOME/calls.git synced 2024-05-18 11:09:28 +00:00

Merge branch 'wip/close' into 'main'

Clear contact box and phone entry when calls is closed

Closes #507

See merge request GNOME/calls!717
This commit is contained in:
Chris Talbot 2024-04-18 12:46:55 +00:00
commit c5df062373
3 changed files with 53 additions and 1 deletions

View file

@ -80,6 +80,12 @@ struct _CallsApplication {
G_DEFINE_TYPE (CallsApplication, calls_application, ADW_TYPE_APPLICATION);
enum {
SIGNAL_MAIN_WINDOW_CLOSED,
N_SIGNALS
};
static guint signals[N_SIGNALS];
static void start_proper (CallsApplication *self);
@ -619,6 +625,16 @@ on_db_done (CallsRecordStore *store,
g_warning ("Database did not get opened");
}
static gboolean
on_main_window_hidden (GtkWidget *widget,
gpointer data)
{
CallsApplication *self = CALLS_APPLICATION (g_application_get_default ());
g_signal_emit_by_name (self, "main-window-closed", 0);
return FALSE;
}
static void
start_proper (CallsApplication *self)
@ -666,8 +682,12 @@ start_proper (CallsApplication *self)
G_CALLBACK (notify_window_visible_cb),
self,
G_CONNECT_AFTER);
}
g_signal_connect (G_OBJECT (self->main_window),
"hide",
G_CALLBACK (on_main_window_hidden),
NULL);
}
static void
activate (GApplication *application)
@ -769,6 +789,13 @@ calls_application_class_init (CallsApplicationClass *klass)
GApplicationClass *application_class = G_APPLICATION_CLASS (klass);
GObjectClass *object_class = G_OBJECT_CLASS (klass);
signals [SIGNAL_MAIN_WINDOW_CLOSED] =
g_signal_new ("main-window-closed",
G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST,
0, NULL, NULL, NULL,
G_TYPE_NONE, 0);
object_class->finalize = finalize;
application_class->handle_local_options = calls_application_handle_local_options;

View file

@ -150,6 +150,12 @@ contacts_sort_func (FolksIndividual *a,
return fav_a ? -1 : 1;
}
static void
on_main_window_closed (CallsContactsBox *self)
{
gtk_entry_set_text (GTK_ENTRY (self->search_entry), "");
}
static void
calls_contacts_box_dispose (GObject *object)
@ -236,6 +242,11 @@ calls_contacts_box_init (CallsContactsBox *self)
G_CALLBACK (search_changed_cb),
self);
g_signal_connect_swapped (g_application_get_default (),
"main-window-closed",
G_CALLBACK (on_main_window_closed),
self);
if (!gee_collection_get_is_empty (individuals))
calls_contacts_provider_consume_iter_on_idle (gee_iterable_iterator (GEE_ITERABLE (individuals)),
(IdleCallback) contacts_provider_added,

View file

@ -311,6 +311,15 @@ calls_new_call_box_get_property (GObject *object,
}
}
static void
on_main_window_closed (CallsNewCallBox *self)
{
g_object_set (self->dialpad,
"number",
"",
NULL);
}
static void
calls_new_call_box_init (CallsNewCallBox *self)
{
@ -330,6 +339,11 @@ calls_new_call_box_init (CallsNewCallBox *self)
G_CALLBACK (origin_count_changed_cb),
self,
G_CONNECT_SWAPPED);
g_signal_connect_swapped (g_application_get_default (),
"main-window-closed",
G_CALLBACK (on_main_window_closed),
self);
origin_count_changed_cb (self);
}