comparison gtk/gtkblist.c @ 15352:70407d31099b

[gaim-migrate @ 18144] - Un-urgent blist on receiving focus - Urgentize on auth alerts committer: Tailor Script <tailor@pidgin.im>
author Sean Egan <seanegan@gmail.com>
date Wed, 17 Jan 2007 09:12:01 +0000
parents 03edbb70210f
children
comparison
equal deleted inserted replaced
15351:682908b965cf 15352:70407d31099b
4001 4001
4002 /******************************************/ 4002 /******************************************/
4003 /* End of connection error handling stuff */ 4003 /* End of connection error handling stuff */
4004 /******************************************/ 4004 /******************************************/
4005 4005
4006 static int
4007 blist_focus_cb(GtkWidget *widget, gpointer data, GaimGtkBuddyList *gtkblist)
4008 {
4009 gaim_gtk_set_urgent(GTK_WINDOW(gtkblist->window), FALSE);
4010 return 0;
4011 }
4012
4006 #if 0 4013 #if 0
4007 static GtkWidget * 4014 static GtkWidget *
4008 kiosk_page() 4015 kiosk_page()
4009 { 4016 {
4010 GtkWidget *ret = gtk_vbox_new(FALSE, GAIM_HIG_BOX_SPACE); 4017 GtkWidget *ret = gtk_vbox_new(FALSE, GAIM_HIG_BOX_SPACE);
4080 gtkblist = GAIM_GTK_BLIST(list); 4087 gtkblist = GAIM_GTK_BLIST(list);
4081 4088
4082 gtkblist->window = gtk_window_new(GTK_WINDOW_TOPLEVEL); 4089 gtkblist->window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
4083 gtk_window_set_role(GTK_WINDOW(gtkblist->window), "buddy_list"); 4090 gtk_window_set_role(GTK_WINDOW(gtkblist->window), "buddy_list");
4084 gtk_window_set_title(GTK_WINDOW(gtkblist->window), _("Buddy List")); 4091 gtk_window_set_title(GTK_WINDOW(gtkblist->window), _("Buddy List"));
4092 g_signal_connect(G_OBJECT(gtkblist->window), "focus-in-event",
4093 G_CALLBACK(blist_focus_cb), gtkblist);
4085 GTK_WINDOW(gtkblist->window)->allow_shrink = TRUE; 4094 GTK_WINDOW(gtkblist->window)->allow_shrink = TRUE;
4086 4095
4087 gtkblist->main_vbox = gtk_vbox_new(FALSE, 0); 4096 gtkblist->main_vbox = gtk_vbox_new(FALSE, 0);
4088 gtk_widget_show(gtkblist->main_vbox); 4097 gtk_widget_show(gtkblist->main_vbox);
4089 gtk_container_add(GTK_CONTAINER(gtkblist->window), gtkblist->main_vbox); 4098 gtk_container_add(GTK_CONTAINER(gtkblist->window), gtkblist->main_vbox);
5690 } 5699 }
5691 5700
5692 void gaim_gtk_blist_add_alert(GtkWidget *widget) 5701 void gaim_gtk_blist_add_alert(GtkWidget *widget)
5693 { 5702 {
5694 gtk_container_add(GTK_CONTAINER(gtkblist->scrollbook), widget); 5703 gtk_container_add(GTK_CONTAINER(gtkblist->scrollbook), widget);
5704 if (!GTK_WIDGET_HAS_FOCUS(gtkblist->window))
5705 gaim_gtk_set_urgent(GTK_WINDOW(gtkblist->window), TRUE);
5695 } 5706 }
5696 5707
5697 void 5708 void
5698 gaim_gtk_blist_set_headline(const char *text, GdkPixbuf *pixbuf, GCallback callback, 5709 gaim_gtk_blist_set_headline(const char *text, GdkPixbuf *pixbuf, GCallback callback,
5699 gpointer user_data, GDestroyNotify destroy) 5710 gpointer user_data, GDestroyNotify destroy)
5706 gtk_image_set_from_pixbuf(GTK_IMAGE(gtkblist->headline_image), pixbuf); 5717 gtk_image_set_from_pixbuf(GTK_IMAGE(gtkblist->headline_image), pixbuf);
5707 5718
5708 gtkblist->headline_callback = callback; 5719 gtkblist->headline_callback = callback;
5709 gtkblist->headline_data = user_data; 5720 gtkblist->headline_data = user_data;
5710 gtkblist->headline_destroy = destroy; 5721 gtkblist->headline_destroy = destroy;
5711 gaim_gtk_set_urgent(GTK_WINDOW(gtkblist->window), TRUE); 5722 if (!GTK_WIDGET_HAS_FOCUS(gtkblist->window))
5723 gaim_gtk_set_urgent(GTK_WINDOW(gtkblist->window), TRUE);
5712 gtk_widget_show_all(gtkblist->headline_hbox); 5724 gtk_widget_show_all(gtkblist->headline_hbox);
5713 } 5725 }
5714 5726
5715 static GaimBlistUiOps blist_ui_ops = 5727 static GaimBlistUiOps blist_ui_ops =
5716 { 5728 {