Applying the settings directly
This commit is contained in:
parent
0ef02781a3
commit
bbaf0ef627
@ -128,15 +128,13 @@ static int _panel_init(PhonePlugin * plugin)
|
|||||||
/* battery */
|
/* battery */
|
||||||
panel->battery_timeout = 0;
|
panel->battery_timeout = 0;
|
||||||
panel->battery_level = -1;
|
panel->battery_level = -1;
|
||||||
panel->battery_image = NULL;
|
panel->battery_image = gtk_image_new();
|
||||||
|
gtk_box_pack_start(GTK_BOX(panel->hbox), panel->battery_image, FALSE,
|
||||||
|
TRUE, 0);
|
||||||
if((p = plugin->helper->config_get(plugin->helper->phone, "panel",
|
if((p = plugin->helper->config_get(plugin->helper->phone, "panel",
|
||||||
"battery")) != NULL
|
"battery")) == NULL
|
||||||
&& strcmp(p, "1") == 0)
|
|| strcmp(p, "1") != 0)
|
||||||
{
|
gtk_widget_set_no_show_all(panel->battery_image, TRUE);
|
||||||
panel->battery_image = gtk_image_new();
|
|
||||||
gtk_box_pack_start(GTK_BOX(panel->hbox), panel->battery_image,
|
|
||||||
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();
|
||||||
@ -240,10 +238,9 @@ static int _panel_event(PhonePlugin * plugin, PhoneEvent event, ...)
|
|||||||
_event_set_battery_level(panel, level);
|
_event_set_battery_level(panel, level);
|
||||||
break;
|
break;
|
||||||
case PHONE_EVENT_FUNCTIONAL:
|
case PHONE_EVENT_FUNCTIONAL:
|
||||||
if(panel->battery_image == NULL)
|
|
||||||
break;
|
|
||||||
/* FIXME should be disabled upon errors fetching CBC */
|
/* FIXME should be disabled upon errors fetching CBC */
|
||||||
if(panel->battery_timeout != 0)
|
if(gtk_widget_get_no_show_all(panel->battery_image)
|
||||||
|
== TRUE || panel->battery_timeout != 0)
|
||||||
break;
|
break;
|
||||||
panel->battery_timeout = g_timeout_add(5000,
|
panel->battery_timeout = g_timeout_add(5000,
|
||||||
_on_battery_timeout, plugin);
|
_on_battery_timeout, plugin);
|
||||||
@ -275,10 +272,6 @@ static int _event_set_battery_level(Panel * panel, gdouble level)
|
|||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
fprintf(stderr, "DEBUG: %s(plugin, %lf)\n", __func__, level);
|
fprintf(stderr, "DEBUG: %s(plugin, %lf)\n", __func__, level);
|
||||||
#endif
|
#endif
|
||||||
if(panel->battery_image == NULL)
|
|
||||||
return 0;
|
|
||||||
if(level >= 0.0 && level <= 100.0)
|
|
||||||
gtk_widget_show(panel->battery_image);
|
|
||||||
if(level < 0.0)
|
if(level < 0.0)
|
||||||
_set_battery_image(panel, PANEL_BATTERY_UNKNOWN);
|
_set_battery_image(panel, PANEL_BATTERY_UNKNOWN);
|
||||||
else if(level <= 10.0)
|
else if(level <= 10.0)
|
||||||
@ -432,10 +425,26 @@ static void _on_settings_ok(gpointer data)
|
|||||||
{
|
{
|
||||||
PhonePlugin * plugin = data;
|
PhonePlugin * plugin = data;
|
||||||
Panel * panel = plugin->priv;
|
Panel * panel = plugin->priv;
|
||||||
|
gboolean value;
|
||||||
|
|
||||||
|
if((value = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
|
||||||
|
panel->battery))) == TRUE)
|
||||||
|
{
|
||||||
|
if(panel->battery_timeout == 0)
|
||||||
|
panel->battery_timeout = g_timeout_add(5000,
|
||||||
|
_on_battery_timeout, plugin);
|
||||||
|
_on_battery_timeout(plugin);
|
||||||
|
gtk_widget_show(panel->battery_image);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gtk_widget_hide(panel->battery_image);
|
||||||
|
if(panel->battery_timeout != 0)
|
||||||
|
g_source_remove(panel->battery_timeout);
|
||||||
|
panel->battery_timeout = 0;
|
||||||
|
}
|
||||||
|
gtk_widget_set_no_show_all(panel->battery_image, !value);
|
||||||
plugin->helper->config_set(plugin->helper->phone, "panel", "battery",
|
plugin->helper->config_set(plugin->helper->phone, "panel", "battery",
|
||||||
gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
|
value ? "1" : "0");
|
||||||
panel->battery)) ? "1" : "0");
|
|
||||||
/* FIXME actually apply the settings */
|
|
||||||
gtk_widget_hide(panel->window);
|
gtk_widget_hide(panel->window);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user