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