Improved the applet's look in notification mode

This commit is contained in:
Pierre Pronchery 2014-05-16 21:17:37 +02:00
parent 78ee7f6b48
commit 321407e75e

View File

@ -1,5 +1,5 @@
/* $Id$ */ /* $Id$ */
/* Copyright (c) 2010-2013 Pierre Pronchery <khorben@defora.org> */ /* Copyright (c) 2010-2014 Pierre Pronchery <khorben@defora.org> */
/* This file is part of DeforaOS Desktop Panel */ /* This file is part of DeforaOS Desktop Panel */
/* This program is free software: you can redistribute it and/or modify /* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -124,26 +124,29 @@ static Battery * _battery_init(PanelAppletHelper * helper, GtkWidget ** widget)
#if defined(__NetBSD__) || defined(__linux__) #if defined(__NetBSD__) || defined(__linux__)
battery->fd = -1; battery->fd = -1;
#endif #endif
#if GTK_CHECK_VERSION(3, 0, 0)
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 4);
#else
hbox = gtk_hbox_new(FALSE, 4); hbox = gtk_hbox_new(FALSE, 4);
#endif
battery->box = hbox; battery->box = hbox;
battery->image = gtk_image_new_from_icon_name("battery", battery->image = gtk_image_new_from_icon_name("battery",
helper->icon_size); helper->icon_size);
gtk_box_pack_start(GTK_BOX(hbox), battery->image, FALSE, TRUE, 0); gtk_box_pack_start(GTK_BOX(hbox), battery->image, TRUE, TRUE, 0);
battery->label = gtk_label_new(" "); battery->label = NULL;
gtk_box_pack_start(GTK_BOX(hbox), battery->label, FALSE, TRUE, 0);
#ifndef EMBEDDED
gtk_widget_show(battery->label);
#endif
battery->progress = NULL; battery->progress = NULL;
battery->pr_level = NULL; battery->pr_level = NULL;
if(helper->type == PANEL_APPLET_TYPE_NOTIFICATION) if(helper->type == PANEL_APPLET_TYPE_NOTIFICATION)
{ {
bold = pango_font_description_new(); bold = pango_font_description_new();
pango_font_description_set_weight(bold, PANGO_WEIGHT_BOLD); pango_font_description_set_weight(bold, PANGO_WEIGHT_BOLD);
#if GTK_CHECK_VERSION(3, 0, 0)
vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 4);
#else
vbox = gtk_vbox_new(FALSE, 4); vbox = gtk_vbox_new(FALSE, 4);
gtk_widget_modify_font(battery->label, bold); #endif
gtk_widget_show(battery->label);
gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0);
gtk_widget_show(hbox);
battery->progress = gtk_progress_bar_new(); battery->progress = gtk_progress_bar_new();
gtk_box_pack_start(GTK_BOX(vbox), battery->progress, TRUE, TRUE, gtk_box_pack_start(GTK_BOX(vbox), battery->progress, TRUE, TRUE,
0); 0);
@ -151,7 +154,15 @@ static Battery * _battery_init(PanelAppletHelper * helper, GtkWidget ** widget)
pango_font_description_free(bold); pango_font_description_free(bold);
} }
else else
{
#ifndef EMBEDDED
battery->label = gtk_label_new(" ");
gtk_box_pack_start(GTK_BOX(hbox), battery->label, FALSE, TRUE,
0);
gtk_widget_show(battery->label);
#endif
battery->box = hbox; battery->box = hbox;
}
battery->timeout = g_timeout_add(5000, _on_timeout, battery); battery->timeout = g_timeout_add(5000, _on_timeout, battery);
_on_timeout(battery); _on_timeout(battery);
gtk_widget_show(battery->image); gtk_widget_show(battery->image);
@ -203,10 +214,13 @@ static void _settings_apply(Battery * battery, PanelAppletHelper * helper)
active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON( active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
battery->pr_level)); battery->pr_level));
if(active) if(battery->label != NULL)
gtk_widget_show(battery->label); {
else if(active)
gtk_widget_hide(battery->label); gtk_widget_show(battery->label);
else
gtk_widget_hide(battery->label);
}
helper->config_set(helper->panel, "battery", "level", helper->config_set(helper->panel, "battery", "level",
active ? "1" : "0"); active ? "1" : "0");
} }
@ -272,9 +286,11 @@ static void _battery_set(Battery * battery, gdouble value, gboolean charging)
value = 0.0; value = 0.0;
snprintf(buf, sizeof(buf), "%s", _("Error")); snprintf(buf, sizeof(buf), "%s", _("Error"));
} }
#ifndef EMBEDDED if(battery->label != NULL)
gtk_label_set_text(GTK_LABEL(battery->label), buf); gtk_label_set_text(GTK_LABEL(battery->label), buf);
#endif if(battery->progress != NULL)
gtk_progress_bar_set_text(GTK_PROGRESS_BAR(battery->progress),
buf);
#if GTK_CHECK_VERSION(2, 12, 0) #if GTK_CHECK_VERSION(2, 12, 0)
snprintf(buf, sizeof(buf), _("Battery level: %.0lf%%%s"), value, snprintf(buf, sizeof(buf), _("Battery level: %.0lf%%%s"), value,
charging ? _(" (charging)") : ""); charging ? _(" (charging)") : "");