From: Mark D. <the...@us...> - 2004-01-11 21:36:20
|
Update of /cvsroot/gaim/gaim/src In directory sc8-pr-cvs1:/tmp/cvs-serv11180/src Modified Files: conversation.c gtkconv.c Log Message: CTRL+(1 through 8) and SHIFT+CTRL+(1 through 8) no longer insert smileys twice CTRL+(1 through 8) and SHIFT+CTRL+(1 through 8) inserts WYSIWYG smileys instead of text Removed some functions in from gtkconv.c that I don't think we need that I think Chip said were left over from a simpler way of life This may break some key commands or something in the text entry window of convos. Lemme know if it does Love me tender Index: conversation.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/conversation.c,v retrieving revision 1.582 retrieving revision 1.583 diff -u -d -p -r1.582 -r1.583 --- conversation.c 10 Jan 2004 04:04:55 -0000 1.582 +++ conversation.c 11 Jan 2004 21:36:16 -0000 1.583 @@ -185,7 +185,7 @@ common_send(GaimConversation *conv, cons GaimConversationType type; GaimConnection *gc; GaimConversationUiOps *ops; - char *buffy = NULL; + char *displayed = NULL, *sent = NULL; int plugin_return; int err = 0; GList *first; @@ -212,38 +212,60 @@ common_send(GaimConversation *conv, cons if ((gc->flags & GAIM_CONNECTION_HTML) && gaim_prefs_get_bool("/core/conversations/send_urls_as_links")) { - buffy = gaim_markup_linkify(message); + displayed = gaim_markup_linkify(message); } else - buffy = g_strdup(message); + displayed = g_strdup(message); plugin_return = GPOINTER_TO_INT(gaim_signal_emit_return_1( gaim_conversations_get_handle(), - (type == GAIM_CONV_IM - ? "displaying-im-msg" : "displaying-chat-msg"), - gaim_conversation_get_account(conv), conv, &buffy)); + (type == GAIM_CONV_IM ? "writing-im-msg" : "writing-chat-msg"), + gaim_conversation_get_account(conv), conv, &displayed)); - if (buffy == NULL) + if (displayed == NULL) return; if (plugin_return) { - g_free(buffy); + g_free(displayed); + return; + } + + gaim_signal_emit(gaim_conversations_get_handle(), + (type == GAIM_CONV_IM ? "wrote-im-msg" : "wrote-chat-msg"), + gaim_conversation_get_account(conv), conv, displayed); + + sent = g_strdup(displayed); + + plugin_return = + GPOINTER_TO_INT(gaim_signal_emit_return_1( + gaim_conversations_get_handle(), (type == GAIM_CONV_IM ? + "displaying-im-msg" : "displaying-chat-msg"), + gaim_conversation_get_account(conv), conv, &displayed)); + + if (displayed == NULL) { + g_free(sent); + return; + } + + if (plugin_return) { + g_free(displayed); + g_free(sent); return; } gaim_signal_emit(gaim_conversations_get_handle(), (type == GAIM_CONV_IM ? "displayed-im-msg" : "displayed-chat-msg"), - gaim_conversation_get_account(conv), conv, buffy); + gaim_conversation_get_account(conv), conv, displayed); if (type == GAIM_CONV_IM) { GaimConvIm *im = GAIM_CONV_IM(conv); gaim_signal_emit(gaim_conversations_get_handle(), "sending-im-msg", gaim_conversation_get_account(conv), - gaim_conversation_get_name(conv), &buffy); + gaim_conversation_get_name(conv), &sent); - if (buffy != NULL && buffy[0] != '\0') { + if (sent != NULL && sent[0] != '\0') { GaimConvImFlags imflags = 0; GaimMessageFlags msgflags = GAIM_MESSAGE_SEND; @@ -253,10 +275,10 @@ common_send(GaimConversation *conv, cons } err = serv_send_im(gc, gaim_conversation_get_name(conv), - buffy, imflags); + sent, imflags); if (err > 0) - gaim_conv_im_write(im, NULL, buffy, msgflags, time(NULL)); + gaim_conv_im_write(im, NULL, displayed, msgflags, time(NULL)); if (im->images != NULL) { GSList *tempy; @@ -276,19 +298,19 @@ common_send(GaimConversation *conv, cons gaim_signal_emit(gaim_conversations_get_handle(), "sent-im-msg", gaim_conversation_get_account(conv), - gaim_conversation_get_name(conv), buffy); + gaim_conversation_get_name(conv), sent); } } else { gaim_signal_emit(gaim_conversations_get_handle(), "sending-chat-msg", - gaim_conversation_get_account(conv), &buffy, + gaim_conversation_get_account(conv), &sent, gaim_conv_chat_get_id(GAIM_CONV_CHAT(conv))); - if (buffy != NULL && buffy[0] != '\0') { - err = serv_chat_send(gc, gaim_conv_chat_get_id(GAIM_CONV_CHAT(conv)), buffy); + if (sent != NULL && sent[0] != '\0') { + err = serv_chat_send(gc, gaim_conv_chat_get_id(GAIM_CONV_CHAT(conv)), sent); gaim_signal_emit(gaim_conversations_get_handle(), "sent-chat-msg", - gaim_conversation_get_account(conv), buffy, + gaim_conversation_get_account(conv), sent, gaim_conv_chat_get_id(GAIM_CONV_CHAT(conv))); } } @@ -319,6 +341,9 @@ common_send(GaimConversation *conv, cons } } } + + g_free(displayed); + g_free(sent); } static void Index: gtkconv.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/gtkconv.c,v retrieving revision 1.291 retrieving revision 1.292 diff -u -d -p -r1.291 -r1.292 --- gtkconv.c 10 Jan 2004 20:56:52 -0000 1.291 +++ gtkconv.c 11 Jan 2004 21:36:16 -0000 1.292 @@ -123,7 +123,6 @@ typedef struct static GtkWidget *invite_dialog = NULL; /* Prototypes. <-- because Paco-Paco hates this comment. */ -static void check_everything(GtkTextBuffer *buffer); static void set_toggle(GtkWidget *tb, gboolean active); static void move_next_tab(GaimConversation *conv); static void do_bold(GtkWidget *bold, GaimGtkConversation *gtkconv); @@ -345,14 +344,6 @@ insert_smiley_cb(GtkWidget *smiley, Gaim gtk_widget_grab_focus(gtkconv->entry); } -static gboolean -entry_key_pressed_cb_1(GtkTextBuffer *buffer) -{ - check_everything(buffer); - - return FALSE; -} - static void default_formatize(GaimConversation *conv) { GaimGtkConversation *c = GAIM_GTK_CONVERSATION(conv); GaimConnection *gc = gaim_conversation_get_gc(conv); @@ -1258,7 +1249,7 @@ right_click_chat_cb(GtkWidget *widget, G } static gboolean -entry_key_pressed_cb_2(GtkWidget *entry, GdkEventKey *event, gpointer data) +entry_key_pressed_cb(GtkWidget *entry, GdkEventKey *event, gpointer data) { GaimConvWindow *win; GaimConversation *conv; @@ -1457,8 +1448,7 @@ entry_key_pressed_cb_2(GtkWidget *entry, } if (*buf) { - gtk_text_buffer_insert_at_cursor(gtkconv->entry_buffer, - buf, -1); + gtk_imhtml_insert_smiley(GTK_IMHTML(gtkconv->entry), conv->account->protocol_id, buf); g_signal_stop_emission_by_name(G_OBJECT(entry), "key_press_event"); } } @@ -2362,22 +2352,6 @@ toggle_bg_color(GtkWidget *color, GaimCo } static void -check_everything(GtkTextBuffer *buffer) -{ - GaimConversation *conv; - GaimGtkConversation *gtkconv; - - conv = (GaimConversation *)g_object_get_data(G_OBJECT(buffer), - "user_data"); - - g_return_if_fail(conv != NULL); - - gtkconv = GAIM_GTK_CONVERSATION(conv); - - /* CONV TODO */ -} - -static void set_toggle(GtkWidget *tb, gboolean active) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tb), active); @@ -3594,7 +3568,7 @@ setup_chat_pane(GaimConversation *conv) /* Setup the scrolled window to put gtkimhtml in. */ gtkconv->sw = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(gtkconv->sw), - GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); + GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(gtkconv->sw), GTK_SHADOW_IN); gtk_paned_pack1(GTK_PANED(hpaned), gtkconv->sw, TRUE, TRUE); @@ -3634,7 +3608,7 @@ setup_chat_pane(GaimConversation *conv) /* Setup the list of users. */ sw = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), - GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN); gtk_box_pack_start(GTK_BOX(lbox), sw, TRUE, TRUE, 0); gtk_widget_show(sw); @@ -3740,13 +3714,8 @@ setup_chat_pane(GaimConversation *conv) 25)); g_object_set_data(G_OBJECT(gtkconv->entry_buffer), "user_data", conv); - g_signal_connect_swapped(G_OBJECT(gtkconv->entry), "key_press_event", - G_CALLBACK(entry_key_pressed_cb_1), - gtkconv->entry_buffer); g_signal_connect(G_OBJECT(gtkconv->entry), "key_press_event", - G_CALLBACK(entry_key_pressed_cb_2), conv); - g_signal_connect(G_OBJECT(sw), "key_press_event", - G_CALLBACK(entry_key_pressed_cb_2), conv); + G_CALLBACK(entry_key_pressed_cb), conv); g_signal_connect_after(G_OBJECT(gtkconv->entry), "button_press_event", G_CALLBACK(entry_stop_rclick_cb), NULL); @@ -3791,7 +3760,7 @@ setup_im_pane(GaimConversation *conv) /* Setup the gtkimhtml widget. */ gtkconv->sw = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(gtkconv->sw), - GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); + GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(gtkconv->sw), GTK_SHADOW_IN); gtk_box_pack_start(GTK_BOX(vbox), gtkconv->sw, TRUE, TRUE, 0); @@ -3844,13 +3813,8 @@ setup_im_pane(GaimConversation *conv) 25)); g_object_set_data(G_OBJECT(gtkconv->entry_buffer), "user_data", conv); - g_signal_connect_swapped(G_OBJECT(gtkconv->entry), "key_press_event", - G_CALLBACK(entry_key_pressed_cb_1), - gtkconv->entry_buffer); g_signal_connect(G_OBJECT(gtkconv->entry), "key_press_event", - G_CALLBACK(entry_key_pressed_cb_2), conv); - g_signal_connect(G_OBJECT(sw), "key_press_event", - G_CALLBACK(entry_key_pressed_cb_2), conv); + G_CALLBACK(entry_key_pressed_cb), conv); g_signal_connect_after(G_OBJECT(gtkconv->entry), "button_press_event", G_CALLBACK(entry_stop_rclick_cb), NULL); |