mirror of
https://gitlab.gnome.org/GNOME/calls.git
synced 2024-12-04 20:07:36 +00:00
application: add signal for main window hiding
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/717>
This commit is contained in:
parent
c9b956638e
commit
28ca838ab4
1 changed files with 28 additions and 1 deletions
|
@ -80,6 +80,12 @@ struct _CallsApplication {
|
||||||
|
|
||||||
G_DEFINE_TYPE (CallsApplication, calls_application, ADW_TYPE_APPLICATION);
|
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);
|
static void start_proper (CallsApplication *self);
|
||||||
|
|
||||||
|
@ -623,6 +629,16 @@ on_db_done (CallsRecordStore *store,
|
||||||
g_warning ("Database did not get opened");
|
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
|
static void
|
||||||
start_proper (CallsApplication *self)
|
start_proper (CallsApplication *self)
|
||||||
|
@ -670,8 +686,12 @@ start_proper (CallsApplication *self)
|
||||||
G_CALLBACK (notify_window_visible_cb),
|
G_CALLBACK (notify_window_visible_cb),
|
||||||
self,
|
self,
|
||||||
G_CONNECT_AFTER);
|
G_CONNECT_AFTER);
|
||||||
}
|
|
||||||
|
|
||||||
|
g_signal_connect (G_OBJECT (self->main_window),
|
||||||
|
"hide",
|
||||||
|
G_CALLBACK (on_main_window_hidden),
|
||||||
|
NULL);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
activate (GApplication *application)
|
activate (GApplication *application)
|
||||||
|
@ -773,6 +793,13 @@ calls_application_class_init (CallsApplicationClass *klass)
|
||||||
GApplicationClass *application_class = G_APPLICATION_CLASS (klass);
|
GApplicationClass *application_class = G_APPLICATION_CLASS (klass);
|
||||||
GObjectClass *object_class = G_OBJECT_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;
|
object_class->finalize = finalize;
|
||||||
|
|
||||||
application_class->handle_local_options = calls_application_handle_local_options;
|
application_class->handle_local_options = calls_application_handle_local_options;
|
||||||
|
|
Loading…
Reference in a new issue