Mercurial > pidgin.yaz
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 { |