Mercurial > pidgin.yaz
comparison pidgin/gtkconv.c @ 19556:11de4598b4c5
Document the function to reattach conv-ui.
Introduce the conversation-hiding and conversation-displayed signals in pidgin.
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Fri, 31 Aug 2007 18:02:09 +0000 |
parents | e2b7dadac415 |
children | 11849a5c3951 |
comparison
equal
deleted
inserted
replaced
19555:858d279314b2 | 19556:11de4598b4c5 |
---|---|
1301 | 1301 |
1302 static void | 1302 static void |
1303 menu_hide_conv_cb(gpointer data, guint action, GtkWidget *widget) | 1303 menu_hide_conv_cb(gpointer data, guint action, GtkWidget *widget) |
1304 { | 1304 { |
1305 PidginWindow *win = data; | 1305 PidginWindow *win = data; |
1306 PidginConversation *gtkconv = pidgin_conv_window_get_active_gtkconv(win); | |
1306 PurpleConversation *conv = pidgin_conv_window_get_active_conversation(win); | 1307 PurpleConversation *conv = pidgin_conv_window_get_active_conversation(win); |
1308 purple_signal_emit(pidgin_conversations_get_handle(), | |
1309 "conversation-hiding", gtkconv); | |
1307 purple_conversation_set_ui_ops(conv, NULL); | 1310 purple_conversation_set_ui_ops(conv, NULL); |
1308 } | 1311 } |
1309 | 1312 |
1310 static void | 1313 static void |
1311 menu_close_conv_cb(gpointer data, guint action, GtkWidget *widget) | 1314 menu_close_conv_cb(gpointer data, guint action, GtkWidget *widget) |
7204 } | 7207 } |
7205 gtkconv->attach.timer = timer; | 7208 gtkconv->attach.timer = timer; |
7206 if (gtkconv->attach.current) | 7209 if (gtkconv->attach.current) |
7207 return TRUE; | 7210 return TRUE; |
7208 | 7211 |
7212 purple_signal_emit(pidgin_conversations_get_handle(), | |
7213 "conversation-displayed", gtkconv); | |
7209 g_source_remove(gtkconv->attach.timer); | 7214 g_source_remove(gtkconv->attach.timer); |
7210 gtkconv->attach.timer = 0; | 7215 gtkconv->attach.timer = 0; |
7211 return FALSE; | 7216 return FALSE; |
7212 } | 7217 } |
7213 | 7218 |
7226 list = purple_conversation_get_message_history(conv); | 7231 list = purple_conversation_get_message_history(conv); |
7227 if (list) { | 7232 if (list) { |
7228 list = g_list_last(list); | 7233 list = g_list_last(list); |
7229 gtkconv->attach.current = list; | 7234 gtkconv->attach.current = list; |
7230 gtkconv->attach.timer = g_idle_add(add_message_history_to_gtkconv, gtkconv); | 7235 gtkconv->attach.timer = g_idle_add(add_message_history_to_gtkconv, gtkconv); |
7236 } else { | |
7237 purple_signal_emit(pidgin_conversations_get_handle(), | |
7238 "conversation-displayed", gtkconv); | |
7231 } | 7239 } |
7232 | 7240 |
7233 /* XXX: If this is a chat: | 7241 /* XXX: If this is a chat: |
7234 * - populate the userlist | 7242 * - populate the userlist |
7235 * - set the topic | 7243 * - set the topic |
7412 | 7420 |
7413 purple_signal_register(handle, "conversation-switched", | 7421 purple_signal_register(handle, "conversation-switched", |
7414 purple_marshal_VOID__POINTER_POINTER, NULL, 1, | 7422 purple_marshal_VOID__POINTER_POINTER, NULL, 1, |
7415 purple_value_new(PURPLE_TYPE_SUBTYPE, | 7423 purple_value_new(PURPLE_TYPE_SUBTYPE, |
7416 PURPLE_SUBTYPE_CONVERSATION)); | 7424 PURPLE_SUBTYPE_CONVERSATION)); |
7425 | |
7426 purple_signal_register(handle, "conversation-hiding", | |
7427 purple_marshal_VOID__POINTER_POINTER, NULL, 1, | |
7428 purple_value_new(PURPLE_TYPE_BOXED, | |
7429 "PidginConversation *")); | |
7430 | |
7431 purple_signal_register(handle, "conversation-displayed", | |
7432 purple_marshal_VOID__POINTER_POINTER, NULL, 1, | |
7433 purple_value_new(PURPLE_TYPE_BOXED, | |
7434 "PidginConversation *")); | |
7417 | 7435 |
7418 /********************************************************************** | 7436 /********************************************************************** |
7419 * Register commands | 7437 * Register commands |
7420 **********************************************************************/ | 7438 **********************************************************************/ |
7421 purple_cmd_register("say", "S", PURPLE_CMD_P_DEFAULT, | 7439 purple_cmd_register("say", "S", PURPLE_CMD_P_DEFAULT, |