Mercurial > pidgin.yaz
comparison pidgin/gtkimhtml.c @ 27950:fb593c327870
propagate from branch 'im.pidgin.pidgin' (head e155acab29d005538351633111052f094e5f5f98)
to branch 'im.pidgin.pidgin.yaz' (head 9a2679f1f093d6f68ab515aa5278606fb451449a)
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Fri, 12 Jun 2009 05:27:34 +0000 |
parents | c2ac87c5a035 804141095de5 |
children | c815b2aa78ee |
comparison
equal
deleted
inserted
replaced
27949:a4a2090fd976 | 27950:fb593c327870 |
---|---|
3880 | 3880 |
3881 gtk_widget_show(image->filesel); | 3881 gtk_widget_show(image->filesel); |
3882 } | 3882 } |
3883 | 3883 |
3884 static void | 3884 static void |
3885 gtk_imhtml_custom_smiley_save(GtkWidget *w, GtkIMHtmlImage *image) | 3885 gtk_imhtml_custom_smiley_save(GtkWidget *w, GtkIMHtmlImageSave *save) |
3886 { | 3886 { |
3887 GtkIMHtmlImage *image = (GtkIMHtmlImage *)save->image; | |
3888 | |
3887 /* Create an add dialog */ | 3889 /* Create an add dialog */ |
3888 PidginSmiley *editor = pidgin_smiley_edit(NULL, NULL); | 3890 PidginSmiley *editor = pidgin_smiley_edit(NULL, NULL); |
3889 pidgin_smiley_editor_set_shortcut(editor, image->filename); | 3891 pidgin_smiley_editor_set_shortcut(editor, image->filename); |
3890 pidgin_smiley_editor_set_image(editor, image->pixbuf); | 3892 pidgin_smiley_editor_set_image(editor, image->pixbuf); |
3893 pidgin_smiley_editor_set_data(editor, save->data, save->datasize); | |
3891 } | 3894 } |
3892 | 3895 |
3893 /* | 3896 /* |
3894 * So, um, AIM Direct IM lets you send any file, not just images. You can | 3897 * So, um, AIM Direct IM lets you send any file, not just images. You can |
3895 * just insert a sound or a file or whatever in a conversation. It's | 3898 * just insert a sound or a file or whatever in a conversation. It's |
3920 if (image->width <= 96 && image->height <= 96) { | 3923 if (image->width <= 96 && image->height <= 96) { |
3921 img = gtk_image_new_from_stock(GTK_STOCK_ADD, GTK_ICON_SIZE_MENU); | 3924 img = gtk_image_new_from_stock(GTK_STOCK_ADD, GTK_ICON_SIZE_MENU); |
3922 item = gtk_image_menu_item_new_with_mnemonic(_("_Add Custom Smiley...")); | 3925 item = gtk_image_menu_item_new_with_mnemonic(_("_Add Custom Smiley...")); |
3923 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), img); | 3926 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), img); |
3924 g_signal_connect(G_OBJECT(item), "activate", | 3927 g_signal_connect(G_OBJECT(item), "activate", |
3925 G_CALLBACK(gtk_imhtml_custom_smiley_save), image); | 3928 G_CALLBACK(gtk_imhtml_custom_smiley_save), save); |
3926 gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); | 3929 gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); |
3927 } | 3930 } |
3928 | 3931 |
3929 gtk_widget_show_all(menu); | 3932 gtk_widget_show_all(menu); |
3930 gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, | 3933 gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, |
5075 char *text = g_strdup(unescaped); | 5078 char *text = g_strdup(unescaped); |
5076 gtk_container_add(GTK_CONTAINER(ebox), img); | 5079 gtk_container_add(GTK_CONTAINER(ebox), img); |
5077 gtk_widget_show(img); | 5080 gtk_widget_show(img); |
5078 g_object_set_data_full(G_OBJECT(anchor), "gtkimhtml_plaintext", text, g_free); | 5081 g_object_set_data_full(G_OBJECT(anchor), "gtkimhtml_plaintext", text, g_free); |
5079 g_object_set_data(G_OBJECT(anchor), "gtkimhtml_tiptext", text); | 5082 g_object_set_data(G_OBJECT(anchor), "gtkimhtml_tiptext", text); |
5083 g_object_set_data_full(G_OBJECT(anchor), "gtkimhtml_htmltext", g_strdup(smiley), g_free); | |
5080 gtk_text_view_add_child_at_anchor(GTK_TEXT_VIEW(imhtml), ebox, anchor); | 5084 gtk_text_view_add_child_at_anchor(GTK_TEXT_VIEW(imhtml), ebox, anchor); |
5081 } | 5085 } |
5082 } else { | 5086 } else { |
5083 gtk_text_buffer_insert(imhtml->text_buffer, iter, smiley, -1); | 5087 gtk_text_buffer_insert(imhtml->text_buffer, iter, smiley, -1); |
5084 } | 5088 } |