aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog38
-rwxr-xr-xconfigure20
-rw-r--r--configure.ac2
-rw-r--r--src/indicator-power.c82
4 files changed, 107 insertions, 35 deletions
diff --git a/ChangeLog b/ChangeLog
index a631b60..793429f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,43 @@
# Generated by Makefile. Do not edit.
+2011-08-12 Javier Jardón <javier.jardon@codethink.co.uk>
+
+ Release 0.6
+
+2011-08-12 Javier Jardón <javier.jardon@codethink.co.uk>
+
+ Show time left to use without brackets, time left to charge with brackets.
+
+ Fixes bug http://bugs.launchpad.net/indicator-power/+bug/824629
+
+2011-08-11 Javier Jardón <javier.jardon@codethink.co.uk>
+
+ Fix some memory leaks
+
+2011-08-11 Michael Terry <michael.terry@canonical.com>
+
+ Don't show settings links when used in a greeter
+
+2011-08-03 Michael Terry <michael.terry@canonical.com>
+
+ don't show settings links when used in a greeter
+
+2011-08-11 Javier Jardón <javier.jardon@codethink.co.uk>
+
+ Use a string when the energy source is not present
+
+ Use "not present" instead "0%"
+
+2011-08-11 Javier Jardón <javier.jardon@codethink.co.uk>
+
+ Only batteries can be primary devices
+
+ So only batteries status icons are allowed in the menu title
+
+2011-08-11 Javier Jardón <javier.jardon@codethink.co.uk>
+
+ Fix some memory leaks
+
2011-08-03 Javier Jardón <javier.jardon@codethink.co.uk>
Release 0.5
diff --git a/configure b/configure
index bcb2e3d..a0fcaf4 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for indicator-power 0.5.
+# Generated by GNU Autoconf 2.68 for indicator-power 0.6.
#
# Report bugs to <http://bugs.launchpad.net/indicator-power>.
#
@@ -570,8 +570,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='indicator-power'
PACKAGE_TARNAME='indicator-power'
-PACKAGE_VERSION='0.5'
-PACKAGE_STRING='indicator-power 0.5'
+PACKAGE_VERSION='0.6'
+PACKAGE_STRING='indicator-power 0.6'
PACKAGE_BUGREPORT='http://bugs.launchpad.net/indicator-power'
PACKAGE_URL='http://launchpad.net/indicator-power'
@@ -1362,7 +1362,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures indicator-power 0.5 to adapt to many kinds of systems.
+\`configure' configures indicator-power 0.6 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1432,7 +1432,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of indicator-power 0.5:";;
+ short | recursive ) echo "Configuration of indicator-power 0.6:";;
esac
cat <<\_ACEOF
@@ -1561,7 +1561,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-indicator-power configure 0.5
+indicator-power configure 0.6
generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -1839,7 +1839,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by indicator-power $as_me 0.5, which was
+It was created by indicator-power $as_me 0.6, which was
generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@@ -2663,7 +2663,7 @@ fi
# Define the identity of the package.
PACKAGE='indicator-power'
- VERSION='0.5'
+ VERSION='0.6'
cat >>confdefs.h <<_ACEOF
@@ -14867,7 +14867,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by indicator-power $as_me 0.5, which was
+This file was extended by indicator-power $as_me 0.6, which was
generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -14934,7 +14934,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-indicator-power config.status 0.5
+indicator-power config.status 0.6
configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index 0372683..19ca570 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
AC_INIT([indicator-power],
- [0.5],
+ [0.6],
[http://bugs.launchpad.net/indicator-power],
[indicator-power],
[http://launchpad.net/indicator-power])
diff --git a/src/indicator-power.c b/src/indicator-power.c
index 17c6bd5..9211b54 100644
--- a/src/indicator-power.c
+++ b/src/indicator-power.c
@@ -279,9 +279,6 @@ build_device_time_details (const gchar *device_name,
&short_timestring,
&detailed_timestring);
- *short_details = g_strdup_printf ("(%s)",
- short_timestring);
-
if (state == UP_DEVICE_STATE_CHARGING)
{
/* TRANSLATORS: %2 is a time string, e.g. "1 hour 5 minutes" */
@@ -289,9 +286,12 @@ build_device_time_details (const gchar *device_name,
device_name, detailed_timestring, percentage);
*details = g_strdup_printf (_("%s (%s to charge)"),
device_name, short_timestring);
+ *short_details = g_strdup_printf ("(%s)", short_timestring);
}
else if (state == UP_DEVICE_STATE_DISCHARGING)
{
+ *short_details = g_strdup_printf ("%s", short_timestring);
+
if (time > 43200) /* 12 hours */
{
*accesible_name = g_strdup_printf (_("%s"), device_name);
@@ -306,6 +306,9 @@ build_device_time_details (const gchar *device_name,
device_name, short_timestring);
}
}
+
+ g_free (short_timestring);
+ g_free (detailed_timestring);
}
else
{
@@ -315,7 +318,7 @@ build_device_time_details (const gchar *device_name,
*accesible_name = g_strdup (*details);
*short_details = g_strdup (_("(charged)"));
}
- else
+ else if (percentage > 0)
{
/* TRANSLATORS: %2 is a percentage value. Note: this string is only
* used when we don't have a time value */
@@ -325,6 +328,12 @@ build_device_time_details (const gchar *device_name,
*short_details = g_strdup_printf (_("(%.0lf%%)"),
percentage);
}
+ else
+ {
+ *details = g_strdup_printf (_("%s (not present)"), device_name);
+ *accesible_name = g_strdup (*details);
+ *short_details = g_strdup (_("(not present)"));
+ }
}
}
@@ -394,6 +403,12 @@ menu_add_device (GtkMenu *menu,
g_signal_connect (G_OBJECT (item), "activate",
G_CALLBACK (show_info_cb), NULL);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+
+ g_free (short_details);
+ g_free (details);
+ g_free (accesible_name);
+ g_free (device_icon);
+ g_free (object_path);
}
static gsize
@@ -419,6 +434,14 @@ menu_add_devices (GtkMenu *menu,
return n_devices;
}
+static gboolean
+get_greeter_mode (void)
+{
+ const gchar *var;
+ var = g_getenv("INDICATOR_GREETER_MODE");
+ return (g_strcmp0(var, "1") == 0);
+}
+
static void
build_menu (IndicatorPower *self)
{
@@ -433,30 +456,33 @@ build_menu (IndicatorPower *self)
children = gtk_container_get_children (GTK_CONTAINER (priv->menu));
g_list_foreach (children, (GFunc) gtk_widget_destroy, NULL);
+ g_list_free (children);
/* devices */
n_devices = menu_add_devices (priv->menu, priv->devices);
- /* only do the separator if we have at least one device */
- if (n_devices != 0)
- {
- item = gtk_separator_menu_item_new ();
- gtk_menu_shell_append (GTK_MENU_SHELL (priv->menu), item);
- }
-
- /* options */
- item = gtk_check_menu_item_new_with_label (_("Show Time in Menu Bar"));
- g_signal_connect (G_OBJECT (item), "toggled",
- G_CALLBACK (option_toggled_cb), self);
- gtk_menu_shell_append (GTK_MENU_SHELL (priv->menu), item);
-
- /* preferences */
- item = gtk_image_menu_item_new_with_mnemonic (_("Power Settings ..."));
- image = gtk_image_new_from_icon_name (GTK_STOCK_PREFERENCES, GTK_ICON_SIZE_MENU);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
- g_signal_connect (G_OBJECT (item), "activate",
- G_CALLBACK (show_preferences_cb), NULL);
- gtk_menu_shell_append (GTK_MENU_SHELL (priv->menu), item);
+ if (!get_greeter_mode ()) {
+ /* only do the separator if we have at least one device */
+ if (n_devices != 0)
+ {
+ item = gtk_separator_menu_item_new ();
+ gtk_menu_shell_append (GTK_MENU_SHELL (priv->menu), item);
+ }
+
+ /* options */
+ item = gtk_check_menu_item_new_with_label (_("Show Time in Menu Bar"));
+ g_signal_connect (G_OBJECT (item), "toggled",
+ G_CALLBACK (option_toggled_cb), self);
+ gtk_menu_shell_append (GTK_MENU_SHELL (priv->menu), item);
+
+ /* preferences */
+ item = gtk_image_menu_item_new_with_mnemonic (_("Power Settings ..."));
+ image = gtk_image_new_from_icon_name (GTK_STOCK_PREFERENCES, GTK_ICON_SIZE_MENU);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
+ g_signal_connect (G_OBJECT (item), "activate",
+ G_CALLBACK (show_preferences_cb), NULL);
+ gtk_menu_shell_append (GTK_MENU_SHELL (priv->menu), item);
+ }
/* show the menu */
gtk_widget_show_all (GTK_WIDGET (priv->menu));
@@ -499,6 +525,10 @@ get_primary_device (GVariant *devices)
g_debug ("%s: got data from object %s", G_STRFUNC, object_path);
+ /* not battery */
+ if (kind != UP_DEVICE_KIND_BATTERY)
+ continue;
+
if (state == UP_DEVICE_STATE_DISCHARGING)
{
discharging = TRUE;
@@ -523,6 +553,9 @@ get_primary_device (GVariant *devices)
}
}
+ g_free (device_icon);
+ g_free (object_path);
+
if (discharging)
{
primary_device = primary_device_discharging;
@@ -584,6 +617,7 @@ put_primary_device (IndicatorPower *self,
g_free (short_details);
g_free (details);
+ g_free (accesible_name);
g_free (device_icon);
g_free (object_path);
}