Added a way to track the GPRS network attachment status
This commit is contained in:
parent
3511d5e805
commit
7dd0006ba2
@ -63,6 +63,8 @@ typedef struct _Panel
|
|||||||
PanelBattery battery_level;
|
PanelBattery battery_level;
|
||||||
GtkWidget * battery_image;
|
GtkWidget * battery_image;
|
||||||
guint battery_timeout;
|
guint battery_timeout;
|
||||||
|
/* cell type */
|
||||||
|
GtkWidget * cell;
|
||||||
/* signal */
|
/* signal */
|
||||||
PanelSignal signal_level;
|
PanelSignal signal_level;
|
||||||
GtkWidget * signal_image;
|
GtkWidget * signal_image;
|
||||||
@ -137,6 +139,11 @@ static int _panel_init(PhonePlugin * plugin)
|
|||||||
"battery")) == NULL
|
"battery")) == NULL
|
||||||
|| strcmp(p, "1") != 0)
|
|| strcmp(p, "1") != 0)
|
||||||
gtk_widget_set_no_show_all(panel->battery_image, TRUE);
|
gtk_widget_set_no_show_all(panel->battery_image, TRUE);
|
||||||
|
/* cell type */
|
||||||
|
panel->cell = gtk_label_new("G");
|
||||||
|
gtk_widget_modify_font(panel->cell, bold);
|
||||||
|
gtk_widget_set_no_show_all(panel->cell, TRUE);
|
||||||
|
gtk_box_pack_start(GTK_BOX(panel->hbox), panel->cell, FALSE, TRUE, 0);
|
||||||
/* signal */
|
/* signal */
|
||||||
panel->signal_level = -1;
|
panel->signal_level = -1;
|
||||||
panel->signal_image = gtk_image_new();
|
panel->signal_image = gtk_image_new();
|
||||||
@ -227,6 +234,7 @@ static int _panel_destroy(PhonePlugin * plugin)
|
|||||||
|
|
||||||
/* panel_event */
|
/* panel_event */
|
||||||
static int _event_set_battery_level(Panel * panel, gdouble level);
|
static int _event_set_battery_level(Panel * panel, gdouble level);
|
||||||
|
static int _event_set_cell_type(Panel * panel, gboolean gprs);
|
||||||
static void _set_battery_image(Panel * panel, PanelBattery battery);
|
static void _set_battery_image(Panel * panel, PanelBattery battery);
|
||||||
|
|
||||||
static int _panel_event(PhonePlugin * plugin, PhoneEvent event, ...)
|
static int _panel_event(PhonePlugin * plugin, PhoneEvent event, ...)
|
||||||
@ -235,6 +243,7 @@ static int _panel_event(PhonePlugin * plugin, PhoneEvent event, ...)
|
|||||||
va_list ap;
|
va_list ap;
|
||||||
char const * operator;
|
char const * operator;
|
||||||
gdouble level;
|
gdouble level;
|
||||||
|
gboolean active;
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
fprintf(stderr, "DEBUG: %s(plugin, %u, ...)\n", __func__, event);
|
fprintf(stderr, "DEBUG: %s(plugin, %u, ...)\n", __func__, event);
|
||||||
@ -255,6 +264,10 @@ static int _panel_event(PhonePlugin * plugin, PhoneEvent event, ...)
|
|||||||
_on_battery_timeout, plugin);
|
_on_battery_timeout, plugin);
|
||||||
_on_battery_timeout(plugin);
|
_on_battery_timeout(plugin);
|
||||||
break;
|
break;
|
||||||
|
case PHONE_EVENT_GPRS_ATTACHMENT:
|
||||||
|
active = va_arg(ap, gboolean);
|
||||||
|
_event_set_cell_type(panel, active);
|
||||||
|
break;
|
||||||
case PHONE_EVENT_SET_OPERATOR:
|
case PHONE_EVENT_SET_OPERATOR:
|
||||||
operator = va_arg(ap, char const *);
|
operator = va_arg(ap, char const *);
|
||||||
_panel_set_operator(panel, operator);
|
_panel_set_operator(panel, operator);
|
||||||
@ -313,6 +326,15 @@ static void _set_battery_image(Panel * panel, PanelBattery battery)
|
|||||||
icons[battery], GTK_ICON_SIZE_SMALL_TOOLBAR);
|
icons[battery], GTK_ICON_SIZE_SMALL_TOOLBAR);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int _event_set_cell_type(Panel * panel, gboolean gprs)
|
||||||
|
{
|
||||||
|
if(gprs)
|
||||||
|
gtk_widget_show(panel->cell);
|
||||||
|
else
|
||||||
|
gtk_widget_hide(panel->cell);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* panel_set_operator */
|
/* panel_set_operator */
|
||||||
static void _panel_set_operator(Panel * panel, char const * operator)
|
static void _panel_set_operator(Panel * panel, char const * operator)
|
||||||
|
Loading…
Reference in New Issue
Block a user