comparison pidgin/gtkimhtmltoolbar.c @ 17656:850550c53bbe

disapproval of revision '2ad8703a579d72666763a6ba6e150ed8d68357e9'
author Sean Egan <seanegan@gmail.com>
date Wed, 06 Jun 2007 00:57:17 +0000
parents 4d53ccae32b0
children 3b3b6fd6714e
comparison
equal deleted inserted replaced
17655:4d53ccae32b0 17656:850550c53bbe
855 855
856 /* This comes from gtkmenutoolbutton.c from gtk+ 856 /* This comes from gtkmenutoolbutton.c from gtk+
857 * Copyright (C) 2003 Ricardo Fernandez Pascual 857 * Copyright (C) 2003 Ricardo Fernandez Pascual
858 * Copyright (C) 2004 Paolo Borelli 858 * Copyright (C) 2004 Paolo Borelli
859 */ 859 */
860 static void
861 menu_position_func (GtkMenu *menu, 860 menu_position_func (GtkMenu *menu,
862 int *x, 861 int *x,
863 int *y, 862 int *y,
864 gboolean *push_in, 863 gboolean *push_in,
865 gpointer data) 864 GtkWidget *widget)
866 { 865 {
866 GtkRequisition req;
867 GtkRequisition menu_req; 867 GtkRequisition menu_req;
868 GtkOrientation orientation;
868 GtkTextDirection direction; 869 GtkTextDirection direction;
869 GdkRectangle monitor; 870 GdkRectangle monitor;
870 gint monitor_num; 871 gint monitor_num;
871 GdkScreen *screen; 872 GdkScreen *screen;
872 GtkWidget *widget = data;
873 873
874 gtk_widget_size_request (GTK_WIDGET (widget), &menu_req); 874 gtk_widget_size_request (GTK_WIDGET (widget), &menu_req);
875 875
876 direction = gtk_widget_get_direction (widget); 876 direction = gtk_widget_get_direction (widget);
877 877
900 *y -= menu_req.height; 900 *y -= menu_req.height;
901 *push_in = FALSE; 901 *push_in = FALSE;
902 } 902 }
903 903
904 static void pidgin_menu_clicked(GtkWidget *button, GtkMenu *menu) { 904 static void pidgin_menu_clicked(GtkWidget *button, GtkMenu *menu) {
905 gtk_widget_show_all(GTK_WIDGET(menu)); 905 gtk_widget_show_all(menu);
906 gtk_menu_popup(menu, NULL, NULL, menu_position_func, button, 0, gtk_get_current_event_time()); 906 gtk_menu_popup(menu, NULL, NULL, menu_position_func, button, 0, gtk_get_current_event_time());
907 } 907 }
908 908
909 static void pidgin_menu_deactivate(GtkWidget *menu, GtkToggleButton *button) { 909 static void pidgin_menu_deactivate(GtkWidget *menu, GtkToggleButton *button) {
910 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), FALSE); 910 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), FALSE);
1068 gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 0); 1068 gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 0);
1069 gtk_box_pack_start(GTK_BOX(hbox), font_button, FALSE, FALSE, 0); 1069 gtk_box_pack_start(GTK_BOX(hbox), font_button, FALSE, FALSE, 0);
1070 gtk_widget_show_all(font_button); 1070 gtk_widget_show_all(font_button);
1071 1071
1072 font_menu = gtk_menu_new(); 1072 font_menu = gtk_menu_new();
1073 1073
1074 button = gtk_check_menu_item_new_with_mnemonic(_("_Bold")); 1074 button = gtk_check_menu_item_new_with_mnemonic(_("_Bold"));
1075 g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gtk_button_clicked), toolbar->bold); 1075 g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gtk_button_clicked), toolbar->bold);
1076 gtk_menu_shell_append(GTK_MENU_SHELL(font_menu), button); 1076 gtk_menu_shell_append(font_menu, button);
1077 1077
1078 button = gtk_check_menu_item_new_with_mnemonic(_("_Italic")); 1078 button = gtk_check_menu_item_new_with_mnemonic(_("_Italic"));
1079 g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gtk_button_clicked), toolbar->italic); 1079 g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gtk_button_clicked), toolbar->italic);
1080 gtk_menu_shell_append(GTK_MENU_SHELL(font_menu), button); 1080 gtk_menu_shell_append(font_menu, button);
1081 1081
1082 button = gtk_check_menu_item_new_with_mnemonic(_("_Underline")); 1082 button = gtk_check_menu_item_new_with_mnemonic(_("_Underline"));
1083 g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gtk_button_clicked), toolbar->underline); 1083 g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gtk_button_clicked), toolbar->underline);
1084 gtk_menu_shell_append(GTK_MENU_SHELL(font_menu), button); 1084 gtk_menu_shell_append(font_menu, button);
1085 1085
1086 button = gtk_menu_item_new_with_mnemonic(_("_Larger")); 1086 button = gtk_menu_item_new_with_mnemonic(_("_Larger"));
1087 g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gtk_button_clicked), toolbar->larger_size); 1087 g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gtk_button_clicked), toolbar->larger_size);
1088 gtk_menu_shell_append(GTK_MENU_SHELL(font_menu), button); 1088 gtk_menu_shell_append(font_menu, button);
1089 1089
1090 button = gtk_menu_item_new_with_mnemonic(_("_Normal")); 1090 button = gtk_menu_item_new_with_mnemonic(_("_Normal"));
1091 g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gtk_button_clicked), toolbar->normal_size); 1091 g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gtk_button_clicked), toolbar->normal_size);
1092 gtk_menu_shell_append(GTK_MENU_SHELL(font_menu), button); 1092 gtk_menu_shell_append(font_menu, button);
1093 1093
1094 button = gtk_menu_item_new_with_mnemonic(_("_Smaller")); 1094 button = gtk_menu_item_new_with_mnemonic(_("_Smaller"));
1095 g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gtk_button_clicked), toolbar->smaller_size); 1095 g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gtk_button_clicked), toolbar->smaller_size);
1096 gtk_menu_shell_append(GTK_MENU_SHELL(font_menu), button); 1096 gtk_menu_shell_append(font_menu, button);
1097 1097
1098 button = gtk_menu_item_new_with_mnemonic(_("_Font face")); 1098 button = gtk_menu_item_new_with_mnemonic(_("_Font face"));
1099 g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gtk_button_clicked), toolbar->font); 1099 g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gtk_button_clicked), toolbar->font);
1100 gtk_menu_shell_append(GTK_MENU_SHELL(font_menu), button); 1100 gtk_menu_shell_append(font_menu, button);
1101 1101
1102 button = gtk_menu_item_new_with_mnemonic(_("_Foreground color")); 1102 button = gtk_menu_item_new_with_mnemonic(_("_Foreground color"));
1103 g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gtk_button_clicked), toolbar->fgcolor); 1103 g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gtk_button_clicked), toolbar->fgcolor);
1104 gtk_menu_shell_append(GTK_MENU_SHELL(font_menu), button); 1104 gtk_menu_shell_append(font_menu, button);
1105 1105
1106 button = gtk_menu_item_new_with_mnemonic(_("_Background color")); 1106 button = gtk_menu_item_new_with_mnemonic(_("_Background color"));
1107 g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gtk_button_clicked), toolbar->bgcolor); 1107 g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gtk_button_clicked), toolbar->bgcolor);
1108 gtk_menu_shell_append(GTK_MENU_SHELL(font_menu), button); 1108 gtk_menu_shell_append(font_menu, button);
1109 1109
1110 g_signal_connect(G_OBJECT(font_button), "clicked", G_CALLBACK(pidgin_menu_clicked), font_menu); 1110 g_signal_connect(G_OBJECT(font_button), "clicked", G_CALLBACK(pidgin_menu_clicked), font_menu);
1111 g_signal_connect(G_OBJECT(font_menu), "deactivate", G_CALLBACK(pidgin_menu_deactivate), font_button); 1111 g_signal_connect(G_OBJECT(font_menu), "deactivate", G_CALLBACK(pidgin_menu_deactivate), font_button);
1112 1112
1113 /* Sep */ 1113 /* Sep */
1114 sep = gtk_vseparator_new(); 1114 sep = gtk_vseparator_new();
1146 gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 0); 1146 gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 0);
1147 gtk_box_pack_start(GTK_BOX(hbox), insert_button, FALSE, FALSE, 0); 1147 gtk_box_pack_start(GTK_BOX(hbox), insert_button, FALSE, FALSE, 0);
1148 gtk_widget_show_all(insert_button); 1148 gtk_widget_show_all(insert_button);
1149 1149
1150 insert_menu = gtk_menu_new(); 1150 insert_menu = gtk_menu_new();
1151 1151
1152 button = gtk_menu_item_new_with_mnemonic(_("_Smiley")); 1152 button = gtk_menu_item_new_with_mnemonic(_("_Smiley"));
1153 g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gtk_button_clicked), toolbar->smiley); 1153 g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gtk_button_clicked), toolbar->smiley);
1154 gtk_menu_shell_append(GTK_MENU_SHELL(insert_menu), button); 1154 gtk_menu_shell_append(insert_menu, button);
1155 1155
1156 button = gtk_menu_item_new_with_mnemonic(_("_Image")); 1156 button = gtk_menu_item_new_with_mnemonic(_("_Image"));
1157 g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gtk_button_clicked), toolbar->image); 1157 g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gtk_button_clicked), toolbar->image);
1158 gtk_menu_shell_append(GTK_MENU_SHELL(insert_menu), button); 1158 gtk_menu_shell_append(insert_menu, button);
1159 1159
1160 button = gtk_menu_item_new_with_mnemonic(_("_Link")); 1160 button = gtk_menu_item_new_with_mnemonic(_("_Link"));
1161 g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gtk_button_clicked), toolbar->link); 1161 g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gtk_button_clicked), toolbar->link);
1162 gtk_menu_shell_append(GTK_MENU_SHELL(insert_menu), button); 1162 gtk_menu_shell_append(insert_menu, button);
1163 1163
1164 g_signal_connect(G_OBJECT(insert_button), "clicked", G_CALLBACK(pidgin_menu_clicked), insert_menu); 1164 g_signal_connect(G_OBJECT(insert_button), "clicked", G_CALLBACK(pidgin_menu_clicked), insert_menu);
1165 g_signal_connect(G_OBJECT(insert_menu), "deactivate", G_CALLBACK(pidgin_menu_deactivate), insert_button); 1165 g_signal_connect(G_OBJECT(insert_menu), "deactivate", G_CALLBACK(pidgin_menu_deactivate), insert_button);
1166 toolbar->sml = NULL; 1166 toolbar->sml = NULL;
1167 } 1167 }
1168 1168
1169 GtkWidget *gtk_imhtmltoolbar_new() 1169 GtkWidget *gtk_imhtmltoolbar_new()
1170 { 1170 {