| 959 |
959 |
| 960 static void |
960 static void |
| 961 gtk_imhtmltoolbar_finalize (GObject *object) |
961 gtk_imhtmltoolbar_finalize (GObject *object) |
| 962 { |
962 { |
| 963 GtkIMHtmlToolbar *toolbar = GTK_IMHTMLTOOLBAR(object); |
963 GtkIMHtmlToolbar *toolbar = GTK_IMHTMLTOOLBAR(object); |
| |
964 GtkWidget *menu; |
| 964 |
965 |
| 965 if (toolbar->image_dialog != NULL) |
966 if (toolbar->image_dialog != NULL) |
| 966 { |
967 { |
| 967 gtk_widget_destroy(toolbar->image_dialog); |
968 gtk_widget_destroy(toolbar->image_dialog); |
| 968 toolbar->image_dialog = NULL; |
969 toolbar->image_dialog = NULL; |
| 982 toolbar); |
983 toolbar); |
| 983 } |
984 } |
| 984 |
985 |
| 985 free(toolbar->sml); |
986 free(toolbar->sml); |
| 986 gtk_object_sink(GTK_OBJECT(toolbar->tooltips)); |
987 gtk_object_sink(GTK_OBJECT(toolbar->tooltips)); |
| |
988 |
| |
989 menu = g_object_get_data(object, "font_menu"); |
| |
990 if (menu) |
| |
991 gtk_widget_destroy(menu); |
| |
992 menu = g_object_get_data(object, "insert_menu"); |
| |
993 if (menu) |
| |
994 gtk_widget_destroy(menu); |
| 987 |
995 |
| 988 G_OBJECT_CLASS(parent_class)->finalize (object); |
996 G_OBJECT_CLASS(parent_class)->finalize (object); |
| 989 } |
997 } |
| 990 |
998 |
| 991 /* Boring GTK+ stuff */ |
999 /* Boring GTK+ stuff */ |
| 1144 gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 0); |
1152 gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 0); |
| 1145 gtk_box_pack_start(GTK_BOX(hbox), font_button, FALSE, FALSE, 0); |
1153 gtk_box_pack_start(GTK_BOX(hbox), font_button, FALSE, FALSE, 0); |
| 1146 gtk_widget_show_all(font_button); |
1154 gtk_widget_show_all(font_button); |
| 1147 |
1155 |
| 1148 font_menu = gtk_menu_new(); |
1156 font_menu = gtk_menu_new(); |
| 1149 |
1157 g_object_set_data(G_OBJECT(toolbar), "font_menu", font_menu); |
| 1150 |
1158 |
| 1151 for (i = 0; buttons[i].label; i++) { |
1159 for (i = 0; buttons[i].label; i++) { |
| 1152 GtkWidget *old = *buttons[i].button; |
1160 GtkWidget *old = *buttons[i].button; |
| 1153 menuitem = gtk_check_menu_item_new_with_mnemonic(buttons[i].label); |
1161 menuitem = gtk_check_menu_item_new_with_mnemonic(buttons[i].label); |
| 1154 g_signal_connect_swapped(G_OBJECT(menuitem), "activate", |
1162 g_signal_connect_swapped(G_OBJECT(menuitem), "activate", |
| 1155 G_CALLBACK(gtk_button_clicked), old); |
1163 G_CALLBACK(gtk_button_clicked), old); |
| 1199 gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 0); |
1207 gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 0); |
| 1200 gtk_box_pack_start(GTK_BOX(hbox), insert_button, FALSE, FALSE, 0); |
1208 gtk_box_pack_start(GTK_BOX(hbox), insert_button, FALSE, FALSE, 0); |
| 1201 gtk_widget_show_all(insert_button); |
1209 gtk_widget_show_all(insert_button); |
| 1202 |
1210 |
| 1203 insert_menu = gtk_menu_new(); |
1211 insert_menu = gtk_menu_new(); |
| |
1212 g_object_set_data(G_OBJECT(toolbar), "insert_menu", insert_menu); |
| 1204 |
1213 |
| 1205 menuitem = gtk_menu_item_new_with_mnemonic(_("_Smiley")); |
1214 menuitem = gtk_menu_item_new_with_mnemonic(_("_Smiley")); |
| 1206 g_signal_connect_swapped(G_OBJECT(menuitem), "activate", G_CALLBACK(gtk_button_clicked), toolbar->smiley); |
1215 g_signal_connect_swapped(G_OBJECT(menuitem), "activate", G_CALLBACK(gtk_button_clicked), toolbar->smiley); |
| 1207 gtk_menu_shell_append(GTK_MENU_SHELL(insert_menu), menuitem); |
1216 gtk_menu_shell_append(GTK_MENU_SHELL(insert_menu), menuitem); |
| 1208 g_signal_connect(G_OBJECT(toolbar->smiley), "notify::sensitive", |
1217 g_signal_connect(G_OBJECT(toolbar->smiley), "notify::sensitive", |