pidgin/gtkimhtmltoolbar.c

changeset 19073
e2da82ea455b
parent 19068
4effc374e407
child 19076
84216ea8ddbf
equal deleted inserted replaced
19072:5dab0146ca9d 19073:e2da82ea455b
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",

mercurial