← Back to team overview

ayatana-commits team mailing list archive

[Merge] lp:~cjcurran/indicator-sound/arrow-key-fixes into lp:indicator-sound

 

Conor Curran has proposed merging lp:~cjcurran/indicator-sound/arrow-key-fixes into lp:indicator-sound.

    Requested reviews:
    Indicator Applet Developers (indicator-applet-developers)


Cody fixes for the key listener so as user can move to another indicator from the sound indicator using the arrow keys.
-- 
https://code.launchpad.net/~cjcurran/indicator-sound/arrow-key-fixes/+merge/20578
Your team ayatana-commits is subscribed to branch lp:indicator-sound.
=== modified file 'src/indicator-sound.c'
--- src/indicator-sound.c	2010-02-18 18:05:32 +0000
+++ src/indicator-sound.c	2010-03-03 17:30:28 +0000
@@ -439,49 +439,55 @@
     gdouble current_value = gtk_range_get_value(range);  
     gdouble new_value = current_value;
     const gdouble five_percent = 5;
+    GtkWidget *menuitem;
 
-    switch(event->keyval)
-        {
-        case GDK_Right:
-            digested = TRUE;
-            if(event->state & GDK_CONTROL_MASK)
-            {
-                new_value = 100;
-            }
-            else
-            {
-                new_value = current_value + five_percent;
-            }
-            break;
-        case GDK_Left:
-            digested = TRUE;
-            if(event->state & GDK_CONTROL_MASK)
-            {
-                new_value = 0;
-            }
-            else
-            {
+    menuitem = GTK_MENU_SHELL (widget)->active_menu_item;
+/*    g_print ("object (%p) name should be %s", menuitem, G_OBJECT_TYPE_NAME(menuitem));*/
+    if(IDO_IS_SCALE_MENU_ITEM(menuitem) == TRUE)
+    {
+        switch(event->keyval)
+            {
+            case GDK_Right:
+                digested = TRUE;
+                if(event->state & GDK_CONTROL_MASK)
+                {
+                    new_value = 100;
+                }
+                else
+                {
+                    new_value = current_value + five_percent;
+                }
+                break;
+            case GDK_Left:
+                digested = TRUE;
+                if(event->state & GDK_CONTROL_MASK)
+                {
+                    new_value = 0;
+                }
+                else
+                {
+                    new_value = current_value - five_percent;                
+                }
+                break;
+            case GDK_plus:
+                digested = TRUE;
+                new_value = current_value + five_percent;                
+                break;
+            case GDK_minus:
+                digested = TRUE;
                 new_value = current_value - five_percent;                
+                break;
+            default:
+                break;
+            }    
+            
+            new_value = CLAMP(new_value, 0, 100);
+            if(new_value != current_value && current_state != STATE_MUTED)
+            {
+                g_debug("Attempting to set the range from the key listener to %f", new_value);        
+                gtk_range_set_value(range, new_value);  
             }
-            break;
-        case GDK_plus:
-            digested = TRUE;
-            new_value = current_value + five_percent;                
-            break;
-        case GDK_minus:
-            digested = TRUE;
-            new_value = current_value - five_percent;                
-            break;
-        default:
-            break;
-        }    
-        
-        new_value = CLAMP(new_value, 0, 100);
-        if(new_value != current_value && current_state != STATE_MUTED)
-        {
-            g_debug("Attempting to set the range from the key listener to %f", new_value);        
-            gtk_range_set_value(range, new_value);  
-        }
+    }
     return digested;
 }
 


Follow ups