r1769 - trunk/src/target/OM-2007/panel-plugins/openmoko-panel-gsm/src
mickey at sita.openmoko.org
mickey at sita.openmoko.org
Sun Apr 15 19:03:18 CEST 2007
Author: mickey
Date: 2007-04-15 19:03:17 +0200 (Sun, 15 Apr 2007)
New Revision: 1769
Modified:
trunk/src/target/OM-2007/panel-plugins/openmoko-panel-gsm/src/openmoko-panel-gsm.c
Log:
openmoko-panel-gsm: add popup menu for mouse tap
Modified: trunk/src/target/OM-2007/panel-plugins/openmoko-panel-gsm/src/openmoko-panel-gsm.c
===================================================================
--- trunk/src/target/OM-2007/panel-plugins/openmoko-panel-gsm/src/openmoko-panel-gsm.c 2007-04-15 16:43:35 UTC (rev 1768)
+++ trunk/src/target/OM-2007/panel-plugins/openmoko-panel-gsm/src/openmoko-panel-gsm.c 2007-04-15 17:03:17 UTC (rev 1769)
@@ -25,6 +25,7 @@
typedef struct {
GtkImage* image;
gboolean gprs_mode;
+ MokoGsmdConnection* gsm;
} GsmApplet;
static void gsm_applet_free(GsmApplet *applet)
@@ -32,7 +33,7 @@
g_slice_free( GsmApplet, applet );
}
-static void gsm_applet_update_signal_strength(MokoGsmdConnection* connection, int strength, GsmApplet *applet)
+static void gsm_applet_update_signal_strength(MokoGsmdConnection* connection, int strength, GsmApplet* applet)
{
g_debug( "gsm_applet_update_signal_strength: signal strength = %d", strength );
//TODO calibrate
@@ -52,11 +53,28 @@
gtk_image_set_from_file( GTK_IMAGE(applet->image), imagestring );
}
+static void gsm_applet_power_up_antenna(GtkWidget* menu, GsmApplet* applet)
+{
+ //TODO notify user
+ moko_gsmd_connection_set_antenna_power( applet->gsm, TRUE );
+}
+
+static void gsm_applet_autoregister_network(GtkWidget* menu, GsmApplet* applet)
+{
+ moko_gsmd_connection_network_register( applet->gsm );
+}
+
+static void gsm_applet_power_down_antenna(GtkWidget* menu, GsmApplet* applet)
+{
+ //TODO notify user
+ moko_gsmd_connection_set_antenna_power( applet->gsm, FALSE );
+}
+
G_MODULE_EXPORT GtkWidget* mb_panel_applet_create(const char* id, GtkOrientation orientation)
{
MokoPanelApplet* mokoapplet = MOKO_PANEL_APPLET(moko_panel_applet_new());
- GsmApplet *applet;
+ GsmApplet* applet;
applet = g_slice_new(GsmApplet);
applet->image = GTK_IMAGE(gtk_image_new_from_file( PKGDATADIR "/SignalStrength_NR.png" ) );
applet->gprs_mode = FALSE;
@@ -65,7 +83,22 @@
moko_panel_applet_set_widget( mokoapplet, GTK_WIDGET(applet->image) );
gtk_widget_show_all( GTK_WIDGET(mokoapplet) );
- MokoGsmdConnection* gsm = moko_gsmd_connection_new();
- g_signal_connect( G_OBJECT(gsm), "signal-strength-changed", G_CALLBACK(gsm_applet_update_signal_strength), applet );
+ applet->gsm = moko_gsmd_connection_new();
+ g_signal_connect( G_OBJECT(applet->gsm), "signal-strength-changed", G_CALLBACK(gsm_applet_update_signal_strength), applet );
+
+ // tap-with-hold menu (NOTE: temporary: left button atm.)
+ GtkMenu* menu = gtk_menu_new();
+ GtkWidget* item1 = gtk_menu_item_new_with_label( "Power-Up GSM Antenna" );
+ g_signal_connect( G_OBJECT(item1), "activate", G_CALLBACK(gsm_applet_power_up_antenna), applet );
+ gtk_menu_shell_append( GTK_MENU_SHELL(menu), item1 );
+ GtkWidget* item2 = gtk_menu_item_new_with_label( "Autoregister with Network" );
+ g_signal_connect( G_OBJECT(item1), "activate", G_CALLBACK(gsm_applet_autoregister_network), applet );
+ gtk_menu_shell_append( GTK_MENU_SHELL(menu), item2 );
+ GtkWidget* item3 = gtk_menu_item_new_with_label( "Power-Down GSM Antenna" );
+ g_signal_connect( G_OBJECT(item1), "activate", G_CALLBACK(gsm_applet_power_down_antenna), applet );
+ gtk_menu_shell_append( GTK_MENU_SHELL(menu), item3 );
+ gtk_widget_show_all( GTK_WIDGET(menu) );
+
+ moko_panel_applet_set_popup( mokoapplet, menu, MOKO_PANEL_APPLET_CLICK_POPUP );
return GTK_WIDGET(mokoapplet);
};
More information about the commitlog
mailing list