diff src/statusicon/si_ui.c @ 453:60395c0d7587 trunk

[svn] - status icon plugin: use scroll wheel on the status icon to change volume
author giacomo
date Wed, 17 Jan 2007 03:34:44 -0800
parents 829f029fbd03
children 6c1c03111db4
line wrap: on
line diff
--- a/src/statusicon/si_ui.c	Wed Jan 17 03:13:34 2007 -0800
+++ b/src/statusicon/si_ui.c	Wed Jan 17 03:34:44 2007 -0800
@@ -72,6 +72,23 @@
 
 
 static gboolean
+si_ui_statusicon_cb_btscroll ( GtkWidget * evbox , GdkEventScroll * event )
+{
+  switch ( event->direction )
+  {
+    case GDK_SCROLL_UP:
+      si_audacious_volume_change( 5 );
+      break;
+    case GDK_SCROLL_DOWN:
+      si_audacious_volume_change( -5 );
+      break;
+  }
+
+  return FALSE;
+}
+
+
+static gboolean
 si_ui_statusicon_popup_show ( gpointer evbox )
 {
   if ( GPOINTER_TO_INT(g_object_get_data( G_OBJECT(evbox) , "timer_active" )) == 1 )
@@ -254,12 +271,14 @@
 
   g_signal_connect( G_OBJECT(si_evbox) , "button-press-event" ,
                     G_CALLBACK(si_ui_statusicon_cb_btpress) , NULL );
+  g_signal_connect( G_OBJECT(si_evbox) , "scroll-event" ,
+                    G_CALLBACK(si_ui_statusicon_cb_btscroll) , NULL );
   g_signal_connect_after( G_OBJECT(si_evbox) , "event-after" ,
                           G_CALLBACK(si_ui_statusicon_cb_popup) , NULL );
 
   gtk_container_add( GTK_CONTAINER(si_evbox), si_image );
   gtk_container_add( GTK_CONTAINER(si_applet), si_evbox );
-  
+
   gtk_widget_show_all( GTK_WIDGET(si_applet) );
 
   gtk_widget_size_request( GTK_WIDGET(si_applet) , &req );