diff options
Diffstat (limited to 'src/ui/messenger.c')
-rw-r--r-- | src/ui/messenger.c | 42 |
1 files changed, 31 insertions, 11 deletions
diff --git a/src/ui/messenger.c b/src/ui/messenger.c index 059927a..5a9796f 100644 --- a/src/ui/messenger.c +++ b/src/ui/messenger.c | |||
@@ -24,8 +24,11 @@ | |||
24 | 24 | ||
25 | #include "messenger.h" | 25 | #include "messenger.h" |
26 | 26 | ||
27 | void handle_flap_via_button_click(UI_UNUSED GtkButton* button, | 27 | #include "../application.h" |
28 | gpointer user_data) | 28 | |
29 | static void | ||
30 | handle_flap_via_button_click(UNUSED GtkButton* button, | ||
31 | gpointer user_data) | ||
29 | { | 32 | { |
30 | HdyFlap* flap = HDY_FLAP(user_data); | 33 | HdyFlap* flap = HDY_FLAP(user_data); |
31 | 34 | ||
@@ -36,8 +39,9 @@ void handle_flap_via_button_click(UI_UNUSED GtkButton* button, | |||
36 | } | 39 | } |
37 | } | 40 | } |
38 | 41 | ||
39 | void handle_account_details_button_click(UI_UNUSED GtkButton* button, | 42 | static void |
40 | gpointer user_data) | 43 | handle_account_details_button_click(UNUSED GtkButton* button, |
44 | gpointer user_data) | ||
41 | { | 45 | { |
42 | GtkRevealer* revealer = GTK_REVEALER(user_data); | 46 | GtkRevealer* revealer = GTK_REVEALER(user_data); |
43 | 47 | ||
@@ -48,9 +52,10 @@ void handle_account_details_button_click(UI_UNUSED GtkButton* button, | |||
48 | } | 52 | } |
49 | } | 53 | } |
50 | 54 | ||
51 | void handle_chats_listbox_row_activated(UI_UNUSED GtkListBox* listbox, | 55 | static void |
52 | UI_UNUSED GtkListBoxRow* row, | 56 | handle_chats_listbox_row_activated(UNUSED GtkListBox* listbox, |
53 | gpointer user_data) | 57 | UNUSED GtkListBoxRow* row, |
58 | gpointer user_data) | ||
54 | { | 59 | { |
55 | HdyLeaflet* leaflet = HDY_LEAFLET(user_data); | 60 | HdyLeaflet* leaflet = HDY_LEAFLET(user_data); |
56 | 61 | ||
@@ -61,8 +66,9 @@ void handle_chats_listbox_row_activated(UI_UNUSED GtkListBox* listbox, | |||
61 | } | 66 | } |
62 | } | 67 | } |
63 | 68 | ||
64 | void handle_back_button_click(UI_UNUSED GtkButton* button, | 69 | static void |
65 | gpointer user_data) | 70 | handle_back_button_click(UNUSED GtkButton* button, |
71 | gpointer user_data) | ||
66 | { | 72 | { |
67 | HdyLeaflet* leaflet = HDY_LEAFLET(user_data); | 73 | HdyLeaflet* leaflet = HDY_LEAFLET(user_data); |
68 | 74 | ||
@@ -73,8 +79,17 @@ void handle_back_button_click(UI_UNUSED GtkButton* button, | |||
73 | } | 79 | } |
74 | } | 80 | } |
75 | 81 | ||
82 | static void | ||
83 | handle_main_window_destroy(gpointer user_data) | ||
84 | { | ||
85 | MESSENGER_Application *app = (MESSENGER_Application*) user_data; | ||
86 | |||
87 | application_exit(app, MESSENGER_QUIT); | ||
88 | } | ||
89 | |||
76 | void | 90 | void |
77 | ui_messenger_init(struct UI_MESSENGER_Handle *handle) | 91 | ui_messenger_init(MESSENGER_Application *app, |
92 | UI_MESSENGER_Handle *handle) | ||
78 | { | 93 | { |
79 | GtkBuilder* builder = gtk_builder_new(); | 94 | GtkBuilder* builder = gtk_builder_new(); |
80 | gtk_builder_add_from_file( | 95 | gtk_builder_add_from_file( |
@@ -220,5 +235,10 @@ ui_messenger_init(struct UI_MESSENGER_Handle *handle) | |||
220 | 235 | ||
221 | gtk_widget_show(GTK_WIDGET(handle->main_window)); | 236 | gtk_widget_show(GTK_WIDGET(handle->main_window)); |
222 | 237 | ||
223 | g_signal_connect(handle->main_window, "destroy", G_CALLBACK(gtk_main_quit), NULL); | 238 | g_signal_connect( |
239 | handle->main_window, | ||
240 | "destroy", | ||
241 | G_CALLBACK(handle_main_window_destroy), | ||
242 | app | ||
243 | ); | ||
224 | } | 244 | } |