Mercurial > pidgin.yaz
changeset 22299:858ce8a1fc8c
Pull setting the urgent hint on the blist when it is unfocused into its own
function.
author | Will Thompson <will.thompson@collabora.co.uk> |
---|---|
date | Sat, 16 Feb 2008 18:13:48 +0000 |
parents | 7c5734075af3 |
children | cccdcc7e5642 |
files | pidgin/gtkblist.c |
diffstat | 1 files changed, 15 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/pidgin/gtkblist.c Sat Feb 16 15:25:19 2008 +0000 +++ b/pidgin/gtkblist.c Sat Feb 16 18:13:48 2008 +0000 @@ -159,6 +159,7 @@ static void pidgin_blist_collapse_contact_cb(GtkWidget *w, PurpleBlistNode *node); static char *pidgin_get_group_title(PurpleBlistNode *gnode, gboolean expanded); static void pidgin_blist_expand_contact_cb(GtkWidget *w, PurpleBlistNode *node); +static void set_urgent(void); typedef enum { PIDGIN_BLIST_NODE_HAS_PENDING_MESSAGE = 1 << 0, /* Whether there's pending message in a conversation */ @@ -4443,8 +4444,7 @@ PidginBuddyListPrivate *priv = PIDGIN_BUDDY_LIST_GET_PRIVATE(gtkblist); gtk_container_add(GTK_CONTAINER(priv->error_scrollbook), dialog); - if (!GTK_WIDGET_HAS_FOCUS(gtkblist->window)) - pidgin_set_urgent(GTK_WINDOW(gtkblist->window), TRUE); + set_urgent(); } static GtkWidget * @@ -4591,8 +4591,7 @@ GTK_CONTAINER(priv->error_scrollbook), account); pidgin_mini_dialog_set_description(PIDGIN_MINI_DIALOG(mini_dialog), description); - if (!GTK_WIDGET_HAS_FOCUS(gtkblist->window)) - pidgin_set_urgent(GTK_WINDOW(gtkblist->window), TRUE); + set_urgent(); } @@ -4749,8 +4748,7 @@ update_signed_on_elsewhere_minidialog_title(); - if (!GTK_WIDGET_HAS_FOCUS(gtkblist->window)) - pidgin_set_urgent(GTK_WINDOW(gtkblist->window), TRUE); + set_urgent(); } static void @@ -4776,8 +4774,7 @@ GtkContainer *c = GTK_CONTAINER(priv->signed_on_elsewhere->contents); GtkWidget *label = find_child_widget_by_account(c, account); gtk_widget_set_tooltip_text(label, description); - if (!GTK_WIDGET_HAS_FOCUS(gtkblist->window)) - pidgin_set_urgent(GTK_WINDOW(gtkblist->window), TRUE); + set_urgent(); #endif } @@ -6805,8 +6802,7 @@ void pidgin_blist_add_alert(GtkWidget *widget) { gtk_container_add(GTK_CONTAINER(gtkblist->scrollbook), widget); - if (!GTK_WIDGET_HAS_FOCUS(gtkblist->window)) - pidgin_set_urgent(GTK_WINDOW(gtkblist->window), TRUE); + set_urgent(); } void @@ -6824,14 +6820,21 @@ gtkblist->headline_data = user_data; gtkblist->headline_destroy = destroy; if (text != NULL || pixbuf != NULL) { - if (!GTK_WIDGET_HAS_FOCUS(gtkblist->window)) - pidgin_set_urgent(GTK_WINDOW(gtkblist->window), TRUE); + set_urgent(); gtk_widget_show_all(gtkblist->headline_hbox); } else { gtk_widget_hide(gtkblist->headline_hbox); } } + +static void +set_urgent(void) +{ + if (!GTK_WIDGET_HAS_FOCUS(gtkblist->window)) + pidgin_set_urgent(GTK_WINDOW(gtkblist->window), TRUE); +} + static PurpleBlistUiOps blist_ui_ops = { pidgin_blist_new_list,