comparison pidgin/gtkimhtmltoolbar.c @ 18168:285779ebfe0b

propagate from branch 'im.pidgin.pidgin' (head f61e46616c5562046a9f89a538ae10f5e5ef29ae) to branch 'im.pidgin.soc.2007.remotelogging' (head c8ca0bef43c668d71394e63296b0a07fd0496e59)
author Michael Shkutkov <mshkutkov@soc.pidgin.im>
date Sun, 17 Jun 2007 21:03:22 +0000
parents b8b475f31008
children 8c5b9b789bbb
comparison
equal deleted inserted replaced
17983:535a71646a47 18168:285779ebfe0b
790 g_signal_handlers_unblock_matched(object, G_SIGNAL_MATCH_DATA, 790 g_signal_handlers_unblock_matched(object, G_SIGNAL_MATCH_DATA,
791 0, 0, NULL, NULL, toolbar); 791 0, 0, NULL, NULL, toolbar);
792 g_object_unref(object); 792 g_object_unref(object);
793 } 793 }
794 794
795 static void update_buttons(GtkIMHtmlToolbar *toolbar) { 795 static void update_buttons(GtkIMHtmlToolbar *toolbar)
796 {
796 gboolean bold, italic, underline; 797 gboolean bold, italic, underline;
797 char *tmp; 798 char *tmp;
798 char *tmp2; 799 char *tmp2;
799 800
800 gtk_imhtml_get_current_format(GTK_IMHTML(toolbar->imhtml), 801 gtk_imhtml_get_current_format(GTK_IMHTML(toolbar->imhtml),
848 { 849 {
849 if(mark != gtk_text_buffer_get_insert(buffer)) 850 if(mark != gtk_text_buffer_get_insert(buffer))
850 return; 851 return;
851 852
852 update_buttons(toolbar); 853 update_buttons(toolbar);
854 }
855
856
857 /* This comes from gtkmenutoolbutton.c from gtk+
858 * Copyright (C) 2003 Ricardo Fernandez Pascual
859 * Copyright (C) 2004 Paolo Borelli
860 */
861 static void
862 menu_position_func (GtkMenu *menu,
863 int *x,
864 int *y,
865 gboolean *push_in,
866 gpointer data)
867 {
868 GtkWidget *widget = GTK_WIDGET(data);
869 GtkRequisition menu_req;
870 gint ythickness = widget->style->ythickness;
871 int savy;
872
873 gtk_widget_size_request(GTK_WIDGET (menu), &menu_req);
874 gdk_window_get_origin(widget->window, x, y);
875 *x += widget->allocation.x;
876 *y += widget->allocation.y + widget->allocation.height;
877 savy = *y;
878
879 pidgin_menu_position_func_helper(menu, x, y, push_in, data);
880
881 if (savy > *y + ythickness + 1)
882 *y -= widget->allocation.height;
883 }
884
885 static void pidgin_menu_clicked(GtkWidget *button, GtkMenu *menu)
886 {
887 gtk_widget_show_all(GTK_WIDGET(menu));
888 gtk_menu_popup(menu, NULL, NULL, menu_position_func, button, 0, gtk_get_current_event_time());
889 }
890
891 static void pidgin_menu_deactivate(GtkWidget *menu, GtkToggleButton *button)
892 {
893 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), FALSE);
853 } 894 }
854 895
855 enum { 896 enum {
856 LAST_SIGNAL 897 LAST_SIGNAL
857 }; 898 };
897 gobject_class = (GObjectClass*) class; 938 gobject_class = (GObjectClass*) class;
898 parent_class = gtk_type_class(GTK_TYPE_HBOX); 939 parent_class = gtk_type_class(GTK_TYPE_HBOX);
899 gobject_class->finalize = gtk_imhtmltoolbar_finalize; 940 gobject_class->finalize = gtk_imhtmltoolbar_finalize;
900 } 941 }
901 942
943 static void gtk_imhtmltoolbar_create_old_buttons(GtkIMHtmlToolbar *toolbar)
944 {
945 GtkWidget *button;
946 /* Bold */
947 button = pidgin_pixbuf_toolbar_button_from_stock(GTK_STOCK_BOLD);
948 g_signal_connect(G_OBJECT(button), "clicked",
949 G_CALLBACK(do_bold), toolbar);
950 toolbar->bold = button;
951
952
953 /* Italic */
954 button = pidgin_pixbuf_toolbar_button_from_stock(GTK_STOCK_ITALIC);
955 g_signal_connect(G_OBJECT(button), "clicked",
956 G_CALLBACK(do_italic), toolbar);
957 toolbar->italic = button;
958
959 /* Underline */
960 button = pidgin_pixbuf_toolbar_button_from_stock(GTK_STOCK_UNDERLINE);
961 g_signal_connect(G_OBJECT(button), "clicked",
962 G_CALLBACK(do_underline), toolbar);
963 toolbar->underline = button;
964
965 /* Increase font size */
966 button = pidgin_pixbuf_toolbar_button_from_stock(PIDGIN_STOCK_TOOLBAR_TEXT_LARGER);
967 g_signal_connect(G_OBJECT(button), "clicked",
968 G_CALLBACK(do_big), toolbar);
969 toolbar->larger_size = button;
970
971 /* Decrease font size */
972 button = pidgin_pixbuf_toolbar_button_from_stock(PIDGIN_STOCK_TOOLBAR_TEXT_SMALLER);
973 g_signal_connect(G_OBJECT(button), "clicked",
974 G_CALLBACK(do_small), toolbar);
975 toolbar->smaller_size = button;
976
977 /* Font Face */
978
979 button = pidgin_pixbuf_toolbar_button_from_stock(PIDGIN_STOCK_TOOLBAR_FONT_FACE);
980 g_signal_connect(G_OBJECT(button), "clicked",
981 G_CALLBACK(toggle_font), toolbar);
982 toolbar->font = button;
983
984 /* Foreground Color */
985 button = pidgin_pixbuf_toolbar_button_from_stock(PIDGIN_STOCK_TOOLBAR_FGCOLOR);
986 g_signal_connect(G_OBJECT(button), "clicked",
987 G_CALLBACK(toggle_fg_color), toolbar);
988 toolbar->fgcolor = button;
989
990 /* Background Color */
991 button = pidgin_pixbuf_toolbar_button_from_stock(PIDGIN_STOCK_TOOLBAR_BGCOLOR);
992 g_signal_connect(G_OBJECT(button), "clicked",
993 G_CALLBACK(toggle_bg_color), toolbar);
994 toolbar->bgcolor = button;
995
996 button = pidgin_pixbuf_toolbar_button_from_stock(PIDGIN_STOCK_TOOLBAR_INSERT_LINK);
997 g_signal_connect(G_OBJECT(button), "clicked",
998 G_CALLBACK(insert_link_cb), toolbar);
999 toolbar->link = button;
1000
1001 /* Insert IM Image */
1002 button = pidgin_pixbuf_toolbar_button_from_stock(PIDGIN_STOCK_TOOLBAR_INSERT_IMAGE);
1003 g_signal_connect(G_OBJECT(button), "clicked",
1004 G_CALLBACK(insert_image_cb), toolbar);
1005 toolbar->image = button;
1006
1007 /* Insert Smiley */
1008 button = pidgin_pixbuf_toolbar_button_from_stock(PIDGIN_STOCK_TOOLBAR_SMILEY);
1009 g_signal_connect(G_OBJECT(button), "clicked",
1010 G_CALLBACK(insert_smiley_cb), toolbar);
1011 toolbar->smiley = button;
1012 }
1013
1014 static void
1015 button_sensitiveness_changed(GtkWidget *button, gpointer dontcare, GtkWidget *item)
1016 {
1017 gtk_widget_set_sensitive(item, GTK_WIDGET_IS_SENSITIVE(button));
1018 }
1019
1020 static void
1021 update_menuitem(GtkToggleButton *button, GtkCheckMenuItem *item)
1022 {
1023 g_signal_handlers_block_by_func(G_OBJECT(item), G_CALLBACK(gtk_button_clicked), button);
1024 gtk_check_menu_item_set_active(item, gtk_toggle_button_get_active(button));
1025 g_signal_handlers_unblock_by_func(G_OBJECT(item), G_CALLBACK(gtk_button_clicked), button);
1026 }
1027
902 static void gtk_imhtmltoolbar_init (GtkIMHtmlToolbar *toolbar) 1028 static void gtk_imhtmltoolbar_init (GtkIMHtmlToolbar *toolbar)
903 { 1029 {
904 GtkWidget *hbox = GTK_WIDGET(toolbar); 1030 GtkWidget *hbox = GTK_WIDGET(toolbar);
1031 GtkWidget *bbox;
1032 GtkWidget *image;
1033 GtkWidget *label;
1034 GtkWidget *insert_button;
1035 GtkWidget *font_button;
1036 GtkWidget *font_menu;
1037 GtkWidget *insert_menu;
1038 GtkWidget *menuitem;
905 GtkWidget *button; 1039 GtkWidget *button;
906 GtkWidget *sep; 1040 GtkWidget *sep;
907 GtkSizeGroup *sg; 1041 int i;
1042 struct {
1043 const char *label;
1044 GtkWidget **button;
1045 } buttons[] = {
1046 {_("_Bold"), &toolbar->bold},
1047 {_("_Italic"), &toolbar->italic},
1048 {_("_Underline"), &toolbar->underline},
1049 {_("_Larger"), &toolbar->larger_size},
1050 #if 0
1051 {_("_Normal"), &toolbar->normal_size},
1052 #endif
1053 {_("_Smaller"), &toolbar->smaller_size},
1054 {_("_Font face"), &toolbar->font},
1055 {_("_Foreground color"), &toolbar->fgcolor},
1056 {_("_Background color"), &toolbar->bgcolor},
1057 {NULL, NULL}
1058 };
1059
908 1060
909 toolbar->imhtml = NULL; 1061 toolbar->imhtml = NULL;
910 toolbar->font_dialog = NULL; 1062 toolbar->font_dialog = NULL;
911 toolbar->fgcolor_dialog = NULL; 1063 toolbar->fgcolor_dialog = NULL;
912 toolbar->bgcolor_dialog = NULL; 1064 toolbar->bgcolor_dialog = NULL;
915 toolbar->image_dialog = NULL; 1067 toolbar->image_dialog = NULL;
916 1068
917 toolbar->tooltips = gtk_tooltips_new(); 1069 toolbar->tooltips = gtk_tooltips_new();
918 1070
919 gtk_box_set_spacing(GTK_BOX(toolbar), 3); 1071 gtk_box_set_spacing(GTK_BOX(toolbar), 3);
920 sg = gtk_size_group_new(GTK_SIZE_GROUP_BOTH); 1072
921 1073 gtk_imhtmltoolbar_create_old_buttons(toolbar);
922 /* Bold */ 1074
923 button = pidgin_pixbuf_toolbar_button_from_stock(GTK_STOCK_BOLD); 1075 /* Fonts */
924 gtk_size_group_add_widget(sg, button); 1076 font_button = gtk_toggle_button_new();
925 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); 1077 gtk_button_set_relief(GTK_BUTTON(font_button), GTK_RELIEF_NONE);
926 gtk_tooltips_set_tip(toolbar->tooltips, button, _("Bold"), NULL); 1078 bbox = gtk_hbox_new(FALSE, 3);
927 1079 gtk_container_add(GTK_CONTAINER(font_button), bbox);
928 g_signal_connect(G_OBJECT(button), "clicked", 1080 image = gtk_image_new_from_stock(GTK_STOCK_BOLD, gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL));
929 G_CALLBACK(do_bold), toolbar); 1081 gtk_box_pack_start(GTK_BOX(bbox), image, FALSE, FALSE, 0);
930 1082 label = gtk_label_new_with_mnemonic(_("_Font"));
931 toolbar->bold = button; 1083 gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 0);
932 1084 gtk_box_pack_start(GTK_BOX(hbox), font_button, FALSE, FALSE, 0);
933 /* Italic */ 1085 gtk_widget_show_all(font_button);
934 button = pidgin_pixbuf_toolbar_button_from_stock(GTK_STOCK_ITALIC); 1086
935 gtk_size_group_add_widget(sg, button); 1087 font_menu = gtk_menu_new();
936 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); 1088
937 gtk_tooltips_set_tip(toolbar->tooltips, button, _("Italic"), NULL); 1089
938 1090 for (i = 0; buttons[i].label; i++) {
939 g_signal_connect(G_OBJECT(button), "clicked", 1091 GtkWidget *old = *buttons[i].button;
940 G_CALLBACK(do_italic), toolbar); 1092 menuitem = gtk_check_menu_item_new_with_mnemonic(buttons[i].label);
941 1093 g_signal_connect_swapped(G_OBJECT(menuitem), "activate",
942 toolbar->italic = button; 1094 G_CALLBACK(gtk_button_clicked), old);
943 1095 g_signal_connect_after(G_OBJECT(old), "toggled",
944 /* Underline */ 1096 G_CALLBACK(update_menuitem), menuitem);
945 button = pidgin_pixbuf_toolbar_button_from_stock(GTK_STOCK_UNDERLINE); 1097 gtk_menu_shell_append(GTK_MENU_SHELL(font_menu), menuitem);
946 gtk_size_group_add_widget(sg, button); 1098 g_signal_connect(G_OBJECT(old), "notify::sensitive",
947 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); 1099 G_CALLBACK(button_sensitiveness_changed), menuitem);
948 gtk_tooltips_set_tip(toolbar->tooltips, button, _("Underline"), NULL); 1100 }
949 1101
950 g_signal_connect(G_OBJECT(button), "clicked", 1102 g_signal_connect(G_OBJECT(font_button), "clicked", G_CALLBACK(pidgin_menu_clicked), font_menu);
951 G_CALLBACK(do_underline), toolbar); 1103 g_signal_connect(G_OBJECT(font_menu), "deactivate", G_CALLBACK(pidgin_menu_deactivate), font_button);
952
953 toolbar->underline = button;
954 1104
955 /* Sep */ 1105 /* Sep */
956 sep = gtk_vseparator_new(); 1106 sep = gtk_vseparator_new();
957 gtk_box_pack_start(GTK_BOX(hbox), sep, FALSE, FALSE, 0); 1107 gtk_box_pack_start(GTK_BOX(hbox), sep, FALSE, FALSE, 0);
958 1108 gtk_widget_show_all(sep);
959 /* Increase font size */ 1109
960 button = pidgin_pixbuf_toolbar_button_from_stock(PIDGIN_STOCK_TOOLBAR_TEXT_LARGER); 1110 /* Reset Formatting */
961 gtk_size_group_add_widget(sg, button); 1111 button = gtk_toggle_button_new();
1112 gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE);
1113 bbox = gtk_hbox_new(FALSE, 3);
1114 gtk_container_add(GTK_CONTAINER(button), bbox);
1115 image = gtk_image_new_from_stock(PIDGIN_STOCK_CLEAR, gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL));
1116 gtk_box_pack_start(GTK_BOX(bbox), image, FALSE, FALSE, 0);
1117 label = gtk_label_new_with_mnemonic(_("_Reset font"));
1118 gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 0);
962 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); 1119 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
963 gtk_tooltips_set_tip(toolbar->tooltips, button, 1120 gtk_widget_show_all(button);
964 _("Larger font size"), NULL);
965
966 g_signal_connect(G_OBJECT(button), "clicked", 1121 g_signal_connect(G_OBJECT(button), "clicked",
967 G_CALLBACK(do_big), toolbar); 1122 G_CALLBACK(clear_formatting_cb), toolbar);
968 1123 toolbar->clear = button;
969 toolbar->larger_size = button;
970
971 /* Decrease font size */
972 button = pidgin_pixbuf_toolbar_button_from_stock(PIDGIN_STOCK_TOOLBAR_TEXT_SMALLER);
973 gtk_size_group_add_widget(sg, button);
974 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
975 gtk_tooltips_set_tip(toolbar->tooltips, button,
976 _("Smaller font size"), NULL);
977
978 g_signal_connect(G_OBJECT(button), "clicked",
979 G_CALLBACK(do_small), toolbar);
980
981 toolbar->smaller_size = button;
982 1124
983 /* Sep */ 1125 /* Sep */
984 sep = gtk_vseparator_new(); 1126 sep = gtk_vseparator_new();
985 gtk_box_pack_start(GTK_BOX(hbox), sep, FALSE, FALSE, 0); 1127 gtk_box_pack_start(GTK_BOX(hbox), sep, FALSE, FALSE, 0);
986 1128 gtk_widget_show_all(sep);
987 /* Font Face */ 1129
988 1130 /* Insert */
989 button = pidgin_pixbuf_toolbar_button_from_stock(PIDGIN_STOCK_TOOLBAR_FONT_FACE); 1131 insert_button = gtk_toggle_button_new();
990 gtk_size_group_add_widget(sg, button); 1132 gtk_button_set_relief(GTK_BUTTON(insert_button), GTK_RELIEF_NONE);
991 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); 1133 bbox = gtk_hbox_new(FALSE, 3);
992 gtk_tooltips_set_tip(toolbar->tooltips, button, 1134 gtk_container_add(GTK_CONTAINER(insert_button), bbox);
993 _("Font face"), NULL); 1135 image = gtk_image_new_from_stock(PIDGIN_STOCK_TOOLBAR_INSERT, gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL));
994 1136 gtk_box_pack_start(GTK_BOX(bbox), image, FALSE, FALSE, 0);
995 g_signal_connect(G_OBJECT(button), "clicked", 1137 label = gtk_label_new_with_mnemonic(_("_Insert"));
996 G_CALLBACK(toggle_font), toolbar); 1138 gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 0);
997 1139 gtk_box_pack_start(GTK_BOX(hbox), insert_button, FALSE, FALSE, 0);
998 toolbar->font = button; 1140 gtk_widget_show_all(insert_button);
999 1141
1000 /* Foreground Color */ 1142 insert_menu = gtk_menu_new();
1001 button = pidgin_pixbuf_toolbar_button_from_stock(PIDGIN_STOCK_TOOLBAR_FGCOLOR); 1143
1002 gtk_size_group_add_widget(sg, button); 1144 menuitem = gtk_menu_item_new_with_mnemonic(_("_Smiley"));
1003 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); 1145 g_signal_connect_swapped(G_OBJECT(menuitem), "activate", G_CALLBACK(gtk_button_clicked), toolbar->smiley);
1004 gtk_tooltips_set_tip(toolbar->tooltips, button, 1146 gtk_menu_shell_append(GTK_MENU_SHELL(insert_menu), menuitem);
1005 _("Foreground font color"), NULL); 1147 g_signal_connect(G_OBJECT(toolbar->smiley), "notify::sensitive",
1006 1148 G_CALLBACK(button_sensitiveness_changed), menuitem);
1007 g_signal_connect(G_OBJECT(button), "clicked", 1149
1008 G_CALLBACK(toggle_fg_color), toolbar); 1150 menuitem = gtk_menu_item_new_with_mnemonic(_("_Image"));
1009 1151 g_signal_connect_swapped(G_OBJECT(menuitem), "activate", G_CALLBACK(gtk_button_clicked), toolbar->image);
1010 toolbar->fgcolor = button; 1152 gtk_menu_shell_append(GTK_MENU_SHELL(insert_menu), menuitem);
1011 1153 g_signal_connect(G_OBJECT(toolbar->image), "notify::sensitive",
1012 /* Background Color */ 1154 G_CALLBACK(button_sensitiveness_changed), menuitem);
1013 button = pidgin_pixbuf_toolbar_button_from_stock(PIDGIN_STOCK_TOOLBAR_BGCOLOR); 1155
1014 gtk_size_group_add_widget(sg, button); 1156 menuitem = gtk_menu_item_new_with_mnemonic(_("_Link"));
1015 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); 1157 g_signal_connect_swapped(G_OBJECT(menuitem), "activate", G_CALLBACK(gtk_button_clicked), toolbar->link);
1016 gtk_tooltips_set_tip(toolbar->tooltips, button, 1158 gtk_menu_shell_append(GTK_MENU_SHELL(insert_menu), menuitem);
1017 _("Background color"), NULL); 1159 g_signal_connect(G_OBJECT(toolbar->link), "notify::sensitive",
1018 1160 G_CALLBACK(button_sensitiveness_changed), menuitem);
1019 g_signal_connect(G_OBJECT(button), "clicked", 1161
1020 G_CALLBACK(toggle_bg_color), toolbar); 1162 g_signal_connect(G_OBJECT(insert_button), "clicked", G_CALLBACK(pidgin_menu_clicked), insert_menu);
1021 1163 g_signal_connect(G_OBJECT(insert_menu), "deactivate", G_CALLBACK(pidgin_menu_deactivate), insert_button);
1022 toolbar->bgcolor = button;
1023
1024 /* Sep */
1025 sep = gtk_vseparator_new();
1026 gtk_box_pack_start(GTK_BOX(hbox), sep, FALSE, FALSE, 0);
1027
1028 /* Reset Formatting */
1029 button = pidgin_pixbuf_toolbar_button_from_stock(PIDGIN_STOCK_CLEAR);
1030 gtk_size_group_add_widget(sg, button);
1031 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
1032 gtk_tooltips_set_tip(toolbar->tooltips, button,
1033 _("Reset formatting"), NULL);
1034
1035 g_signal_connect(G_OBJECT(button), "clicked",
1036 G_CALLBACK(clear_formatting_cb), toolbar);
1037
1038 toolbar->clear = button;
1039
1040 /* Sep */
1041 sep = gtk_vseparator_new();
1042 gtk_box_pack_start(GTK_BOX(hbox), sep, FALSE, FALSE, 0);
1043
1044 /* Insert Link */
1045 button = pidgin_pixbuf_toolbar_button_from_stock(PIDGIN_STOCK_TOOLBAR_INSERT_LINK);
1046 gtk_size_group_add_widget(sg, button);
1047 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
1048 gtk_tooltips_set_tip(toolbar->tooltips, button, _("Insert link"), NULL);
1049 g_signal_connect(G_OBJECT(button), "clicked",
1050 G_CALLBACK(insert_link_cb), toolbar);
1051
1052 toolbar->link = button;
1053
1054 /* Insert IM Image */
1055 button = pidgin_pixbuf_toolbar_button_from_stock(PIDGIN_STOCK_TOOLBAR_INSERT_IMAGE);
1056 gtk_size_group_add_widget(sg, button);
1057 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
1058 gtk_tooltips_set_tip(toolbar->tooltips, button, _("Insert image"), NULL);
1059
1060 g_signal_connect(G_OBJECT(button), "clicked",
1061 G_CALLBACK(insert_image_cb), toolbar);
1062
1063 toolbar->image = button;
1064
1065 /* Insert Smiley */
1066 button = pidgin_pixbuf_toolbar_button_from_stock(PIDGIN_STOCK_TOOLBAR_SMILEY);
1067 gtk_size_group_add_widget(sg, button);
1068 gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0);
1069 gtk_tooltips_set_tip(toolbar->tooltips, button, _("Insert smiley"), NULL);
1070
1071 g_signal_connect(G_OBJECT(button), "clicked",
1072 G_CALLBACK(insert_smiley_cb), toolbar);
1073
1074 toolbar->smiley = button;
1075
1076 toolbar->sml = NULL; 1164 toolbar->sml = NULL;
1077 gtk_widget_show_all(hbox);
1078 } 1165 }
1079 1166
1080 GtkWidget *gtk_imhtmltoolbar_new() 1167 GtkWidget *gtk_imhtmltoolbar_new()
1081 { 1168 {
1082 return GTK_WIDGET(g_object_new(gtk_imhtmltoolbar_get_type(), NULL)); 1169 return GTK_WIDGET(g_object_new(gtk_imhtmltoolbar_get_type(), NULL));