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:
commit
c5df062373
|
@ -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;
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue