Changeset 3346


Ignore:
Timestamp:
11/04/07 16:31:08 (6 years ago)
Author:
mickey
Message:

openmoko-panel-usb: hide USB applet initially

Location:
trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-usb
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-usb/ChangeLog

    r3295 r3346  
     12007-11-04      Michael Lauer <mickey@openmoko.org> 
     2 
     3        * src/openmoko-panel-usb.c: hide USB applet initially 
     4 
     52007-11-02      Michael Lauer <mickey@openmoko.org 
     6 
     7        * configure.ac: 
     8        Remove libusb dependency, add dbus(-glib)-1 dependency 
     9        * src/openmoko-panel-usb.c: Listen for USB insertion events from dbus 
     10 
    1112007-10-29      Michael Lauer <mickey@openmoko.org> 
    212 
    313        * configure.ac: 
    414        Depend on libusb 
    5         * src/openmoko-panel-usb: 
     15        * src/openmoko-panel-usb.c: 
    616        Add usb debug code. 
    717 
    8182007-09-02      Michael Lauer <mickey@openmoko.org> 
    919 
    10         * src/openmoko-panel-usb: 
     20        * src/openmoko-panel-usb.c: 
    1121        Use moko_panel_applet_set_icon to set the icon. 
    1222 
  • trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-usb/src/openmoko-panel-usb.c

    r3333 r3346  
    1818#include <dbus/dbus.h> 
    1919#include <dbus/dbus-glib.h> 
     20#include <dbus/dbus-glib-lowlevel.h> 
    2021#include <gtk/gtkimage.h> 
    2122#include <time.h> 
    2223 
    2324typedef struct { 
    24     MokoPanelApplet* mpa; 
     25    MokoPanelApplet* mokopanelapplet; 
    2526    int dummy; 
    2627} UsbApplet; 
    2728 
    28 static void 
    29 usb_applet_free (UsbApplet *applet) 
     29static void usb_applet_update_status( UsbApplet* applet, gboolean connected ); 
     30 
     31#if 0 // not supported yet by Matchbox-Panel-2 
     32static void usb_applet_free (UsbApplet *applet) 
    3033{ 
    3134    g_slice_free (UsbApplet, applet); 
    3235} 
     36#endif 
    3337 
    34 static void usb_applet_dbus_signal( void* data ) 
    35 { 
    36     g_debug( "usb_applet_dbus_signal: received signal. data pointer = %p", data ); 
    37 } 
    38  
    39 #define USB_DBUS_SERVICE      "org.freedesktop.PowerManagement" 
    40 #define USB_DBUS_PATH         "/org/freedesktop/PowerManagement" 
    41 #define USB_DBUS_INTERFACE    "org.freedesktop.PowerManagement" 
     38#define CHARGER_DBUS_SERVICE      "org.freedesktop.PowerManagement" 
     39#define CHARGER_DBUS_PATH         "/org/freedesktop/PowerManagement" 
     40#define CHARGER_DBUS_INTERFACE    "org.freedesktop.PowerManagement" 
    4241 
    4342DBusHandlerResult signal_filter (DBusConnection *bus, DBusMessage *msg, void *user_data) 
    4443{ 
     44    UsbApplet* applet = (UsbApplet*) user_data; 
     45 
    4546    g_debug( "signal_filter" ); 
    46     if ( dbus_message_is_signal( msg, USB_DBUS_INTERFACE, "ChargerConnected" ) ) 
     47    if ( dbus_message_is_signal( msg, CHARGER_DBUS_INTERFACE, "ChargerConnected" ) ) 
    4748    { 
    4849        g_debug( "connected" ); 
     50        usb_applet_update_status( applet, TRUE ); 
    4951        return DBUS_HANDLER_RESULT_HANDLED; 
    5052    } 
    51     else if ( dbus_message_is_signal( msg, USB_DBUS_INTERFACE, "ChargerDisconnected" ) ) 
     53    else if ( dbus_message_is_signal( msg, CHARGER_DBUS_INTERFACE, "ChargerDisconnected" ) ) 
    5254    { 
    5355        g_debug( "disconnected" ); 
     56        usb_applet_update_status( applet, FALSE ); 
    5457        return DBUS_HANDLER_RESULT_HANDLED; 
    5558    } 
    5659 
    57     g_debug( "(unknown dbus message, ignoring" ); 
     60    g_debug( "(unknown dbus message, ignoring)" ); 
    5861    return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; 
    5962} 
     
    7982 
    8083    dbus_bus_add_match (bus, "type='signal'", &error); 
    81     dbus_connection_add_filter (bus, signal_filter, NULL, NULL); 
     84    dbus_connection_add_filter (bus, signal_filter, applet, NULL); 
    8285 
    8386} 
    8487 
    85 static void usb_applet_update_status( UsbApplet* applet ) 
     88static void usb_applet_update_status( UsbApplet* applet, gboolean connected ) 
    8689{ 
    87     moko_panel_applet_set_icon( applet->mpa, PKGDATADIR "/Usb.png" ); 
     90    g_debug( "usb_applet_update_status: connected = %d", connected ); 
     91    if ( connected ) 
     92        gtk_widget_show( GTK_WIDGET(applet->mokopanelapplet) ); 
     93    else 
     94        gtk_widget_hide( GTK_WIDGET(applet->mokopanelapplet) ); 
     95} 
    8896 
     97gboolean usb_applet_initial_update_status_cb( UsbApplet* applet ) 
     98{ 
     99    usb_applet_update_status( applet, FALSE ); 
     100    return FALSE; 
    89101} 
    90102 
     
    92104mb_panel_applet_create(const char* id, GtkOrientation orientation) 
    93105{ 
    94     MokoPanelApplet* mokoapplet = moko_panel_applet_new(); 
     106    MokoPanelApplet* mokoapplet = MOKO_PANEL_APPLET(moko_panel_applet_new()); 
    95107 
    96108    UsbApplet *applet; 
    97     time_t t; 
    98     struct tm *local_time; 
    99  
    100109    applet = g_slice_new( UsbApplet ); 
    101     applet->mpa = mokoapplet; 
     110    applet->mokopanelapplet = mokoapplet; 
    102111 
    103112    usb_applet_init_dbus( applet ); 
    104     usb_applet_update_status( applet ); 
    105  
    106     gtk_widget_show_all( GTK_WIDGET(mokoapplet) ); 
     113    moko_panel_applet_set_icon( applet->mokopanelapplet, PKGDATADIR "/Usb.png" ); 
     114    gtk_widget_show_all( mokoapplet ); 
     115    g_idle_add( (GSourceFunc) usb_applet_initial_update_status_cb, applet ); 
    107116    return GTK_WIDGET(mokoapplet); 
    108117}; 
Note: See TracChangeset for help on using the changeset viewer.