# HG changeset patch # User Luke Schierer # Date 1136522760 0 # Node ID fcd9477e4476cb90f1493ca32f5e2b1fcb04808b # Parent 33ed71b35a438ad84ea4d5a4a8e48a35817a3076 [gaim-migrate @ 15091] " Adds an emblem to a buddy if they have a queued message (hidden conversation). In the large buddy list it is added in the northwest corner, sliding the existing northwest emblem (if specified) to the northeast position and discarding the northeast emblem. In the small buddy list, the emblem is added to the southeast. Attached is a patch and an emblem image to be dropped in pixmaps/status/default/. The emblem image is a scaled down version of the send-im.png image." -- Casey Harkins as I asked for this patch, and since there don't seem to be objections to it (yet), I'm going ahead and applying it. committer: Tailor Script diff -r 33ed71b35a43 -r fcd9477e4476 pixmaps/status/default/Makefile.am --- a/pixmaps/status/default/Makefile.am Fri Jan 06 04:17:16 2006 +0000 +++ b/pixmaps/status/default/Makefile.am Fri Jan 06 04:46:00 2006 +0000 @@ -33,6 +33,7 @@ occupied.png \ offline.png \ op.png \ + pending.png \ secure.png \ silc.png \ simple.png \ diff -r 33ed71b35a43 -r fcd9477e4476 pixmaps/status/default/pending.png Binary file pixmaps/status/default/pending.png has changed diff -r 33ed71b35a43 -r fcd9477e4476 src/gtkblist.c --- a/src/gtkblist.c Fri Jan 06 04:17:16 2006 +0000 +++ b/src/gtkblist.c Fri Jan 06 04:46:00 2006 +0000 @@ -2859,6 +2859,25 @@ } } + if(buddy) { + GaimConversation *conv = gaim_find_conversation_with_account(GAIM_CONV_TYPE_IM, + gaim_buddy_get_name(buddy), + gaim_buddy_get_account(buddy)); + if(conv != NULL) { + GaimGtkConversation *gtkconv = GAIM_GTK_CONVERSATION(conv); + if(gtkconv != NULL && gaim_gtkconv_is_hidden(gtkconv)) { + /* add pending emblem */ + if(size == GAIM_STATUS_ICON_SMALL) { + emblems[0].filename="pending"; + } + else { + emblems[3].filename=emblems[2].filename; + emblems[2].filename="pending"; + } + } + } + } + if(size == GAIM_STATUS_ICON_SMALL) { scalesize = 15; /* So that only the se icon will composite */ @@ -3302,6 +3321,12 @@ if (type != GAIM_CONV_UPDATE_UNSEEN) return; + if(conv->account != NULL && conv->name != NULL) { + GaimBuddy *buddy = gaim_find_buddy(conv->account, conv->name); + if(buddy != NULL) + gaim_gtk_blist_update_buddy(NULL, (GaimBlistNode *)buddy); + } + if (gtkblist->menutrayicon) { gtk_widget_destroy(gtkblist->menutrayicon); gtkblist->menutrayicon = NULL;