src/ticker.c

Sat, 22 Sep 2001 11:35:00 +0000

author
Eric Warmenhoven <warmenhoven@yahoo.com>
date
Sat, 22 Sep 2001 11:35:00 +0000
changeset 2350
94cc09f218c0
parent 2313
f7f7ff0b8d4a
child 2534
e85f96b8bb9e
permissions
-rw-r--r--

[gaim-migrate @ 2363]
I have an Abba song stuck in my head but I don't know what it's called or what any of the words are, except "Take a chance on me". Just that one line, over and over and over and over. And all because my sound card driver doesn't work and I'm too lazy to switch the speakers from blue back to penguin.

430
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
1 /* GTK - The GIMP Toolkit
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
2 * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
3 *
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
4 * This library is free software; you can redistribute it and/or
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
5 * modify it under the terms of the GNU Library General Public
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
6 * License as published by the Free Software Foundation; either
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
7 * version 2 of the License, or (at your option) any later version.
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
8 *
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
9 * This library is distributed in the hope that it will be useful,
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
12 * Library General Public License for more details.
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
13 *
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
14 * You should have received a copy of the GNU Library General Public
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
15 * License along with this library; if not, write to the
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
17 * Boston, MA 02111-1307, USA.
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
18 */
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
19
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
20 /*
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
21 * ticker.c -- Syd Logan, Summer 2000
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
22 */
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
23
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
24 #include <gtk/gtk.h>
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
25 #include "gtkticker.h"
469
27d43a8ddcc6 [gaim-migrate @ 479]
Rob Flynn <gaim@robflynn.com>
parents: 460
diff changeset
26 #include <string.h>
604
a20b54408619 [gaim-migrate @ 614]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 469
diff changeset
27 #include <stdlib.h>
955
fb122efe31fa [gaim-migrate @ 965]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 905
diff changeset
28 #include "gaim.h"
1750
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
29 #include "prpl.h"
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
30 #include "pixmaps/no_icon.xpm"
430
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
31
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
32 GtkWidget *tickerwindow = NULL;
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
33 GtkWidget *ticker;
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
34
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
35 typedef struct {
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
36 char buddy[ 128 ];
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
37 GtkWidget *hbox;
438
c636dffa73b3 [gaim-migrate @ 448]
Syd Logan <slogan@users.sourceforge.net>
parents: 436
diff changeset
38 GtkWidget *ebox;
430
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
39 GtkWidget *label;
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
40 GtkWidget *pix;
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
41 } TickerData;
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
42
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
43 static GList *tickerbuds = (GList *) NULL;
432
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
44 static gboolean userclose = FALSE;
433
9572b183255a [gaim-migrate @ 443]
Syd Logan <slogan@users.sourceforge.net>
parents: 432
diff changeset
45 static GtkWidget *msgw;
430
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
46
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
47 void BuddyTickerDestroyWindow( GtkWidget *window );
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
48 void BuddyTickerCreateWindow( void );
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
49 void BuddyTickerAddUser( char *name, GdkPixmap *pm, GdkBitmap *bm );
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
50 void BuddyTickerRemoveUser( char *name );
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
51 void BuddyTickerSetPixmap( char *name, GdkPixmap *pm, GdkBitmap *bm );
432
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
52 void BuddyTickerClearList( void );
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
53 void BuddyTickerSignOff( void );
430
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
54 GList * BuddyTickerFindUser( char *name );
433
9572b183255a [gaim-migrate @ 443]
Syd Logan <slogan@users.sourceforge.net>
parents: 432
diff changeset
55 int BuddyTickerMessageRemove( gpointer data );
604
a20b54408619 [gaim-migrate @ 614]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 469
diff changeset
56 extern void pressed_ticker(char *);
1750
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
57 void BuddyTickerShow();
436
2314dcf7c7d4 [gaim-migrate @ 446]
Syd Logan <slogan@users.sourceforge.net>
parents: 434
diff changeset
58
430
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
59 void
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
60 BuddyTickerDestroyWindow( GtkWidget *window )
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
61 {
432
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
62 BuddyTickerClearList();
430
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
63 gtk_ticker_stop_scroll( GTK_TICKER( ticker ) );
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
64 gtk_widget_destroy( window );
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
65 ticker = tickerwindow = (GtkWidget *) NULL;
432
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
66 userclose = TRUE;
430
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
67 }
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
68
955
fb122efe31fa [gaim-migrate @ 965]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 905
diff changeset
69 static char *msg = "Welcome to GAIM " VERSION ", brought to you by Rob Flynn (maintainer), Eric Warmenhoven, Mark Spencer, Jeramey Crawford, Jim Duchek, and Syd Logan";
433
9572b183255a [gaim-migrate @ 443]
Syd Logan <slogan@users.sourceforge.net>
parents: 432
diff changeset
70
430
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
71 void
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
72 BuddyTickerCreateWindow()
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
73 {
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
74 if ( tickerwindow != (GtkWidget *) NULL )
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
75 return;
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
76 tickerwindow = gtk_window_new (GTK_WINDOW_TOPLEVEL);
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
77 gtk_signal_connect (GTK_OBJECT(tickerwindow), "destroy",
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
78 GTK_SIGNAL_FUNC (BuddyTickerDestroyWindow), "WM destroy");
433
9572b183255a [gaim-migrate @ 443]
Syd Logan <slogan@users.sourceforge.net>
parents: 432
diff changeset
79 gtk_window_set_title (GTK_WINDOW(tickerwindow), "GAIM - Buddy Ticker");
905
7a2da3bc1ebe [gaim-migrate @ 915]
Rob Flynn <gaim@robflynn.com>
parents: 604
diff changeset
80 gtk_window_set_wmclass (GTK_WINDOW(tickerwindow),
7a2da3bc1ebe [gaim-migrate @ 915]
Rob Flynn <gaim@robflynn.com>
parents: 604
diff changeset
81 "ticker", "Gaim");
430
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
82
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
83 ticker = gtk_ticker_new();
433
9572b183255a [gaim-migrate @ 443]
Syd Logan <slogan@users.sourceforge.net>
parents: 432
diff changeset
84 gtk_ticker_set_spacing( GTK_TICKER( ticker ), 20 );
9572b183255a [gaim-migrate @ 443]
Syd Logan <slogan@users.sourceforge.net>
parents: 432
diff changeset
85 gtk_widget_set_usize( ticker, 500, -1 );
430
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
86 gtk_container_add( GTK_CONTAINER( tickerwindow ), ticker );
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
87 gtk_ticker_set_interval( GTK_TICKER( ticker ), 500 );
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
88 gtk_ticker_set_scootch( GTK_TICKER( ticker ), 10 );
433
9572b183255a [gaim-migrate @ 443]
Syd Logan <slogan@users.sourceforge.net>
parents: 432
diff changeset
89 msgw = gtk_label_new( msg );
9572b183255a [gaim-migrate @ 443]
Syd Logan <slogan@users.sourceforge.net>
parents: 432
diff changeset
90 gtk_ticker_add( GTK_TICKER( ticker ), msgw );
430
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
91 gtk_ticker_start_scroll( GTK_TICKER( ticker ) );
433
9572b183255a [gaim-migrate @ 443]
Syd Logan <slogan@users.sourceforge.net>
parents: 432
diff changeset
92
9572b183255a [gaim-migrate @ 443]
Syd Logan <slogan@users.sourceforge.net>
parents: 432
diff changeset
93 gtk_timeout_add( 60000, BuddyTickerMessageRemove, (gpointer) NULL );
9572b183255a [gaim-migrate @ 443]
Syd Logan <slogan@users.sourceforge.net>
parents: 432
diff changeset
94
9572b183255a [gaim-migrate @ 443]
Syd Logan <slogan@users.sourceforge.net>
parents: 432
diff changeset
95 gtk_widget_show_all (ticker);
9572b183255a [gaim-migrate @ 443]
Syd Logan <slogan@users.sourceforge.net>
parents: 432
diff changeset
96
430
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
97 }
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
98
438
c636dffa73b3 [gaim-migrate @ 448]
Syd Logan <slogan@users.sourceforge.net>
parents: 436
diff changeset
99 gint
c636dffa73b3 [gaim-migrate @ 448]
Syd Logan <slogan@users.sourceforge.net>
parents: 436
diff changeset
100 ButtonPressCallback( GtkWidget *widget, GdkEvent *event, gpointer callback_data )
c636dffa73b3 [gaim-migrate @ 448]
Syd Logan <slogan@users.sourceforge.net>
parents: 436
diff changeset
101 {
c636dffa73b3 [gaim-migrate @ 448]
Syd Logan <slogan@users.sourceforge.net>
parents: 436
diff changeset
102 TickerData *p = (TickerData *) callback_data;
c636dffa73b3 [gaim-migrate @ 448]
Syd Logan <slogan@users.sourceforge.net>
parents: 436
diff changeset
103
c636dffa73b3 [gaim-migrate @ 448]
Syd Logan <slogan@users.sourceforge.net>
parents: 436
diff changeset
104 pressed_ticker( p->buddy );
604
a20b54408619 [gaim-migrate @ 614]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 469
diff changeset
105
a20b54408619 [gaim-migrate @ 614]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 469
diff changeset
106 return TRUE;
438
c636dffa73b3 [gaim-migrate @ 448]
Syd Logan <slogan@users.sourceforge.net>
parents: 436
diff changeset
107 }
c636dffa73b3 [gaim-migrate @ 448]
Syd Logan <slogan@users.sourceforge.net>
parents: 436
diff changeset
108
430
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
109 void
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
110 BuddyTickerAddUser( char *name, GdkPixmap *pm, GdkBitmap *bm )
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
111 {
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
112 TickerData *p;
432
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
113 GList *q;
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
114
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
115 if ( userclose == TRUE )
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
116 return;
436
2314dcf7c7d4 [gaim-migrate @ 446]
Syd Logan <slogan@users.sourceforge.net>
parents: 434
diff changeset
117
2314dcf7c7d4 [gaim-migrate @ 446]
Syd Logan <slogan@users.sourceforge.net>
parents: 434
diff changeset
118 BuddyTickerCreateWindow();
2314dcf7c7d4 [gaim-migrate @ 446]
Syd Logan <slogan@users.sourceforge.net>
parents: 434
diff changeset
119
432
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
120 q = (GList *) BuddyTickerFindUser( name );
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
121 if ( q != (GList *) NULL )
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
122 return;
430
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
123
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
124 p = (TickerData *) malloc( sizeof( TickerData ) );
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
125 p->hbox = (GtkWidget *) NULL;
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
126 p->label = (GtkWidget *) NULL;
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
127 p->pix = (GtkWidget *) NULL;
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
128 strcpy( p->buddy, name );
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
129 tickerbuds = g_list_append( tickerbuds, p );
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
130
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
131 p->hbox = gtk_hbox_new( FALSE, 0 );
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
132 gtk_ticker_add( GTK_TICKER( ticker ), p->hbox );
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
133 gtk_widget_show_all( p->hbox );
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
134
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
135 BuddyTickerSetPixmap( name, pm, bm );
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
136
438
c636dffa73b3 [gaim-migrate @ 448]
Syd Logan <slogan@users.sourceforge.net>
parents: 436
diff changeset
137 p->ebox = gtk_event_box_new();
c636dffa73b3 [gaim-migrate @ 448]
Syd Logan <slogan@users.sourceforge.net>
parents: 436
diff changeset
138
1976
9fd3356e3a24 [gaim-migrate @ 1986]
Rob Flynn <gaim@robflynn.com>
parents: 1750
diff changeset
139 /* click detection */
438
c636dffa73b3 [gaim-migrate @ 448]
Syd Logan <slogan@users.sourceforge.net>
parents: 436
diff changeset
140
c636dffa73b3 [gaim-migrate @ 448]
Syd Logan <slogan@users.sourceforge.net>
parents: 436
diff changeset
141 gtk_widget_set_events (p->ebox, GDK_BUTTON_PRESS_MASK);
c636dffa73b3 [gaim-migrate @ 448]
Syd Logan <slogan@users.sourceforge.net>
parents: 436
diff changeset
142 gtk_signal_connect (GTK_OBJECT (p->ebox), "button_press_event",
c636dffa73b3 [gaim-migrate @ 448]
Syd Logan <slogan@users.sourceforge.net>
parents: 436
diff changeset
143 GTK_SIGNAL_FUNC(ButtonPressCallback), (gpointer) p);
c636dffa73b3 [gaim-migrate @ 448]
Syd Logan <slogan@users.sourceforge.net>
parents: 436
diff changeset
144
c636dffa73b3 [gaim-migrate @ 448]
Syd Logan <slogan@users.sourceforge.net>
parents: 436
diff changeset
145 gtk_box_pack_start_defaults( GTK_BOX( p->hbox ), p->ebox );
c636dffa73b3 [gaim-migrate @ 448]
Syd Logan <slogan@users.sourceforge.net>
parents: 436
diff changeset
146 gtk_widget_show( p->ebox );
c636dffa73b3 [gaim-migrate @ 448]
Syd Logan <slogan@users.sourceforge.net>
parents: 436
diff changeset
147
430
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
148 p->label = gtk_label_new( name );
438
c636dffa73b3 [gaim-migrate @ 448]
Syd Logan <slogan@users.sourceforge.net>
parents: 436
diff changeset
149 gtk_container_add( GTK_CONTAINER(p->ebox), p->label );
c636dffa73b3 [gaim-migrate @ 448]
Syd Logan <slogan@users.sourceforge.net>
parents: 436
diff changeset
150
430
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
151 gtk_widget_show( p->label );
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
152
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
153 gtk_widget_show( tickerwindow );
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
154 }
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
155
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
156 void
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
157 BuddyTickerRemoveUser( char *name )
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
158 {
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
159 GList *p = (GList *) BuddyTickerFindUser( name );
460
5b5a02fee313 [gaim-migrate @ 470]
Syd Logan <slogan@users.sourceforge.net>
parents: 438
diff changeset
160 TickerData *data;
5b5a02fee313 [gaim-migrate @ 470]
Syd Logan <slogan@users.sourceforge.net>
parents: 438
diff changeset
161
5b5a02fee313 [gaim-migrate @ 470]
Syd Logan <slogan@users.sourceforge.net>
parents: 438
diff changeset
162 if ( !p )
5b5a02fee313 [gaim-migrate @ 470]
Syd Logan <slogan@users.sourceforge.net>
parents: 438
diff changeset
163 return;
5b5a02fee313 [gaim-migrate @ 470]
Syd Logan <slogan@users.sourceforge.net>
parents: 438
diff changeset
164
5b5a02fee313 [gaim-migrate @ 470]
Syd Logan <slogan@users.sourceforge.net>
parents: 438
diff changeset
165 data = (TickerData *) p->data;
430
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
166
432
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
167 if ( userclose == TRUE )
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
168 return;
430
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
169 if ( data ) {
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
170 gtk_ticker_remove( GTK_TICKER( ticker ), data->hbox );
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
171 tickerbuds = g_list_remove( tickerbuds, data );
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
172 free( data );
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
173 }
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
174 }
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
175
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
176 void
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
177 BuddyTickerSetPixmap( char *name, GdkPixmap *pm, GdkBitmap *bm )
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
178 {
1750
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
179 GList *p;
432
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
180 TickerData *data;
430
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
181
432
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
182 if ( userclose == TRUE )
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
183 return;
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
184 p = (GList *) BuddyTickerFindUser( name );
436
2314dcf7c7d4 [gaim-migrate @ 446]
Syd Logan <slogan@users.sourceforge.net>
parents: 434
diff changeset
185 if ( p )
2314dcf7c7d4 [gaim-migrate @ 446]
Syd Logan <slogan@users.sourceforge.net>
parents: 434
diff changeset
186 data = (TickerData *) p->data;
2314dcf7c7d4 [gaim-migrate @ 446]
Syd Logan <slogan@users.sourceforge.net>
parents: 434
diff changeset
187 else
2314dcf7c7d4 [gaim-migrate @ 446]
Syd Logan <slogan@users.sourceforge.net>
parents: 434
diff changeset
188 return;
430
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
189 if ( data->pix == (GtkWidget *) NULL ) {
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
190 data->pix = gtk_pixmap_new( pm, bm );
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
191 gtk_box_pack_start_defaults( GTK_BOX( data->hbox ), data->pix );
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
192 } else {
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
193 gtk_widget_hide( data->pix );
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
194 gtk_pixmap_set(GTK_PIXMAP(data->pix), pm, bm);
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
195 }
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
196 gtk_widget_show( data->pix );
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
197 }
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
198
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
199 GList *
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
200 BuddyTickerFindUser( char *name )
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
201 {
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
202 GList *p = tickerbuds;
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
203
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
204 while ( p ) {
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
205 TickerData *q = (TickerData *) p->data;
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
206 if ( !strcmp( name, q->buddy ) )
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
207 return( p );
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
208 p = p->next;
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
209 }
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
210 return (GList *) NULL;
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
211 }
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
212
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
213 int
433
9572b183255a [gaim-migrate @ 443]
Syd Logan <slogan@users.sourceforge.net>
parents: 432
diff changeset
214 BuddyTickerMessageRemove( gpointer data )
9572b183255a [gaim-migrate @ 443]
Syd Logan <slogan@users.sourceforge.net>
parents: 432
diff changeset
215 {
9572b183255a [gaim-migrate @ 443]
Syd Logan <slogan@users.sourceforge.net>
parents: 432
diff changeset
216 if ( userclose == TRUE )
604
a20b54408619 [gaim-migrate @ 614]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 469
diff changeset
217 return FALSE;
1425
45cdf4249609 [gaim-migrate @ 1435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 955
diff changeset
218 if ( tickerwindow == NULL )
45cdf4249609 [gaim-migrate @ 1435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 955
diff changeset
219 return FALSE;
433
9572b183255a [gaim-migrate @ 443]
Syd Logan <slogan@users.sourceforge.net>
parents: 432
diff changeset
220 gtk_ticker_remove( GTK_TICKER( ticker ), msgw );
9572b183255a [gaim-migrate @ 443]
Syd Logan <slogan@users.sourceforge.net>
parents: 432
diff changeset
221 return FALSE;
9572b183255a [gaim-migrate @ 443]
Syd Logan <slogan@users.sourceforge.net>
parents: 432
diff changeset
222 }
9572b183255a [gaim-migrate @ 443]
Syd Logan <slogan@users.sourceforge.net>
parents: 432
diff changeset
223
9572b183255a [gaim-migrate @ 443]
Syd Logan <slogan@users.sourceforge.net>
parents: 432
diff changeset
224 int
430
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
225 BuddyTickerLogonTimeout( gpointer data )
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
226 {
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
227 return FALSE;
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
228 }
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
229
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
230 int
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
231 BuddyTickerLogoutTimeout( gpointer data )
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
232 {
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
233 char *name = (char *) data;
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
234
432
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
235 if ( userclose == TRUE )
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
236 return FALSE;
430
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
237 BuddyTickerRemoveUser( name );
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
238
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
239 return FALSE;
39105dbbbc21 [gaim-migrate @ 440]
Syd Logan <slogan@users.sourceforge.net>
parents:
diff changeset
240 }
432
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
241
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
242 void
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
243 BuddyTickerSignoff( void )
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
244 {
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
245 GList *p = tickerbuds;
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
246 TickerData *q;
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
247
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
248 while ( p ) {
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
249 q = (TickerData *) p->data;
436
2314dcf7c7d4 [gaim-migrate @ 446]
Syd Logan <slogan@users.sourceforge.net>
parents: 434
diff changeset
250 if ( q )
2314dcf7c7d4 [gaim-migrate @ 446]
Syd Logan <slogan@users.sourceforge.net>
parents: 434
diff changeset
251 BuddyTickerRemoveUser( q->buddy );
432
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
252 p = tickerbuds;
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
253 }
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
254 userclose = FALSE;
1425
45cdf4249609 [gaim-migrate @ 1435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 955
diff changeset
255 if ( tickerwindow )
45cdf4249609 [gaim-migrate @ 1435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 955
diff changeset
256 gtk_widget_hide( tickerwindow );
432
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
257 }
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
258
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
259 void
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
260 BuddyTickerClearList( void )
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
261 {
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
262 GList *p = tickerbuds;
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
263
436
2314dcf7c7d4 [gaim-migrate @ 446]
Syd Logan <slogan@users.sourceforge.net>
parents: 434
diff changeset
264 while ( p )
432
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
265 p = g_list_remove( p, p->data );
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
266 tickerbuds = (GList *) NULL;
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
267 }
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
268
1750
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
269 void BuddyTickerShow()
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
270 {
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
271 GdkPixmap *pm;
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
272 GdkBitmap *bm;
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
273 struct gaim_connection *gc;
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
274 struct group *g;
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
275 struct buddy *b;
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
276 GSList *gcons, *grps, *buds;
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
277 char **xpm;
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
278
2313
f7f7ff0b8d4a [gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1976
diff changeset
279 if( !(misc_options & OPT_MISC_BUDDY_TICKER) ) {
1750
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
280 BuddyTickerSignoff();
2313
f7f7ff0b8d4a [gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1976
diff changeset
281 misc_options &= ~OPT_MISC_BUDDY_TICKER;
1750
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
282 return;
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
283 }
432
497a46b74642 [gaim-migrate @ 442]
Syd Logan <slogan@users.sourceforge.net>
parents: 430
diff changeset
284
1750
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
285 for( gcons = connections; gcons; gcons = gcons->next ) {
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
286 gc = (struct gaim_connection *)gcons->data;
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
287 for( grps = gc->groups; grps; grps = grps->next ) {
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
288 g = (struct group *)grps->data;
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
289 for( buds = g->members; buds; buds = buds->next ) {
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
290 b = (struct buddy *)buds->data;
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
291 if( b->present ) {
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
292 xpm = NULL;
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
293 if (gc->prpl->list_icon)
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
294 xpm = (*gc->prpl->list_icon)(b->uc);
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
295 if (xpm == NULL)
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
296 xpm = (char **)no_icon_xpm;
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
297 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, NULL, xpm);
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
298 BuddyTickerAddUser( b->name, pm, bm );
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
299 }
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
300 }
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
301 }
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
302 }
f2a0aa76d7ec [gaim-migrate @ 1760]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1425
diff changeset
303 }

mercurial