r2667 - trunk/src/target/OM-2007.2/daemons/neod/src
mickey at sita.openmoko.org
mickey at sita.openmoko.org
Wed Aug 8 17:43:06 CEST 2007
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 );
More information about the commitlog
mailing list