pidgin/gtkconv.c

changeset 29900
9cea160cd776
parent 29896
fd9614c33141
child 30002
cab5e4b11ed2
equal deleted inserted replaced
29899:71999899efd1 29900:9cea160cd776
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:"));

mercurial