r1716 - trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src

mickey at sita.openmoko.org mickey at sita.openmoko.org
Mon Apr 9 19:45:59 CEST 2007


Author: mickey
Date: 2007-04-09 19:45:58 +0200 (Mon, 09 Apr 2007)
New Revision: 1716

Modified:
   trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/buttonactions.c
   trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/mokodesktop.h
Log:
openmoko-panel-mainmenu: add preliminary actions for AUX button, fix power button menu positioning


Modified: trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/buttonactions.c
===================================================================
--- trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/buttonactions.c	2007-04-09 17:06:54 UTC (rev 1715)
+++ trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/buttonactions.c	2007-04-09 17:45:58 UTC (rev 1716)
@@ -32,6 +32,7 @@
 #include <linux/input.h>
 
 #undef DEBUG_THIS_FILE
+//#define DEBUG_THIS_FILE 1
 
 //FIXME find out through sysfs
 #ifndef DEBUG_THIS_FILE
@@ -40,9 +41,9 @@
     #define POWER_BUTTON_EVENT_PATH "/dev/input/event2"
     #define POWER_BUTTON_KEYCODE 116
 #else
-    #define AUX_BUTTON_EVENT_PATH "/dev/input/event0"
+    #define AUX_BUTTON_EVENT_PATH "/dev/input/event4"
     #define AUX_BUTTON_KEYCODE 0x25
-    #define POWER_BUTTON_EVENT_PATH "/dev/input/event1"
+    #define POWER_BUTTON_EVENT_PATH "/dev/input/event3"
     #define POWER_BUTTON_KEYCODE 0x25
 #endif
 
@@ -156,16 +157,28 @@
 gboolean panel_mainmenu_aux_timeout( guint timeout )
 {
     g_debug( "aux pressed for %d", timeout );
+    if ( timeout < 1 )
+    {
+        // make dialer interface show up
+        // NOTE: temporary hack, will use dbus interface once dialer has it :)
+        system( "openmoko-dialer" );
+    }
+    else
+    {
+        // make main menu show up
+        // NOTE: temporary hack, will use dbus interface once main menu has it :)
+        system( "openmoko-mainmenu" );
+    }
     return FALSE;
 }
 
-
-
+// this is hardcoded to the Neo1973
 void panel_mainmenu_popup_positioning_cb( GtkMenu* menu, gint* x, gint* y, gboolean* push_in, gpointer user_data )
 {
-    gint menu_width;
-    gint menu_height;
-    gtk_widget_get_size_request( GTK_WIDGET(menu), &menu_width, &menu_height );
+    g_debug( "aux_menu = %p, power_menu = %p", aux_menu, power_menu );
+    g_debug( "menu = %p", menu );
+    GtkRequisition req;
+    gtk_widget_size_request( GTK_WIDGET(menu), &req );
     gint screen_width = gdk_screen_width();
     gint screen_height = gdk_screen_height();
 
@@ -176,8 +189,8 @@
     }
     else if ( GTK_WIDGET(menu) == power_menu )
     {
-        *x = screen_width - menu_width;
-        *y = screen_height - menu_height;
+        *x = screen_width - req.width;
+        *y = screen_height - req.height;
     }
     else
         g_assert( FALSE ); // fail here if called for unknown menu
@@ -203,22 +216,22 @@
     else
     {
         // show popup menu requesting for actions
-        if ( !aux_menu )
+        if ( !power_menu )
         {
-            aux_menu = gtk_menu_new();
+            power_menu = gtk_menu_new();
             GtkWidget* lock = gtk_menu_item_new_with_label( "Lock" );
             g_signal_connect( G_OBJECT(lock), "activate", G_CALLBACK(panel_mainmenu_popup_selected_lock), NULL );
-            gtk_menu_shell_append( GTK_MENU_SHELL(aux_menu), lock );
+            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(aux_menu), flightmode );
+            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(aux_menu), profilelist );
+            gtk_menu_shell_append( GTK_MENU_SHELL(power_menu), profilelist );
             GtkWidget* poweroff = gtk_menu_item_new_with_label( "Power Off" );
             g_signal_connect( G_OBJECT(poweroff), "activate", G_CALLBACK(panel_mainmenu_popup_selected_poweroff), NULL );
-            gtk_menu_shell_append( GTK_MENU_SHELL(aux_menu), poweroff );
-            gtk_widget_show_all( GTK_WIDGET(aux_menu) );
+            gtk_menu_shell_append( GTK_MENU_SHELL(power_menu), poweroff );
+            gtk_widget_show_all( GTK_WIDGET(power_menu) );
         }
-        gtk_menu_popup( GTK_MENU(aux_menu), NULL, NULL, panel_mainmenu_popup_positioning_cb, 0, 0, GDK_CURRENT_TIME );
+        gtk_menu_popup( GTK_MENU(power_menu), NULL, NULL, panel_mainmenu_popup_positioning_cb, 0, 0, GDK_CURRENT_TIME );
     }
     return FALSE;
 }

Modified: trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/mokodesktop.h
===================================================================
--- trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/mokodesktop.h	2007-04-09 17:06:54 UTC (rev 1715)
+++ trunk/src/target/OM-2007/panel-plugins/openmoko-panel-mainmenu/src/mokodesktop.h	2007-04-09 17:45:58 UTC (rev 1716)
@@ -15,9 +15,11 @@
 
 #include <libmb/mb.h>
 
-#define VFOLDERDIR 		"/usr/local/share/matchbox"
-#define DD_DIR 		 	"/usr/local/share/applications/"
+#warning FIXME use autotools to gather this on-the-fly
 
+#define VFOLDERDIR 		"/usr/share/matchbox"
+#define DD_DIR 		 	"/usr/share/applications/"
+
 #define PIXMAP_PATH 	"/usr/local/share/pixmaps"
 
 #ifdef DEBUG





More information about the commitlog mailing list