plugins/docklet/docklet.c

changeset 12116
17bf39d2678f
parent 12113
dfbdedc096c0
child 12136
027b7ebee256
--- a/plugins/docklet/docklet.c	Wed Nov 16 17:55:26 2005 +0000
+++ b/plugins/docklet/docklet.c	Wed Nov 16 18:17:01 2005 +0000
@@ -178,31 +178,6 @@
 	return FALSE;
 }
 
-static gboolean
-focus_first_unseen_conv()
-{
-	GList *l;
-	GaimConversation *conv;
-	GaimGtkConversation *gtkconv;
-
-	/* find first im with unseen messages */
-	for(l = gaim_get_ims(); l!=NULL; l=l->next) {
-		conv = (GaimConversation*)l->data;
-		if(GAIM_IS_GTK_CONVERSATION(conv)) {
-			gtkconv=GAIM_GTK_CONVERSATION(conv);
-			if(gtkconv->unseen_state!=GAIM_UNSEEN_NONE) {
-				gtkconv->active_conv=conv;
-				gaim_gtk_conv_window_switch_gtkconv(gtkconv->win, gtkconv);
-				gaim_gtk_conv_window_raise(gtkconv->win);
-				gtk_window_present(GTK_WINDOW(gtkconv->win->window));
-				return TRUE;
-			}
-		}
-	}
-
-	return FALSE;
-}
-
 /**************************************************************************
  * callbacks and signal handlers
  **************************************************************************/
@@ -369,9 +344,10 @@
 {
 	switch (button_type) {
 		case 1:
-			if(status==DOCKLET_STATUS_ONLINE_PENDING 
-					|| status==DOCKLET_STATUS_AWAY_PENDING)
-				focus_first_unseen_conv();
+			if(status==DOCKLET_STATUS_ONLINE_PENDING || status==DOCKLET_STATUS_AWAY_PENDING)
+				gaim_gtkconv_present_conversation(
+						gaim_gtk_conversations_get_first_unseen(
+						GAIM_CONV_TYPE_IM, GAIM_UNSEEN_TEXT));
 			else
 				gaim_gtk_blist_toggle_visibility();
 			break;

mercurial