diff options
author | Ken VanDine <ken.vandine@canonical.com> | 2011-08-23 12:50:05 -0400 |
---|---|---|
committer | Ken VanDine <ken.vandine@canonical.com> | 2011-08-23 12:50:05 -0400 |
commit | b72dbbdf4b558e0f0a1bd4f64c6b11fe322d5a46 (patch) | |
tree | 6f0f12885e240dd2ae97cf23140cb77c8faefd55 /src | |
parent | 62b88ad77faf9faed1de56e8a6e97f9ea274bc02 (diff) | |
parent | 3751cc4b823c5d701456317bb86fc4fc39bf3b9e (diff) | |
download | ayatana-indicator-power-b72dbbdf4b558e0f0a1bd4f64c6b11fe322d5a46.tar.gz ayatana-indicator-power-b72dbbdf4b558e0f0a1bd4f64c6b11fe322d5a46.tar.bz2 ayatana-indicator-power-b72dbbdf4b558e0f0a1bd4f64c6b11fe322d5a46.zip |
* New upstream release.
- Use gsettings to store the status of "Show time in Menu Bar"
option (LP: #829853)
- Follow standard alignment of icons in menus (LP: #829697)
- Do not use a space before an ellipsis at the end of a string.
* debian/control
- Added build depends for libglib2.0-dev
Diffstat (limited to 'src')
-rw-r--r-- | src/indicator-power.c | 35 |
1 files changed, 29 insertions, 6 deletions
diff --git a/src/indicator-power.c b/src/indicator-power.c index 5fada6b..7f9e479 100644 --- a/src/indicator-power.c +++ b/src/indicator-power.c @@ -82,6 +82,8 @@ struct _IndicatorPowerPrivate GVariant *devices; GVariant *device; + + GSettings *settings; }; /* Prototypes */ @@ -138,9 +140,15 @@ option_toggled_cb (GtkCheckMenuItem *item, { IndicatorPower *self = INDICATOR_POWER (user_data); IndicatorPowerPrivate *priv = self->priv; + gboolean visible; + + visible = gtk_check_menu_item_get_active (item); gtk_widget_set_visible (GTK_WIDGET (priv->label), - gtk_check_menu_item_get_active (item)); + visible); + + g_settings_set_boolean (priv->settings, "show-time", + visible); } static void @@ -359,6 +367,8 @@ menu_add_device (GtkMenu *menu, UpDeviceState state; GtkWidget *icon; GtkWidget *item; + GtkWidget *details_label; + GtkWidget *grid; GIcon *device_gicons; gchar *device_icon = NULL; gchar *object_path = NULL; @@ -397,12 +407,19 @@ menu_add_device (GtkMenu *menu, /* Create menu item */ item = gtk_image_menu_item_new (); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), icon); - gtk_menu_item_set_label (GTK_MENU_ITEM (item), details); - gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (item), TRUE); + + grid = gtk_grid_new (); + gtk_grid_set_row_spacing (GTK_GRID (grid), 6); + gtk_grid_attach (GTK_GRID (grid), icon, 0, 0, 1, 1); + details_label = gtk_label_new (details); + gtk_grid_attach_next_to (GTK_GRID (grid), details_label, icon, GTK_POS_RIGHT, 1, 1); + gtk_container_add (GTK_CONTAINER (item), grid); + gtk_widget_show (grid); + + gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); + 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); @@ -450,6 +467,7 @@ build_menu (IndicatorPower *self) GtkWidget *image; GList *children; gsize n_devices = 0; + gboolean visible; if (priv->menu == NULL) priv->menu = GTK_MENU (gtk_menu_new ()); @@ -473,10 +491,12 @@ build_menu (IndicatorPower *self) 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); + visible = g_settings_get_boolean (priv->settings, "show-time"); + gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (item), visible); gtk_menu_shell_append (GTK_MENU_SHELL (priv->menu), item); /* preferences */ - item = gtk_image_menu_item_new_with_mnemonic (_("Power Settings ...")); + 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", @@ -746,6 +766,9 @@ indicator_power_init (IndicatorPower *self) priv->proxy_cancel, service_proxy_cb, self); + + /* GSettings */ + priv->settings = g_settings_new ("org.ubuntu.indicator-power"); } static void |