annotate src/ticker.c @ 780:c714def9cebb

[gaim-migrate @ 790] You may be a geek if... You've ever used a computer on Friday, Saturday and Sunday of the same weekend. You find yourself interrupting computer store salesman to correct something he said. The first thing you notice when walking in a business is their computer system. ...and offer advice on how you would change it. You've ever mounted a magnetic tape reel. You own any shareware. You know more IP addresses than phone numbers. You've ever accidentally dialed an IP address. Your friends use you as tech support. You've ever named a computer. You have your local computer store on speed dial. You can't carry on a conversation without talking about computers. Co-workers have to E-mail you about the fire alarm to get you out of the building. You've ever found "stray" diskettes when doing laundry. Your computer has it's own phone line - but your teenager doesn't. You check the national weather service web page for current weather conditions (rather than look out the window). You know more URLs than street addresses. Your pet has a web page. You get really excited when Yahoo adds your link. committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Tue, 29 Aug 2000 03:59:01 +0000
parents 0b1a132e0f75
children 2876c40108cd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
430
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
1 /* GTK - The GIMP Toolkit
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
2 * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
3 *
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
4 * This library is free software; you can redistribute it and/or
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
5 * modify it under the terms of the GNU Library General Public
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
6 * License as published by the Free Software Foundation; either
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
7 * version 2 of the License, or (at your option) any later version.
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
8 *
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
9 * This library is distributed in the hope that it will be useful,
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
12 * Library General Public License for more details.
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
13 *
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
14 * You should have received a copy of the GNU Library General Public
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
15 * License along with this library; if not, write to the
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
17 * Boston, MA 02111-1307, USA.
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
18 */
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
19
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
20 /*
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
21 * ticker.c -- Syd Logan, Summer 2000
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
22 */
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
23
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
24 #include <gtk/gtk.h>
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
25 #include "gtkticker.h"
469
7ac742be351d [gaim-migrate @ 479]
Rob Flynn <gaim@robflynn.com>
parents: 460
diff changeset
26 #include <string.h>
604
0b1a132e0f75 [gaim-migrate @ 614]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 469
diff changeset
27 #include <stdlib.h>
430
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
28
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
29 GtkWidget *tickerwindow = NULL;
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
30 GtkWidget *ticker;
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
31
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
32 typedef struct {
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
33 char buddy[ 128 ];
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
34 GtkWidget *hbox;
438
881f5d538f15 [gaim-migrate @ 448]
Syd Logan <slogan>
parents: 436
diff changeset
35 GtkWidget *ebox;
430
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
36 GtkWidget *label;
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
37 GtkWidget *pix;
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
38 } TickerData;
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
39
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
40 static GList *tickerbuds = (GList *) NULL;
432
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
41 static gboolean userclose = FALSE;
433
f82e84386fdf [gaim-migrate @ 443]
Syd Logan <slogan>
parents: 432
diff changeset
42 static GtkWidget *msgw;
430
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
43
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
44 void BuddyTickerDestroyWindow( GtkWidget *window );
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
45 void BuddyTickerCreateWindow( void );
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
46 void BuddyTickerAddUser( char *name, GdkPixmap *pm, GdkBitmap *bm );
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
47 void BuddyTickerRemoveUser( char *name );
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
48 void BuddyTickerSetPixmap( char *name, GdkPixmap *pm, GdkBitmap *bm );
432
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
49 void BuddyTickerClearList( void );
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
50 void BuddyTickerSignOff( void );
430
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
51 GList * BuddyTickerFindUser( char *name );
433
f82e84386fdf [gaim-migrate @ 443]
Syd Logan <slogan>
parents: 432
diff changeset
52 int BuddyTickerMessageRemove( gpointer data );
604
0b1a132e0f75 [gaim-migrate @ 614]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 469
diff changeset
53 extern void pressed_ticker(char *);
430
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
54
436
7d5f91c1ff20 [gaim-migrate @ 446]
Syd Logan <slogan>
parents: 434
diff changeset
55 // this pref is startup only, so make a shadow here of settings at startup
7d5f91c1ff20 [gaim-migrate @ 446]
Syd Logan <slogan>
parents: 434
diff changeset
56 // code uses this variable, not display_prefs
7d5f91c1ff20 [gaim-migrate @ 446]
Syd Logan <slogan>
parents: 434
diff changeset
57
7d5f91c1ff20 [gaim-migrate @ 446]
Syd Logan <slogan>
parents: 434
diff changeset
58 extern int display_options;
7d5f91c1ff20 [gaim-migrate @ 446]
Syd Logan <slogan>
parents: 434
diff changeset
59 int ticker_prefs;
7d5f91c1ff20 [gaim-migrate @ 446]
Syd Logan <slogan>
parents: 434
diff changeset
60
7d5f91c1ff20 [gaim-migrate @ 446]
Syd Logan <slogan>
parents: 434
diff changeset
61 void
7d5f91c1ff20 [gaim-migrate @ 446]
Syd Logan <slogan>
parents: 434
diff changeset
62 SetTickerPrefs( void )
7d5f91c1ff20 [gaim-migrate @ 446]
Syd Logan <slogan>
parents: 434
diff changeset
63 {
7d5f91c1ff20 [gaim-migrate @ 446]
Syd Logan <slogan>
parents: 434
diff changeset
64 ticker_prefs = display_options;
7d5f91c1ff20 [gaim-migrate @ 446]
Syd Logan <slogan>
parents: 434
diff changeset
65 }
7d5f91c1ff20 [gaim-migrate @ 446]
Syd Logan <slogan>
parents: 434
diff changeset
66
430
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
67 void
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
68 BuddyTickerDestroyWindow( GtkWidget *window )
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
69 {
432
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
70 BuddyTickerClearList();
430
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
71 gtk_ticker_stop_scroll( GTK_TICKER( ticker ) );
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
72 gtk_widget_destroy( window );
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
73 ticker = tickerwindow = (GtkWidget *) NULL;
432
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
74 userclose = TRUE;
430
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
75 }
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
76
433
f82e84386fdf [gaim-migrate @ 443]
Syd Logan <slogan>
parents: 432
diff changeset
77 static char *msg = "Welcome to GAIM 0.9.20, brought to you by Rob Flynn (maintainer), Eric Warmenhoven, Mark Spencer, Jeramey Crawford, Jim Duchek, and Syd Logan";
f82e84386fdf [gaim-migrate @ 443]
Syd Logan <slogan>
parents: 432
diff changeset
78
430
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
79 void
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
80 BuddyTickerCreateWindow()
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
81 {
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
82 if ( tickerwindow != (GtkWidget *) NULL )
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
83 return;
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
84 tickerwindow = gtk_window_new (GTK_WINDOW_TOPLEVEL);
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
85 gtk_signal_connect (GTK_OBJECT(tickerwindow), "destroy",
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
86 GTK_SIGNAL_FUNC (BuddyTickerDestroyWindow), "WM destroy");
433
f82e84386fdf [gaim-migrate @ 443]
Syd Logan <slogan>
parents: 432
diff changeset
87 gtk_window_set_title (GTK_WINDOW(tickerwindow), "GAIM - Buddy Ticker");
430
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
88
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
89 ticker = gtk_ticker_new();
433
f82e84386fdf [gaim-migrate @ 443]
Syd Logan <slogan>
parents: 432
diff changeset
90 gtk_ticker_set_spacing( GTK_TICKER( ticker ), 20 );
f82e84386fdf [gaim-migrate @ 443]
Syd Logan <slogan>
parents: 432
diff changeset
91 gtk_widget_set_usize( ticker, 500, -1 );
430
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
92 gtk_container_add( GTK_CONTAINER( tickerwindow ), ticker );
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
93 gtk_ticker_set_interval( GTK_TICKER( ticker ), 500 );
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
94 gtk_ticker_set_scootch( GTK_TICKER( ticker ), 10 );
433
f82e84386fdf [gaim-migrate @ 443]
Syd Logan <slogan>
parents: 432
diff changeset
95 msgw = gtk_label_new( msg );
f82e84386fdf [gaim-migrate @ 443]
Syd Logan <slogan>
parents: 432
diff changeset
96 gtk_ticker_add( GTK_TICKER( ticker ), msgw );
430
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
97 gtk_ticker_start_scroll( GTK_TICKER( ticker ) );
433
f82e84386fdf [gaim-migrate @ 443]
Syd Logan <slogan>
parents: 432
diff changeset
98
f82e84386fdf [gaim-migrate @ 443]
Syd Logan <slogan>
parents: 432
diff changeset
99 gtk_timeout_add( 60000, BuddyTickerMessageRemove, (gpointer) NULL );
f82e84386fdf [gaim-migrate @ 443]
Syd Logan <slogan>
parents: 432
diff changeset
100
f82e84386fdf [gaim-migrate @ 443]
Syd Logan <slogan>
parents: 432
diff changeset
101 gtk_widget_show_all (ticker);
f82e84386fdf [gaim-migrate @ 443]
Syd Logan <slogan>
parents: 432
diff changeset
102
430
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
103 }
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
104
438
881f5d538f15 [gaim-migrate @ 448]
Syd Logan <slogan>
parents: 436
diff changeset
105 gint
881f5d538f15 [gaim-migrate @ 448]
Syd Logan <slogan>
parents: 436
diff changeset
106 ButtonPressCallback( GtkWidget *widget, GdkEvent *event, gpointer callback_data )
881f5d538f15 [gaim-migrate @ 448]
Syd Logan <slogan>
parents: 436
diff changeset
107 {
881f5d538f15 [gaim-migrate @ 448]
Syd Logan <slogan>
parents: 436
diff changeset
108 TickerData *p = (TickerData *) callback_data;
881f5d538f15 [gaim-migrate @ 448]
Syd Logan <slogan>
parents: 436
diff changeset
109
881f5d538f15 [gaim-migrate @ 448]
Syd Logan <slogan>
parents: 436
diff changeset
110 pressed_ticker( p->buddy );
604
0b1a132e0f75 [gaim-migrate @ 614]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 469
diff changeset
111
0b1a132e0f75 [gaim-migrate @ 614]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 469
diff changeset
112 return TRUE;
438
881f5d538f15 [gaim-migrate @ 448]
Syd Logan <slogan>
parents: 436
diff changeset
113 }
881f5d538f15 [gaim-migrate @ 448]
Syd Logan <slogan>
parents: 436
diff changeset
114
430
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
115 void
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
116 BuddyTickerAddUser( char *name, GdkPixmap *pm, GdkBitmap *bm )
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
117 {
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
118 TickerData *p;
432
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
119 GList *q;
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
120
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
121 if ( userclose == TRUE )
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
122 return;
436
7d5f91c1ff20 [gaim-migrate @ 446]
Syd Logan <slogan>
parents: 434
diff changeset
123
7d5f91c1ff20 [gaim-migrate @ 446]
Syd Logan <slogan>
parents: 434
diff changeset
124 BuddyTickerCreateWindow();
7d5f91c1ff20 [gaim-migrate @ 446]
Syd Logan <slogan>
parents: 434
diff changeset
125
432
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
126 q = (GList *) BuddyTickerFindUser( name );
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
127 if ( q != (GList *) NULL )
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
128 return;
430
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
129
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
130 p = (TickerData *) malloc( sizeof( TickerData ) );
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
131 p->hbox = (GtkWidget *) NULL;
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
132 p->label = (GtkWidget *) NULL;
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
133 p->pix = (GtkWidget *) NULL;
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
134 strcpy( p->buddy, name );
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
135 tickerbuds = g_list_append( tickerbuds, p );
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
136
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
137 p->hbox = gtk_hbox_new( FALSE, 0 );
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
138 gtk_ticker_add( GTK_TICKER( ticker ), p->hbox );
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
139 gtk_widget_show_all( p->hbox );
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
140
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
141 BuddyTickerSetPixmap( name, pm, bm );
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
142
438
881f5d538f15 [gaim-migrate @ 448]
Syd Logan <slogan>
parents: 436
diff changeset
143 p->ebox = gtk_event_box_new();
881f5d538f15 [gaim-migrate @ 448]
Syd Logan <slogan>
parents: 436
diff changeset
144
881f5d538f15 [gaim-migrate @ 448]
Syd Logan <slogan>
parents: 436
diff changeset
145 // click detection
881f5d538f15 [gaim-migrate @ 448]
Syd Logan <slogan>
parents: 436
diff changeset
146
881f5d538f15 [gaim-migrate @ 448]
Syd Logan <slogan>
parents: 436
diff changeset
147 gtk_widget_set_events (p->ebox, GDK_BUTTON_PRESS_MASK);
881f5d538f15 [gaim-migrate @ 448]
Syd Logan <slogan>
parents: 436
diff changeset
148 gtk_signal_connect (GTK_OBJECT (p->ebox), "button_press_event",
881f5d538f15 [gaim-migrate @ 448]
Syd Logan <slogan>
parents: 436
diff changeset
149 GTK_SIGNAL_FUNC(ButtonPressCallback), (gpointer) p);
881f5d538f15 [gaim-migrate @ 448]
Syd Logan <slogan>
parents: 436
diff changeset
150
881f5d538f15 [gaim-migrate @ 448]
Syd Logan <slogan>
parents: 436
diff changeset
151 gtk_box_pack_start_defaults( GTK_BOX( p->hbox ), p->ebox );
881f5d538f15 [gaim-migrate @ 448]
Syd Logan <slogan>
parents: 436
diff changeset
152 gtk_widget_show( p->ebox );
881f5d538f15 [gaim-migrate @ 448]
Syd Logan <slogan>
parents: 436
diff changeset
153
430
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
154 p->label = gtk_label_new( name );
438
881f5d538f15 [gaim-migrate @ 448]
Syd Logan <slogan>
parents: 436
diff changeset
155 gtk_container_add( GTK_CONTAINER(p->ebox), p->label );
881f5d538f15 [gaim-migrate @ 448]
Syd Logan <slogan>
parents: 436
diff changeset
156
430
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
157 gtk_widget_show( p->label );
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
158
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
159 gtk_widget_show( tickerwindow );
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
160 }
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
161
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
162 void
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
163 BuddyTickerRemoveUser( char *name )
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
164 {
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
165 GList *p = (GList *) BuddyTickerFindUser( name );
460
f4d6dc3a1ada [gaim-migrate @ 470]
Syd Logan <slogan>
parents: 438
diff changeset
166 TickerData *data;
f4d6dc3a1ada [gaim-migrate @ 470]
Syd Logan <slogan>
parents: 438
diff changeset
167
f4d6dc3a1ada [gaim-migrate @ 470]
Syd Logan <slogan>
parents: 438
diff changeset
168 if ( !p )
f4d6dc3a1ada [gaim-migrate @ 470]
Syd Logan <slogan>
parents: 438
diff changeset
169 return;
f4d6dc3a1ada [gaim-migrate @ 470]
Syd Logan <slogan>
parents: 438
diff changeset
170
f4d6dc3a1ada [gaim-migrate @ 470]
Syd Logan <slogan>
parents: 438
diff changeset
171 data = (TickerData *) p->data;
430
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
172
432
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
173 if ( userclose == TRUE )
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
174 return;
430
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
175 if ( data ) {
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
176 gtk_ticker_remove( GTK_TICKER( ticker ), data->hbox );
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
177 tickerbuds = g_list_remove( tickerbuds, data );
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
178 free( data );
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
179 }
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
180 }
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
181
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
182 void
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
183 BuddyTickerSetPixmap( char *name, GdkPixmap *pm, GdkBitmap *bm )
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
184 {
432
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
185 GList *p;
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
186 TickerData *data;
430
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
187
432
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
188 if ( userclose == TRUE )
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
189 return;
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
190 p = (GList *) BuddyTickerFindUser( name );
436
7d5f91c1ff20 [gaim-migrate @ 446]
Syd Logan <slogan>
parents: 434
diff changeset
191 if ( p )
7d5f91c1ff20 [gaim-migrate @ 446]
Syd Logan <slogan>
parents: 434
diff changeset
192 data = (TickerData *) p->data;
7d5f91c1ff20 [gaim-migrate @ 446]
Syd Logan <slogan>
parents: 434
diff changeset
193 else
7d5f91c1ff20 [gaim-migrate @ 446]
Syd Logan <slogan>
parents: 434
diff changeset
194 return;
430
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
195 if ( data->pix == (GtkWidget *) NULL ) {
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
196 data->pix = gtk_pixmap_new( pm, bm );
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
197 gtk_box_pack_start_defaults( GTK_BOX( data->hbox ), data->pix );
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
198 } else {
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
199 gtk_widget_hide( data->pix );
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
200 gtk_pixmap_set(GTK_PIXMAP(data->pix), pm, bm);
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
201 }
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
202 gtk_widget_show( data->pix );
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
203 }
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
204
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
205 GList *
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
206 BuddyTickerFindUser( char *name )
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
207 {
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
208 GList *p = tickerbuds;
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
209
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
210 while ( p ) {
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
211 TickerData *q = (TickerData *) p->data;
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
212 if ( !strcmp( name, q->buddy ) )
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
213 return( p );
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
214 p = p->next;
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
215 }
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
216 return (GList *) NULL;
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
217 }
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
218
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
219 int
433
f82e84386fdf [gaim-migrate @ 443]
Syd Logan <slogan>
parents: 432
diff changeset
220 BuddyTickerMessageRemove( gpointer data )
f82e84386fdf [gaim-migrate @ 443]
Syd Logan <slogan>
parents: 432
diff changeset
221 {
f82e84386fdf [gaim-migrate @ 443]
Syd Logan <slogan>
parents: 432
diff changeset
222 if ( userclose == TRUE )
604
0b1a132e0f75 [gaim-migrate @ 614]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 469
diff changeset
223 return FALSE;
433
f82e84386fdf [gaim-migrate @ 443]
Syd Logan <slogan>
parents: 432
diff changeset
224 gtk_ticker_remove( GTK_TICKER( ticker ), msgw );
f82e84386fdf [gaim-migrate @ 443]
Syd Logan <slogan>
parents: 432
diff changeset
225 return FALSE;
f82e84386fdf [gaim-migrate @ 443]
Syd Logan <slogan>
parents: 432
diff changeset
226 }
f82e84386fdf [gaim-migrate @ 443]
Syd Logan <slogan>
parents: 432
diff changeset
227
f82e84386fdf [gaim-migrate @ 443]
Syd Logan <slogan>
parents: 432
diff changeset
228 int
430
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
229 BuddyTickerLogonTimeout( gpointer data )
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
230 {
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
231 return FALSE;
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
232 }
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
233
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
234 int
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
235 BuddyTickerLogoutTimeout( gpointer data )
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
236 {
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
237 char *name = (char *) data;
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
238
432
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
239 if ( userclose == TRUE )
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
240 return FALSE;
430
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
241 BuddyTickerRemoveUser( name );
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
242
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
243 return FALSE;
0cd2ba801eb4 [gaim-migrate @ 440]
Syd Logan <slogan>
parents:
diff changeset
244 }
432
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
245
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
246 void
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
247 BuddyTickerSignoff( void )
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
248 {
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
249 GList *p = tickerbuds;
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
250 TickerData *q;
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
251
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
252 while ( p ) {
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
253 q = (TickerData *) p->data;
436
7d5f91c1ff20 [gaim-migrate @ 446]
Syd Logan <slogan>
parents: 434
diff changeset
254 if ( q )
7d5f91c1ff20 [gaim-migrate @ 446]
Syd Logan <slogan>
parents: 434
diff changeset
255 BuddyTickerRemoveUser( q->buddy );
432
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
256 p = tickerbuds;
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
257 }
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
258 userclose = FALSE;
434
634b93c7a473 [gaim-migrate @ 444]
Syd Logan <slogan>
parents: 433
diff changeset
259 gtk_widget_hide( tickerwindow );
432
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
260 }
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
261
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
262 void
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
263 BuddyTickerClearList( void )
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
264 {
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
265 GList *p = tickerbuds;
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
266
436
7d5f91c1ff20 [gaim-migrate @ 446]
Syd Logan <slogan>
parents: 434
diff changeset
267 while ( p )
432
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
268 p = g_list_remove( p, p->data );
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
269 tickerbuds = (GList *) NULL;
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
270 }
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
271
5741dca6cc8a [gaim-migrate @ 442]
Syd Logan <slogan>
parents: 430
diff changeset
272