Send commitlog mailing list submissions to
        [email protected]

To subscribe or unsubscribe via the World Wide Web, visit
        http://lists.openmoko.org/mailman/listinfo/commitlog
or, via email, send a message with subject or body 'help' to
        [EMAIL PROTECTED]

You can reach the person managing the list at
        [EMAIL PROTECTED]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of commitlog digest..."
Today's Topics:

   1. r2663 - in
      trunk/src/target/OM-2007.2/applications/openmoko-dialer2: . src
      ([EMAIL PROTECTED])
   2. r2664 -
      trunk/src/target/OM-2007.2/artwork/themes/openmoko-standard-2/gtk-2.0
      ([EMAIL PROTECTED])
   3. r2665 - trunk/src/target/OM-2007.2/daemons/neod/src
      ([EMAIL PROTECTED])
   4. r2666 -
      trunk/src/target/OM-2007.2/artwork/themes/openmoko-standard-2/gtk-2.0
      ([EMAIL PROTECTED])
   5. r2667 - trunk/src/target/OM-2007.2/daemons/neod/src
      ([EMAIL PROTECTED])
--- Begin Message ---
Author: njp
Date: 2007-08-08 13:49:27 +0200 (Wed, 08 Aug 2007)
New Revision: 2663

Modified:
   trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
   
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-dialer-panel.c
   trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-keypad.c
   trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-notify.c
Log:
2007-08-08  Neil J. Patel  <[EMAIL PROTECTED]>

        * src/moko-dialer-panel.c: (moko_dialer_panel_init),
        (moko_dialer_panel_pressed):
        Implement tap-and-hold events for the keys, so you can enter w, + and p.

        * src/moko-keypad.c: (on_delete_event), (moko_keypad_init):
        Implement tap-and-hold for the delete button, so the holf event will 
cause
        the texview to 'empty'.

        * src/moko-notify.c:
        Some spacing fixes.

Modified: trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog  
2007-08-07 20:14:48 UTC (rev 2662)
+++ trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog  
2007-08-08 11:49:27 UTC (rev 2663)
@@ -1,3 +1,16 @@
+2007-08-08  Neil J. Patel  <[EMAIL PROTECTED]>
+
+       * src/moko-dialer-panel.c: (moko_dialer_panel_init),
+       (moko_dialer_panel_pressed):
+       Implement tap-and-hold events for the keys, so you can enter w, + and p.
+
+       * src/moko-keypad.c: (on_delete_event), (moko_keypad_init):
+       Implement tap-and-hold for the delete button, so the holf event will 
cause
+       the texview to 'empty'.
+
+       * src/moko-notify.c:
+       Some spacing fixes.
+
 2007-08-07  Neil J. Patel  <[EMAIL PROTECTED]>
 
        * src/moko-dialer.c: (on_keypad_dial_clicked):

Modified: 
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-dialer-panel.c
===================================================================
--- 
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-dialer-panel.c
    2007-08-07 20:14:48 UTC (rev 2662)
+++ 
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-dialer-panel.c
    2007-08-08 11:49:27 UTC (rev 2663)
@@ -30,7 +30,7 @@
 //forward definition
      static gboolean moko_dialer_panel_pressed (MokoDigitButton * button,
                                                 GdkEventButton * event,
-                                                gpointer data);
+                                                MokoDialerPanel *panel);
 
      static gint moko_dialer_panel_signals[LAST_SIGNAL] = { 0 };
 
@@ -134,6 +134,10 @@
                                  i, i + 1);
 
       g_signal_connect ((gpointer) moko_dialer_panel->buttons[i][j],
+                        "button_press_event", 
+                        G_CALLBACK (moko_dialer_panel_pressed),
+                        moko_dialer_panel);
+      g_signal_connect ((gpointer) moko_dialer_panel->buttons[i][j],
                         "button_release_event",
                         G_CALLBACK (moko_dialer_panel_pressed),
                         moko_dialer_panel);
@@ -143,8 +147,49 @@
 
 }
 
+static gboolean
+moko_dialer_panel_pressed (MokoDigitButton *button, 
+                           GdkEventButton *event,
+                           MokoDialerPanel *panel)
+{
+#define TAP_HOLD_TIME 800
+  static guint32 last_event = 0;
+  gchar value = -1;
 
+  if (event->type == GDK_BUTTON_PRESS)
+  {
+    last_event = event->time;
+  }
+  else if (event->type == GDK_BUTTON_RELEASE)
+  {
+    guint32 diff = event->time - last_event;
 
+    if (diff < TAP_HOLD_TIME)
+    {
+      /* Normal 'clicked' event */
+      value = moko_digit_button_get_left (button);
+      g_signal_emit (panel,
+                     moko_dialer_panel_signals[CLICKED_SIGNAL], 0, value);
+    }
+    else
+    {
+      /* Tap-and-hold event */
+      value = moko_digit_button_get_right (button);
+      
+      if (value == -1)
+        value = moko_digit_button_get_left (button);
+      
+      g_signal_emit (panel,
+                     moko_dialer_panel_signals[CLICKED_SIGNAL], 0, value);
+    }
+  }
+  return FALSE;
+}
+
+/* 
+ * Leave this for when tap-and-hold is implemented at the Gtk-level 
+ */
+#if 0
 static gboolean
 moko_dialer_panel_pressed (MokoDigitButton * button, GdkEventButton * event,
                            gpointer data)
@@ -190,10 +235,10 @@
   /* allow the signal to propagate the event further */
   return FALSE;
 }
+#endif
 
 
 
-
 GtkWidget *
 moko_dialer_panel_new ()
 {

Modified: 
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-keypad.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-keypad.c  
2007-08-07 20:14:48 UTC (rev 2662)
+++ trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-keypad.c  
2007-08-08 11:49:27 UTC (rev 2663)
@@ -83,17 +83,38 @@
 }
 
 static void
-on_delete_clicked (GtkWidget *button, MokoKeypad *keypad)
+on_delete_event (GtkWidget *button, GdkEventButton *event, MokoKeypad *keypad)
 {
+#define TAP_HOLD_TIME 800
   MokoKeypadPrivate *priv;
   MokoDialerTextview *textview;
-
+  static guint32 last_event = 0;
+  
   g_return_if_fail (MOKO_IS_KEYPAD (keypad));
   priv = keypad->priv;
   
   textview = MOKO_DIALER_TEXTVIEW (priv->textview);
 
-  moko_dialer_textview_delete (textview);
+  if (event->type == GDK_BUTTON_PRESS)
+  {
+    last_event = event->time;
+  }
+  else if (event->type == GDK_BUTTON_RELEASE)
+  {
+    guint32 diff = event->time - last_event;
+
+    if (diff < TAP_HOLD_TIME)
+    {
+      /* Normal 'clicked' event */
+      moko_dialer_textview_delete (textview);
+    }
+    else
+    {
+      /* Tap-and-hold event */
+      moko_dialer_textview_empty (textview);
+   }
+  }
+  return FALSE;
 }
 
 static void
@@ -198,8 +219,11 @@
   
   /* Delete button */
   priv->delete = gtk_button_new ();
-  g_signal_connect (G_OBJECT (priv->delete), "clicked",
-                    G_CALLBACK (on_delete_clicked), (gpointer)keypad); 
+  g_signal_connect (priv->delete, "button-press-event",
+                    G_CALLBACK (on_delete_event), (gpointer)keypad);
+  g_signal_connect (priv->delete, "button-release-event",
+                    G_CALLBACK (on_delete_event), (gpointer)keypad);  
+  
   bvbox = gtk_vbox_new (FALSE, 0);
   
   icon = gtk_image_new_from_stock (GTK_STOCK_GO_BACK, GTK_ICON_SIZE_BUTTON);

Modified: 
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-notify.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-notify.c  
2007-08-07 20:14:48 UTC (rev 2662)
+++ trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/moko-notify.c  
2007-08-08 11:49:27 UTC (rev 2663)
@@ -57,6 +57,10 @@
 static guint notify_signals[LAST_SIGNAL] = {0, };
 */
 
+
+/*
+ * Check the current screen brightness, raise it if necessary 
+ */
 static void
 moko_notify_check_brightness (void)
 {




--- End Message ---
--- Begin Message ---
Author: njp
Date: 2007-08-08 14:38:29 +0200 (Wed, 08 Aug 2007)
New Revision: 2664

Added:
   
trunk/src/target/OM-2007.2/artwork/themes/openmoko-standard-2/gtk-2.0/openmoko-dialer
Modified:
   trunk/src/target/OM-2007.2/artwork/themes/openmoko-standard-2/gtk-2.0/gtkrc
Log:
* Set the colours and text-size for the dialer textview.



Modified: 
trunk/src/target/OM-2007.2/artwork/themes/openmoko-standard-2/gtk-2.0/gtkrc
===================================================================
--- trunk/src/target/OM-2007.2/artwork/themes/openmoko-standard-2/gtk-2.0/gtkrc 
2007-08-08 11:49:27 UTC (rev 2663)
+++ trunk/src/target/OM-2007.2/artwork/themes/openmoko-standard-2/gtk-2.0/gtkrc 
2007-08-08 12:38:29 UTC (rev 2664)
@@ -127,6 +127,7 @@
 #include "mokoicons"
 
 include "openmoko-contacts"
+include "openmoko-dialer"
 #include "openmoko-today"
 #include "openmoko-footer"
 

Added: 
trunk/src/target/OM-2007.2/artwork/themes/openmoko-standard-2/gtk-2.0/openmoko-dialer
===================================================================
--- 
trunk/src/target/OM-2007.2/artwork/themes/openmoko-standard-2/gtk-2.0/openmoko-dialer
       2007-08-08 11:49:27 UTC (rev 2663)
+++ 
trunk/src/target/OM-2007.2/artwork/themes/openmoko-standard-2/gtk-2.0/openmoko-dialer
       2007-08-08 12:38:29 UTC (rev 2664)
@@ -0,0 +1,11 @@
+style "mokodialertextview" {
+       fg[NORMAL] = "#D05400"
+  text[NORMAL] = "#D05400"
+  bg[NORMAL] = "#000000"
+  base[NORMAL] = "#000000"
+
+  MokoDialerTextview::small_font = 40
+  MokoDialerTextview::medium_font = 50
+  MokoDialerTextview::large_font = 60
+}
+widget "*.MokoDialerTextview" style "mokodialertextview"




--- End Message ---
--- Begin Message ---
Author: mickey
Date: 2007-08-08 14:50:35 +0200 (Wed, 08 Aug 2007)
New Revision: 2665

Modified:
   trunk/src/target/OM-2007.2/daemons/neod/src/buttonactions.c
   trunk/src/target/OM-2007.2/daemons/neod/src/neod-main.c
Log:
neod: read from all input devices, remove reading environment variable


Modified: trunk/src/target/OM-2007.2/daemons/neod/src/buttonactions.c
===================================================================
--- trunk/src/target/OM-2007.2/daemons/neod/src/buttonactions.c 2007-08-08 
12:38:29 UTC (rev 2664)
+++ trunk/src/target/OM-2007.2/daemons/neod/src/buttonactions.c 2007-08-08 
12:50:35 UTC (rev 2665)
@@ -42,23 +42,19 @@
 //FIXME load this from sysfs
 static const int MAX_BRIGHTNESS = 5000;
 
-//FIXME find out through sysfs
 #ifndef DEBUG_THIS_FILE
-    #define AUX_BUTTON_EVENT_PATH "/dev/input/event1"
     #define AUX_BUTTON_KEYCODE 169
-    #define POWER_BUTTON_EVENT_PATH "/dev/input/event2"
     #define POWER_BUTTON_KEYCODE 116
-    #define TOUCHSCREEN_EVENT_PATH "/dev/input/touchscreen0"
     #define TOUCHSCREEN_BUTTON_KEYCODE 0x14a
 #else
-    #define AUX_BUTTON_EVENT_PATH "/dev/input/event1"
     #define AUX_BUTTON_KEYCODE 0x25
-    #define POWER_BUTTON_EVENT_PATH "/dev/input/event0"
     #define POWER_BUTTON_KEYCODE 0x25
-    #define TOUCHSCREEN_EVENT_PATH "/dev/input/event2"
     #define TOUCHSCREEN_BUTTON_KEYCODE 0x14a
 #endif
 
+GPollFD input_fd[10];
+int max_input_fd = 0;
+
 GPollFD aux_fd;
 GPollFD power_fd;
 GIOChannel* touchscreen_io;
@@ -161,16 +157,23 @@
 
 gboolean neod_buttonactions_install_watcher()
 {
-    int auxfd = open( AUX_BUTTON_EVENT_PATH, O_RDONLY );
-    if ( auxfd < 0 )
+
+    int i = 0;
+    for ( ; i < 10; ++i )
     {
-        g_debug( "can't open " AUX_BUTTON_EVENT_PATH " (%s)", strerror( errno 
) );
-        return FALSE;
+        char* filename = g_strdup_printf( "/dev/input/event%d", i );
+        input_fd[i].fd = open( filename, O_RDONLY );
+        if ( input_fd[i].fd < 0 )
+            break;
+        else
+            g_debug( "'%s' open OK, fd = '%d'", filename, input_fd[i].fd );
     }
-    int powerfd = open( POWER_BUTTON_EVENT_PATH, O_RDONLY );
-    if ( powerfd < 0 )
+
+    max_input_fd = i - 1;
+    g_debug( "opened %d input nodes.", max_input_fd + 1 );
+    if ( max_input_fd <= 0 )
     {
-        g_debug( "can't open " POWER_BUTTON_EVENT_PATH " (%s)", strerror( 
errno ) );
+        g_debug( "can't open ANY input node. no watcher installed." );
         return FALSE;
     }
     static GSourceFuncs funcs = {
@@ -180,34 +183,15 @@
     NULL,
     };
     GSource* button_watcher = g_source_new( &funcs, sizeof (GSource) );
-    aux_fd.fd = auxfd;
-    aux_fd.events = G_IO_IN | G_IO_HUP | G_IO_ERR;
-    aux_fd.revents = 0;
-    g_source_add_poll( button_watcher, &aux_fd );
-    power_fd.fd = powerfd;
-    power_fd.events = G_IO_IN | G_IO_HUP | G_IO_ERR;
-    power_fd.revents = 0;
-    g_source_add_poll( button_watcher, &power_fd );
-    g_source_attach( button_watcher, NULL );
 
-    if ( getenv( "MOKO_POWERSAVE" ) != NULL )
+    for ( i = 0; i <= max_input_fd; ++i )
     {
-
-        int tsfd = open( TOUCHSCREEN_EVENT_PATH, O_RDONLY );
-        if ( tsfd < 0 )
-        {
-            g_debug( "can't open " TOUCHSCREEN_EVENT_PATH " (%s)", strerror( 
errno ) );
-            return FALSE;
-        }
-        touchscreen_io = g_io_channel_unix_new( tsfd );
-        g_io_add_watch( touchscreen_io, G_IO_IN, 
neod_buttonactions_touchscreen_cb, NULL );
-
-        neod_buttonactions_powersave_reset();
-        neod_buttonactions_set_display( 100 );
-        neod_buttonactions_sound_init();
+        input_fd[i].events = G_IO_IN | G_IO_HUP | G_IO_ERR;
+        input_fd[i].revents = 0;
+        g_source_add_poll( button_watcher, &input_fd[i] );
+        g_debug( "added fd %d to list of watchers", input_fd[i].fd );
     }
-    else
-        g_debug( "MOKO_POWERSAVE=yes not set. Not enabling power management." 
);
+    g_source_attach( button_watcher, NULL );
 
     return TRUE;
 }
@@ -221,59 +205,78 @@
 
 gboolean neod_buttonactions_input_check( GSource* source )
 {
-    return ( ( aux_fd.revents & G_IO_IN ) || ( power_fd.revents & G_IO_IN ) );
+    for ( int i = 0; i < max_input_fd; ++i )
+        if ( input_fd[i].revents & G_IO_IN )
+            return TRUE;
+    return FALSE;
 }
 
 
 gboolean neod_buttonactions_input_dispatch( GSource* source, GSourceFunc 
callback, gpointer data )
 {
-    if ( aux_fd.revents & G_IO_IN )
+    for ( int i = 0; i < max_input_fd; ++i )
     {
-        struct input_event event;
-        int size = read( aux_fd.fd, &event, sizeof( struct input_event ) );
-        //g_debug( "read %d bytes from aux_fd %d", size, aux_fd.fd );
-        //g_debug( "input event = ( %0x, %0x, %0x )", event.type, event.code, 
event.value );
-        if ( event.type == 1 && event.code == AUX_BUTTON_KEYCODE )
+        if ( input_fd[i].revents & G_IO_IN )
         {
-            if ( event.value == 1 ) /* pressed */
+            struct input_event event;
+            int size = read( input_fd[i].fd, &event, sizeof( struct 
input_event ) );
+            //g_debug( "read %d bytes from aux_fd %d", size, aux_fd.fd );
+            //g_debug( "input event = ( %0x, %0x, %0x )", event.type, 
event.code, event.value );
+            if ( event.type == 1 && event.code == AUX_BUTTON_KEYCODE )
             {
-                g_debug( "triggering aux timer" );
-                aux_timer = g_timeout_add( 1 * 1000, (GSourceFunc) 
neod_buttonactions_aux_timeout, (gpointer)1 );
+                if ( event.value == 1 ) /* pressed */
+                {
+                    g_debug( "triggering aux timer" );
+                    aux_timer = g_timeout_add( 1 * 1000, (GSourceFunc) 
neod_buttonactions_aux_timeout, (gpointer)1 );
+                }
+                else if ( event.value == 0 ) /* released */
+                {
+                    g_debug( "resetting aux timer" );
+                    if ( aux_timer != -1 )
+                    {
+                        g_source_remove( aux_timer );
+                        neod_buttonactions_aux_timeout( 0 );
+                    }
+                    aux_timer = -1;
+                }
             }
-            else if ( event.value == 0 ) /* released */
+            else
+            if ( event.type == 1 && event.code == POWER_BUTTON_KEYCODE )
             {
-                g_debug( "resetting aux timer" );
-                if ( aux_timer != -1 )
+                if ( event.value == 1 ) /* pressed */
                 {
-                    g_source_remove( aux_timer );
-                    neod_buttonactions_aux_timeout( 0 );
+                    g_debug( "triggering power timer" );
+                    power_timer = g_timeout_add( 1 * 1000, (GSourceFunc) 
neod_buttonactions_power_timeout, (gpointer)1 );
                 }
-                aux_timer = -1;
+                else if ( event.value == 0 ) /* released */
+                {
+                    g_debug( "resetting power timer" );
+                    if ( power_timer != -1 )
+                    {
+                        g_source_remove( power_timer );
+                        neod_buttonactions_power_timeout( 0 );
+                    }
+                    power_timer = -1;
+                }
             }
-        }
-    }
-    if ( power_fd.revents & G_IO_IN )
-    {
-        struct input_event event;
-        int size = read( power_fd.fd, &event, sizeof( struct input_event ) );
-        //g_debug( "read %d bytes from power_fd %d", size, power_fd.fd );
-        //g_debug( "input event = ( %0x, %0x, %0x )", event.type, event.code, 
event.value );
-        if ( event.type == 1 && event.code == POWER_BUTTON_KEYCODE )
-        {
-            if ( event.value == 1 ) /* pressed */
+            else
+            if ( event.type == 1 && event.code == TOUCHSCREEN_BUTTON_KEYCODE )
             {
-                g_debug( "triggering power timer" );
-                power_timer = g_timeout_add( 1 * 1000, (GSourceFunc) 
neod_buttonactions_power_timeout, (gpointer)1 );
-            }
-            else if ( event.value == 0 ) /* released */
-            {
-                g_debug( "resetting power timer" );
-                if ( power_timer != -1 )
+                if ( event.value == 1 ) /* pressed */
                 {
-                    g_source_remove( power_timer );
-                    neod_buttonactions_power_timeout( 0 );
+                    g_debug( "stylus pressed" );
+                    neod_buttonactions_sound_play( "touchscreen" );
                 }
-                power_timer = -1;
+                else if ( event.value == 0 ) /* released */
+                {
+                    g_debug( "stylus released" );
+                }
+                neod_buttonactions_powersave_reset();
+                if ( power_state != NORMAL )
+                {
+                    neod_buttonactions_set_display( 100 );
+                    power_state = NORMAL;
+                }
             }
         }
     }
@@ -446,35 +449,6 @@
     return FALSE;
 }
 
-gboolean neod_buttonactions_touchscreen_cb( GIOChannel *source, GIOCondition 
condition, gpointer data )
-{
-    g_debug( "mainmenu touchscreen event" );
-
-    struct input_event event;
-    int size = read( g_io_channel_unix_get_fd( source ), &event, sizeof( 
struct input_event ) );
-
-    if ( event.type == 1 && event.code == TOUCHSCREEN_BUTTON_KEYCODE )
-    {
-        if ( event.value == 1 ) /* pressed */
-        {
-            g_debug( "stylus pressed" );
-            neod_buttonactions_sound_play( "touchscreen" );
-        }
-        else if ( event.value == 0 ) /* released */
-        {
-            g_debug( "stylus released" );
-        }
-
-        neod_buttonactions_powersave_reset();
-        if ( power_state != NORMAL )
-        {
-            neod_buttonactions_set_display( 100 );
-            power_state = NORMAL;
-        }
-    }
-    return TRUE;
-}
-
 void neod_buttonactions_powersave_reset()
 {
     g_debug( "mainmenu powersave reset" );

Modified: trunk/src/target/OM-2007.2/daemons/neod/src/neod-main.c
===================================================================
--- trunk/src/target/OM-2007.2/daemons/neod/src/neod-main.c     2007-08-08 
12:38:29 UTC (rev 2664)
+++ trunk/src/target/OM-2007.2/daemons/neod/src/neod-main.c     2007-08-08 
12:50:35 UTC (rev 2665)
@@ -23,6 +23,9 @@
     gtk_init( &argc, &argv );
     if ( neod_buttonactions_install_watcher() )
     {
+        neod_buttonactions_powersave_reset();
+        neod_buttonactions_set_display( 100 );
+        neod_buttonactions_sound_init();
         gtk_main();
         return 0;
     }




--- End Message ---
--- Begin Message ---
Author: thomas
Date: 2007-08-08 16:13:17 +0200 (Wed, 08 Aug 2007)
New Revision: 2666

Modified:
   
trunk/src/target/OM-2007.2/artwork/themes/openmoko-standard-2/gtk-2.0/openmoko-dialer
Log:
* Fix dialer display font sizes


Modified: 
trunk/src/target/OM-2007.2/artwork/themes/openmoko-standard-2/gtk-2.0/openmoko-dialer
===================================================================
--- 
trunk/src/target/OM-2007.2/artwork/themes/openmoko-standard-2/gtk-2.0/openmoko-dialer
       2007-08-08 12:50:35 UTC (rev 2665)
+++ 
trunk/src/target/OM-2007.2/artwork/themes/openmoko-standard-2/gtk-2.0/openmoko-dialer
       2007-08-08 14:13:17 UTC (rev 2666)
@@ -4,8 +4,8 @@
   bg[NORMAL] = "#000000"
   base[NORMAL] = "#000000"
 
-  MokoDialerTextview::small_font = 40
-  MokoDialerTextview::medium_font = 50
-  MokoDialerTextview::large_font = 60
+  MokoDialerTextview::small_font = 10
+  MokoDialerTextview::medium_font = 15
+  MokoDialerTextview::large_font = 20
 }
 widget "*.MokoDialerTextview" style "mokodialertextview"




--- End Message ---
--- Begin Message ---
Author: mickey
Date: 2007-08-08 17:43:06 +0200 (Wed, 08 Aug 2007)
New Revision: 2667

Modified:
   trunk/src/target/OM-2007.2/daemons/neod/src/buttonactions.c
Log:
neod: add preliminary profiles for chosing power management mode


Modified: trunk/src/target/OM-2007.2/daemons/neod/src/buttonactions.c
===================================================================
--- trunk/src/target/OM-2007.2/daemons/neod/src/buttonactions.c 2007-08-08 
14:13:17 UTC (rev 2666)
+++ trunk/src/target/OM-2007.2/daemons/neod/src/buttonactions.c 2007-08-08 
15:43:06 UTC (rev 2667)
@@ -47,16 +47,14 @@
     #define POWER_BUTTON_KEYCODE 116
     #define TOUCHSCREEN_BUTTON_KEYCODE 0x14a
 #else
-    #define AUX_BUTTON_KEYCODE 0x25
-    #define POWER_BUTTON_KEYCODE 0x25
+    #define AUX_BUTTON_KEYCODE 0x22
+    #define POWER_BUTTON_KEYCODE 0x23
     #define TOUCHSCREEN_BUTTON_KEYCODE 0x14a
 #endif
 
 GPollFD input_fd[10];
 int max_input_fd = 0;
 
-GPollFD aux_fd;
-GPollFD power_fd;
 GIOChannel* touchscreen_io;
 
 int aux_timer = -1;
@@ -220,8 +218,10 @@
         {
             struct input_event event;
             int size = read( input_fd[i].fd, &event, sizeof( struct 
input_event ) );
-            //g_debug( "read %d bytes from aux_fd %d", size, aux_fd.fd );
-            //g_debug( "input event = ( %0x, %0x, %0x )", event.type, 
event.code, event.value );
+#ifdef DEBUG_THIS_FILE
+            g_debug( "read %d bytes from fd %d", size, input_fd[i].fd );
+            g_debug( "input event = ( %0x, %0x, %0x )", event.type, 
event.code, event.value );
+#endif
             if ( event.type == 1 && event.code == AUX_BUTTON_KEYCODE )
             {
                 if ( event.value == 1 ) /* pressed */
@@ -346,9 +346,23 @@
         g_assert( FALSE ); // fail here if called for unknown menu
 }
 
+void neod_buttonactions_popup_selected_fullPM( GtkMenuItem* menu, gpointer 
user_data )
+{
+    //FIXME set PM to full
+}
+
+void neod_buttonactions_popup_selected_dimOnly( GtkMenuItem* menu, gpointer 
user_data )
+{
+    //FIXME set PM to dim-only
+}
+
+void neod_buttonactions_popup_selected_noPM( GtkMenuItem* menu, gpointer 
user_data )
+{
+    //FIXME set PM to none
+}
+
 void neod_buttonactions_popup_selected_lock( GtkMenuItem* menu, gpointer 
user_data )
 {
-    //FIXME talk to neod
     int fd = open( "/sys/power/state", O_WRONLY );
     if ( fd != -1 )
     {
@@ -360,21 +374,18 @@
 
 void neod_buttonactions_popup_selected_restartUI( GtkMenuItem* menu, gpointer 
user_data )
 {
-    //FIXME talk to neod
     //FIXME notify user
     system( "/etc/init.d/xserver-nodm restart");
 }
 
 void neod_buttonactions_popup_selected_reboot( GtkMenuItem* menu, gpointer 
user_data )
 {
-    //FIXME talk to neod
     //moko_ui_banner_show_text( 4, "Rebooting System..." );
     system( "/sbin/reboot");
 }
 
 void neod_buttonactions_popup_selected_poweroff( GtkMenuItem* menu, gpointer 
user_data )
 {
-    //FIXME talk to neod
     //moko_ui_banner_show_text( 4, "Shutting down System..." );
     system( "/sbin/poweroff");
 }
@@ -428,17 +439,35 @@
         if ( !power_menu )
         {
             power_menu = gtk_menu_new();
+
+            // add profiles
+            // TODO build profile list dynamically from database
+            GtkWidget* profile = 0;
+            profile = gtk_check_menu_item_new_with_label( "Full PM" );
+            g_signal_connect( G_OBJECT(profile), "activate", 
G_CALLBACK(neod_buttonactions_popup_selected_fullPM), NULL );
+            gtk_menu_shell_append( GTK_MENU_SHELL(power_menu), profile );
+            profile = gtk_check_menu_item_new_with_label( "Dim Only" );
+            g_signal_connect( G_OBJECT(profile), "activate", 
G_CALLBACK(neod_buttonactions_popup_selected_dimOnly), NULL );
+            gtk_menu_shell_append( GTK_MENU_SHELL(power_menu), profile );
+            profile = gtk_check_menu_item_new_with_label( "No PM" );
+            g_signal_connect( G_OBJECT(profile), "activate", 
G_CALLBACK(neod_buttonactions_popup_selected_noPM), NULL );
+            gtk_menu_shell_append( GTK_MENU_SHELL(power_menu), profile );
+
+            gtk_menu_shell_append( GTK_MENU_SHELL(power_menu), 
gtk_separator_menu_item_new() );
+
             GtkWidget* lock = gtk_menu_item_new_with_label( "Lock" );
             g_signal_connect( G_OBJECT(lock), "activate", 
G_CALLBACK(neod_buttonactions_popup_selected_lock), NULL );
             gtk_menu_shell_append( GTK_MENU_SHELL(power_menu), lock );
-            GtkWidget* flightmode = gtk_menu_item_new_with_label( "Flight 
Mode" );
-            gtk_menu_shell_append( GTK_MENU_SHELL(power_menu), flightmode );
-            GtkWidget* profilelist = gtk_menu_item_new_with_label( "<Profile 
List>" );
-            gtk_menu_shell_append( GTK_MENU_SHELL(power_menu), profilelist );
+            //GtkWidget* flightmode = gtk_menu_item_new_with_label( "Flight 
Mode" );
+            //gtk_menu_shell_append( GTK_MENU_SHELL(power_menu), flightmode );
+            //GtkWidget* profilelist = gtk_menu_item_new_with_label( "<Profile 
List>" );
+            //gtk_menu_shell_append( GTK_MENU_SHELL(power_menu), profilelist );
             GtkWidget* restartUI = gtk_menu_item_new_with_label( "Restart UI" 
);
             g_signal_connect( G_OBJECT(restartUI), "activate", 
G_CALLBACK(neod_buttonactions_popup_selected_restartUI), NULL );
+            gtk_menu_shell_append( GTK_MENU_SHELL(power_menu), restartUI );
             GtkWidget* reboot = gtk_menu_item_new_with_label( "Reboot" );
             g_signal_connect( G_OBJECT(reboot), "activate", 
G_CALLBACK(neod_buttonactions_popup_selected_reboot), NULL );
+            gtk_menu_shell_append( GTK_MENU_SHELL(power_menu), reboot );
             GtkWidget* poweroff = gtk_menu_item_new_with_label( "Power Off" );
             g_signal_connect( G_OBJECT(poweroff), "activate", 
G_CALLBACK(neod_buttonactions_popup_selected_poweroff), NULL );
             gtk_menu_shell_append( GTK_MENU_SHELL(power_menu), poweroff );




--- End Message ---
_______________________________________________
commitlog mailing list
[email protected]
http://lists.openmoko.org/mailman/listinfo/commitlog

Reply via email to