| 159 G_OBJECT_CLASS(pidgin_conversation_window_parent_class)->dispose(obj); |
159 G_OBJECT_CLASS(pidgin_conversation_window_parent_class)->dispose(obj); |
| 160 } |
160 } |
| 161 |
161 |
| 162 static void |
162 static void |
| 163 pidgin_conversation_window_init(PidginConversationWindow *window) { |
163 pidgin_conversation_window_init(PidginConversationWindow *window) { |
| 164 GtkBuilder *builder = NULL; |
|
| 165 GtkWidget *menubar = NULL; |
|
| 166 GMenuModel *model = NULL; |
|
| 167 GtkEventController *key = NULL; |
164 GtkEventController *key = NULL; |
| 168 |
165 |
| 169 gtk_widget_init_template(GTK_WIDGET(window)); |
166 gtk_widget_init_template(GTK_WIDGET(window)); |
| 170 |
167 |
| 171 gtk_window_set_application(GTK_WINDOW(window), |
168 gtk_window_set_application(GTK_WINDOW(window), |
| 172 GTK_APPLICATION(g_application_get_default())); |
169 GTK_APPLICATION(g_application_get_default())); |
| 173 |
|
| 174 /* setup our menu */ |
|
| 175 builder = gtk_builder_new_from_resource("/im/pidgin/Pidgin3/Conversations/menu.ui"); |
|
| 176 |
|
| 177 model = (GMenuModel *)gtk_builder_get_object(builder, "conversation"); |
|
| 178 menubar = gtk_menu_bar_new_from_model(model); |
|
| 179 |
|
| 180 gtk_box_pack_start(GTK_BOX(window->vbox), menubar, FALSE, FALSE, 0); |
|
| 181 gtk_widget_show(menubar); |
|
| 182 |
|
| 183 g_object_unref(G_OBJECT(builder)); |
|
| 184 |
170 |
| 185 key = gtk_event_controller_key_new(GTK_WIDGET(window)); |
171 key = gtk_event_controller_key_new(GTK_WIDGET(window)); |
| 186 gtk_event_controller_set_propagation_phase(key, GTK_PHASE_CAPTURE); |
172 gtk_event_controller_set_propagation_phase(key, GTK_PHASE_CAPTURE); |
| 187 g_signal_connect(G_OBJECT(key), "key-pressed", |
173 g_signal_connect(G_OBJECT(key), "key-pressed", |
| 188 G_CALLBACK(pidgin_conversation_window_key_pressed_cb), |
174 G_CALLBACK(pidgin_conversation_window_key_pressed_cb), |