[Goodies-commits] r7237 - in xfce4-power-manager/trunk: . src

Ali Abdallah aliov at xfce.org
Sun Apr 19 12:58:02 CEST 2009


Author: aliov
Date: 2009-04-19 10:58:02 +0000 (Sun, 19 Apr 2009)
New Revision: 7237

Modified:
   xfce4-power-manager/trunk/ChangeLog
   xfce4-power-manager/trunk/src/xfpm-brightness-hal.c
Log:
Fix brightness level settings issue on ibook

Modified: xfce4-power-manager/trunk/ChangeLog
===================================================================
--- xfce4-power-manager/trunk/ChangeLog	2009-04-19 10:22:57 UTC (rev 7236)
+++ xfce4-power-manager/trunk/ChangeLog	2009-04-19 10:58:02 UTC (rev 7237)
@@ -1,4 +1,7 @@
 
+2009-04-19 12:57 Ali aliov at xfce.org 
+	 * : Fix brightness level settings issue on ibook
+
 2009-04-15  9:41 Ali aliov at xfce.org 
 	 * : Disconnect from all the signals when we reload hal brightness object
 

Modified: xfce4-power-manager/trunk/src/xfpm-brightness-hal.c
===================================================================
--- xfce4-power-manager/trunk/src/xfpm-brightness-hal.c	2009-04-19 10:22:57 UTC (rev 7236)
+++ xfce4-power-manager/trunk/src/xfpm-brightness-hal.c	2009-04-19 10:58:02 UTC (rev 7237)
@@ -66,6 +66,7 @@
     
     guint           max_level;
     guint           hw_level;
+    guint           step;
     gboolean        brightness_in_hw;
     gboolean        hw_found;
     gboolean        block;
@@ -165,8 +166,10 @@
     hal_device_set_udi (device, udi);
 
     brg->priv->max_level = 
-	hal_device_get_property_int (device, "laptop_panel.num_levels");
+	hal_device_get_property_int (device, "laptop_panel.num_levels") -1;
     
+    brg->priv->step = brg->priv->max_level <= 20 ? 1 : brg->priv->max_level / 20;
+    
     if ( hal_device_has_key (device, "laptop_panel.brightness_in_hardware") )
 	brg->priv->brightness_in_hw = hal_device_get_property_bool (device ,"laptop_panel.brightness_in_hardware");
 	
@@ -213,10 +216,10 @@
     if ( brg->priv->brightness_in_hw )
 	goto signal;
     
-    if ( brg->priv->hw_level <= brg->priv->max_level -2 )
+    if ( brg->priv->hw_level <= brg->priv->max_level -1 )
     {
 	TRACE ("Brightness key up");
-	xfpm_brightness_hal_set_level (brg, brg->priv->hw_level + 1 );
+	xfpm_brightness_hal_set_level (brg, brg->priv->hw_level + brg->priv->step );
     }
     
 signal:
@@ -238,7 +241,7 @@
     if ( brg->priv->hw_level != 0)
     {
 	TRACE("Brightness key down");
-	xfpm_brightness_hal_set_level (brg, brg->priv->hw_level - 1 );
+	xfpm_brightness_hal_set_level (brg, brg->priv->hw_level - brg->priv->step );
     }
     
 signal:
@@ -291,10 +294,10 @@
     
     level = xfpm_brightness_hal_get_level(brg);
     
-    if ( level != 0 )
+    if ( level != 0 && level != brg->priv->step )
     {
 	TRACE ("Reducing brightness, on AC power\n");
-	xfpm_brightness_hal_set_level(brg, 0);
+	xfpm_brightness_hal_set_level(brg, brg->priv->step);
     }
 }
 
@@ -308,9 +311,9 @@
     
     level = xfpm_brightness_hal_get_level(brg);
     
-    if ( level != 0 )
+    if ( level != 0 && level != brg->priv->step )
     {
-	xfpm_brightness_hal_set_level(brg, 0);
+	xfpm_brightness_hal_set_level(brg, brg->priv->step);
 	TRACE ("Reducing brightness, on battery power\n");
     }
 }
@@ -427,7 +430,7 @@
     
     xfpm_brightness_hal_setup (brg);
 
-    if ( brg->priv->hw_found && brg->priv->max_level != 0 )
+    if ( brg->priv->hw_found && brg->priv->max_level > 0 )
     {
 	brg->priv->idle     = xfpm_idle_new ();
 	brg->priv->conf     = xfpm_xfconf_new ();




More information about the Goodies-commits mailing list