diff src/ticker.c @ 438:881f5d538f15

[gaim-migrate @ 448] Added hit detection on ticker -- clicking on a name is like double clicking in the online buddy list, and brings up an IM window. committer: Tailor Script <tailor@pidgin.im>
author Syd Logan <slogan>
date Sun, 25 Jun 2000 17:00:24 +0000
parents 7d5f91c1ff20
children f4d6dc3a1ada
line wrap: on
line diff
--- a/src/ticker.c	Sun Jun 25 16:59:08 2000 +0000
+++ b/src/ticker.c	Sun Jun 25 17:00:24 2000 +0000
@@ -30,6 +30,7 @@
 typedef struct {
 	char buddy[ 128 ];
 	GtkWidget *hbox;
+	GtkWidget *ebox;
 	GtkWidget *label;
 	GtkWidget *pix;
 } TickerData;
@@ -98,6 +99,14 @@
 
 }
 
+gint 
+ButtonPressCallback( GtkWidget *widget, GdkEvent *event, gpointer callback_data ) 
+{
+	TickerData *p = (TickerData *) callback_data;
+
+	pressed_ticker( p->buddy );
+}
+
 void
 BuddyTickerAddUser( char *name, GdkPixmap *pm, GdkBitmap *bm )
 {
@@ -127,8 +136,20 @@
 
 	BuddyTickerSetPixmap( name, pm, bm );
 
+	p->ebox = gtk_event_box_new();
+
+	// click detection
+
+        gtk_widget_set_events (p->ebox, GDK_BUTTON_PRESS_MASK);
+        gtk_signal_connect (GTK_OBJECT (p->ebox), "button_press_event",
+                GTK_SIGNAL_FUNC(ButtonPressCallback), (gpointer) p);
+
+	gtk_box_pack_start_defaults( GTK_BOX( p->hbox ), p->ebox );
+	gtk_widget_show( p->ebox );
+
 	p->label = gtk_label_new( name );
-	gtk_box_pack_start_defaults( GTK_BOX( p->hbox ), p->label );
+	gtk_container_add( GTK_CONTAINER(p->ebox), p->label ); 
+
 	gtk_widget_show( p->label );
 
         gtk_widget_show( tickerwindow );