| 279 adw_bin_set_child(ADW_BIN(window->bin), widget); |
279 adw_bin_set_child(ADW_BIN(window->bin), widget); |
| 280 } |
280 } |
| 281 } |
281 } |
| 282 |
282 |
| 283 static void |
283 static void |
| 284 pidgin_display_window_conversation_registered_cb(G_GNUC_UNUSED PurpleConversationManager *manager, |
284 pidgin_display_window_conversation_added_cb(G_GNUC_UNUSED PurpleConversationManager *manager, |
| 285 PurpleConversation *conversation, |
285 PurpleConversation *conversation, |
| 286 gpointer data) |
286 gpointer data) |
| 287 { |
287 { |
| 288 PidginDisplayWindow *window = data; |
288 PidginDisplayWindow *window = data; |
| 289 |
289 |
| 290 pidgin_display_window_add(window, conversation); |
290 pidgin_display_window_add(window, conversation); |
| 291 } |
291 } |
| 292 |
292 |
| 293 static void |
293 static void |
| 294 pidgin_display_window_conversation_unregistered_cb(G_GNUC_UNUSED PurpleConversationManager *manager, |
294 pidgin_display_window_conversation_removed_cb(G_GNUC_UNUSED PurpleConversationManager *manager, |
| 295 PurpleConversation *conversation, |
295 PurpleConversation *conversation, |
| 296 gpointer data) |
296 gpointer data) |
| 297 { |
297 { |
| 298 PidginDisplayWindow *window = data; |
298 PidginDisplayWindow *window = data; |
| 299 |
299 |
| 300 pidgin_display_window_remove(window, conversation); |
300 pidgin_display_window_remove(window, conversation); |
| 301 } |
301 } |
| 478 default_window = pidgin_display_window_new(); |
478 default_window = pidgin_display_window_new(); |
| 479 g_object_add_weak_pointer(G_OBJECT(default_window), |
479 g_object_add_weak_pointer(G_OBJECT(default_window), |
| 480 (gpointer)&default_window); |
480 (gpointer)&default_window); |
| 481 |
481 |
| 482 manager = purple_conversation_manager_get_default(); |
482 manager = purple_conversation_manager_get_default(); |
| 483 g_signal_connect_object(manager, "registered", |
483 g_signal_connect_object(manager, "added", |
| 484 G_CALLBACK(pidgin_display_window_conversation_registered_cb), |
484 G_CALLBACK(pidgin_display_window_conversation_added_cb), |
| 485 default_window, 0); |
485 default_window, 0); |
| 486 g_signal_connect_object(manager, "unregistered", |
486 g_signal_connect_object(manager, "removed", |
| 487 G_CALLBACK(pidgin_display_window_conversation_unregistered_cb), |
487 G_CALLBACK(pidgin_display_window_conversation_removed_cb), |
| 488 default_window, 0); |
488 default_window, 0); |
| 489 } |
489 } |
| 490 |
490 |
| 491 return default_window; |
491 return default_window; |
| 492 } |
492 } |