| 4822 if (node) |
4822 if (node) |
| 4823 pidgin_blist_draw_tooltip(node, gtkconv->infopane); |
4823 pidgin_blist_draw_tooltip(node, gtkconv->infopane); |
| 4824 return FALSE; |
4824 return FALSE; |
| 4825 } |
4825 } |
| 4826 |
4826 |
| 4827 /* Close button {{{ */ |
|
| 4828 static gboolean |
|
| 4829 close_button_left_cb(GtkWidget *widget, GdkEventCrossing *event, GtkLabel *label) |
|
| 4830 { |
|
| 4831 static GdkCursor *ptr = NULL; |
|
| 4832 if (ptr == NULL) { |
|
| 4833 ptr = gdk_cursor_new(GDK_LEFT_PTR); |
|
| 4834 } |
|
| 4835 |
|
| 4836 gtk_label_set_markup(label, "×"); |
|
| 4837 gdk_window_set_cursor(event->window, ptr); |
|
| 4838 return FALSE; |
|
| 4839 } |
|
| 4840 |
|
| 4841 static gboolean |
|
| 4842 close_button_entered_cb(GtkWidget *widget, GdkEventCrossing *event, GtkLabel *label) |
|
| 4843 { |
|
| 4844 static GdkCursor *hand = NULL; |
|
| 4845 if (hand == NULL) { |
|
| 4846 hand = gdk_cursor_new(GDK_HAND2); |
|
| 4847 } |
|
| 4848 |
|
| 4849 gtk_label_set_markup(label, "<u>×</u>"); |
|
| 4850 gdk_window_set_cursor(event->window, hand); |
|
| 4851 return FALSE; |
|
| 4852 } |
|
| 4853 |
|
| 4854 static GtkWidget * |
|
| 4855 create_close_button(void) |
|
| 4856 { |
|
| 4857 GtkWidget *ebox = gtk_event_box_new(); |
|
| 4858 GtkWidget *close_image; |
|
| 4859 |
|
| 4860 gtk_event_box_set_visible_window(GTK_EVENT_BOX(ebox), FALSE); |
|
| 4861 gtk_widget_set_events(ebox, GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK); |
|
| 4862 close_image = gtk_label_new("×"); |
|
| 4863 g_signal_connect(G_OBJECT(ebox), "enter-notify-event", G_CALLBACK(close_button_entered_cb), close_image); |
|
| 4864 g_signal_connect(G_OBJECT(ebox), "leave-notify-event", G_CALLBACK(close_button_left_cb), close_image); |
|
| 4865 gtk_widget_show(close_image); |
|
| 4866 gtk_container_add(GTK_CONTAINER(ebox), close_image); |
|
| 4867 |
|
| 4868 return ebox; |
|
| 4869 } |
|
| 4870 |
|
| 4871 /* }}} */ |
|
| 4872 |
|
| 4873 /* Quick Find {{{ */ |
4827 /* Quick Find {{{ */ |
| 4874 static gboolean |
4828 static gboolean |
| 4875 pidgin_conv_end_quickfind(PidginConversation *gtkconv) |
4829 pidgin_conv_end_quickfind(PidginConversation *gtkconv) |
| 4876 { |
4830 { |
| 4877 gtk_widget_modify_base(gtkconv->quickfind.entry, GTK_STATE_NORMAL, NULL); |
4831 gtk_widget_modify_base(gtkconv->quickfind.entry, GTK_STATE_NORMAL, NULL); |
| 4910 |
4864 |
| 4911 static void |
4865 static void |
| 4912 pidgin_conv_setup_quickfind(PidginConversation *gtkconv, GtkWidget *container) |
4866 pidgin_conv_setup_quickfind(PidginConversation *gtkconv, GtkWidget *container) |
| 4913 { |
4867 { |
| 4914 GtkWidget *widget = gtk_hbox_new(FALSE, 0); |
4868 GtkWidget *widget = gtk_hbox_new(FALSE, 0); |
| 4915 GtkWidget *label, *entry, *close; |
4869 GtkWidget *label, *entry, *close, *image; |
| 4916 |
4870 |
| 4917 gtk_box_pack_start(GTK_BOX(container), widget, FALSE, FALSE, 0); |
4871 gtk_box_pack_start(GTK_BOX(container), widget, FALSE, FALSE, 0); |
| 4918 |
4872 |
| 4919 close = create_close_button(); |
4873 image = gtk_image_new_from_stock(GTK_STOCK_CLOSE, GTK_ICON_SIZE_MENU); |
| |
4874 close = pidgin_create_small_button(image); |
| 4920 gtk_box_pack_start(GTK_BOX(widget), close, FALSE, FALSE, 0); |
4875 gtk_box_pack_start(GTK_BOX(widget), close, FALSE, FALSE, 0); |
| 4921 gtk_tooltips_set_tip(gtkconv->tooltips, close, |
4876 gtk_tooltips_set_tip(gtkconv->tooltips, close, |
| 4922 _("Close Find bar"), NULL); |
4877 _("Close Find bar"), NULL); |
| 4923 |
4878 |
| 4924 label = gtk_label_new(_("Find:")); |
4879 label = gtk_label_new(_("Find:")); |