r3346 - in trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-usb: . src
mickey at sita.openmoko.org
mickey at sita.openmoko.org
Sun Nov 4 16:31:08 CET 2007
Author: mickey
Date: 2007-11-04 16:31:08 +0100 (Sun, 04 Nov 2007)
New Revision: 3346
Modified:
trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-usb/ChangeLog
trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-usb/src/openmoko-panel-usb.c
Log:
openmoko-panel-usb: hide USB applet initially
Modified: trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-usb/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-usb/ChangeLog 2007-11-03 13:34:59 UTC (rev 3345)
+++ trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-usb/ChangeLog 2007-11-04 15:31:08 UTC (rev 3346)
@@ -1,3 +1,13 @@
+2007-11-04 Michael Lauer <mickey at openmoko.org>
+
+ * src/openmoko-panel-usb.c: hide USB applet initially
+
+2007-11-02 Michael Lauer <mickey at openmoko.org
+
+ * configure.ac:
+ Remove libusb dependency, add dbus(-glib)-1 dependency
+ * src/openmoko-panel-usb.c: Listen for USB insertion events from dbus
+
2007-10-29 Michael Lauer <mickey at openmoko.org>
* configure.ac:
@@ -2,8 +12,8 @@
Depend on libusb
- * src/openmoko-panel-usb:
+ * src/openmoko-panel-usb.c:
Add usb debug code.
2007-09-02 Michael Lauer <mickey at openmoko.org>
- * src/openmoko-panel-usb:
+ * src/openmoko-panel-usb.c:
Use moko_panel_applet_set_icon to set the icon.
Modified: trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-usb/src/openmoko-panel-usb.c
===================================================================
--- trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-usb/src/openmoko-panel-usb.c 2007-11-03 13:34:59 UTC (rev 3345)
+++ trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-usb/src/openmoko-panel-usb.c 2007-11-04 15:31:08 UTC (rev 3346)
@@ -17,44 +17,47 @@
#include <dbus/dbus.h>
#include <dbus/dbus-glib.h>
+#include <dbus/dbus-glib-lowlevel.h>
#include <gtk/gtkimage.h>
#include <time.h>
typedef struct {
- MokoPanelApplet* mpa;
+ MokoPanelApplet* mokopanelapplet;
int dummy;
} UsbApplet;
-static void
-usb_applet_free (UsbApplet *applet)
+static void usb_applet_update_status( UsbApplet* applet, gboolean connected );
+
+#if 0 // not supported yet by Matchbox-Panel-2
+static void usb_applet_free (UsbApplet *applet)
{
g_slice_free (UsbApplet, applet);
}
+#endif
-static void usb_applet_dbus_signal( void* data )
-{
- g_debug( "usb_applet_dbus_signal: received signal. data pointer = %p", data );
-}
+#define CHARGER_DBUS_SERVICE "org.freedesktop.PowerManagement"
+#define CHARGER_DBUS_PATH "/org/freedesktop/PowerManagement"
+#define CHARGER_DBUS_INTERFACE "org.freedesktop.PowerManagement"
-#define USB_DBUS_SERVICE "org.freedesktop.PowerManagement"
-#define USB_DBUS_PATH "/org/freedesktop/PowerManagement"
-#define USB_DBUS_INTERFACE "org.freedesktop.PowerManagement"
-
DBusHandlerResult signal_filter (DBusConnection *bus, DBusMessage *msg, void *user_data)
{
+ UsbApplet* applet = (UsbApplet*) user_data;
+
g_debug( "signal_filter" );
- if ( dbus_message_is_signal( msg, USB_DBUS_INTERFACE, "ChargerConnected" ) )
+ if ( dbus_message_is_signal( msg, CHARGER_DBUS_INTERFACE, "ChargerConnected" ) )
{
g_debug( "connected" );
+ usb_applet_update_status( applet, TRUE );
return DBUS_HANDLER_RESULT_HANDLED;
}
- else if ( dbus_message_is_signal( msg, USB_DBUS_INTERFACE, "ChargerDisconnected" ) )
+ else if ( dbus_message_is_signal( msg, CHARGER_DBUS_INTERFACE, "ChargerDisconnected" ) )
{
g_debug( "disconnected" );
+ usb_applet_update_status( applet, FALSE );
return DBUS_HANDLER_RESULT_HANDLED;
}
- g_debug( "(unknown dbus message, ignoring" );
+ g_debug( "(unknown dbus message, ignoring)" );
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
@@ -78,31 +81,37 @@
dbus_connection_setup_with_g_main (bus, NULL);
dbus_bus_add_match (bus, "type='signal'", &error);
- dbus_connection_add_filter (bus, signal_filter, NULL, NULL);
+ dbus_connection_add_filter (bus, signal_filter, applet, NULL);
}
-static void usb_applet_update_status( UsbApplet* applet )
+static void usb_applet_update_status( UsbApplet* applet, gboolean connected )
{
- moko_panel_applet_set_icon( applet->mpa, PKGDATADIR "/Usb.png" );
+ g_debug( "usb_applet_update_status: connected = %d", connected );
+ if ( connected )
+ gtk_widget_show( GTK_WIDGET(applet->mokopanelapplet) );
+ else
+ gtk_widget_hide( GTK_WIDGET(applet->mokopanelapplet) );
+}
+gboolean usb_applet_initial_update_status_cb( UsbApplet* applet )
+{
+ usb_applet_update_status( applet, FALSE );
+ return FALSE;
}
G_MODULE_EXPORT GtkWidget*
mb_panel_applet_create(const char* id, GtkOrientation orientation)
{
- MokoPanelApplet* mokoapplet = moko_panel_applet_new();
+ MokoPanelApplet* mokoapplet = MOKO_PANEL_APPLET(moko_panel_applet_new());
UsbApplet *applet;
- time_t t;
- struct tm *local_time;
-
applet = g_slice_new( UsbApplet );
- applet->mpa = mokoapplet;
+ applet->mokopanelapplet = mokoapplet;
usb_applet_init_dbus( applet );
- usb_applet_update_status( applet );
-
- gtk_widget_show_all( GTK_WIDGET(mokoapplet) );
+ moko_panel_applet_set_icon( applet->mokopanelapplet, PKGDATADIR "/Usb.png" );
+ gtk_widget_show_all( mokoapplet );
+ g_idle_add( (GSourceFunc) usb_applet_initial_update_status_cb, applet );
return GTK_WIDGET(mokoapplet);
};
More information about the commitlog
mailing list