From f57128cae925df888e1e0cafb9ba988c665ecff8 Mon Sep 17 00:00:00 2001 From: Michael Terry Date: Tue, 28 Jun 2011 15:32:04 +0100 Subject: update to handle latest gnome-settings-daemon dbus API for setting timezones; be more fool-proof when looking up current timezone in indicator --- src/indicator-datetime.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'src/indicator-datetime.c') diff --git a/src/indicator-datetime.c b/src/indicator-datetime.c index 800fa87..cd1fbb9 100644 --- a/src/indicator-datetime.c +++ b/src/indicator-datetime.c @@ -761,11 +761,18 @@ set_label_to_time_in_zone (IndicatorDatetime * self, GtkLabel * label, GTimeZone * tz, const gchar * format, GDateTime ** datetime) { + gboolean unref_tz = FALSE; + if (tz == NULL) { + gchar * zone = read_timezone (); + if (zone == NULL) + return; + tz = g_time_zone_new(zone); + unref_tz = TRUE; + g_free (zone); + } + GDateTime * datetime_now; - if (tz == NULL) - datetime_now = g_date_time_new_now_local(); - else - datetime_now = g_date_time_new_now(tz); + datetime_now = g_date_time_new_now(tz); gchar * timestr; if (format == NULL) { @@ -793,6 +800,9 @@ set_label_to_time_in_zone (IndicatorDatetime * self, GtkLabel * label, else g_date_time_unref(datetime_now); + if (unref_tz) + g_time_zone_unref(tz); + return; } -- cgit v1.2.3 From 6cc4cde622ebdc0c00426c8c77f059f7a973b723 Mon Sep 17 00:00:00 2001 From: Rodrigo Moya Date: Wed, 29 Jun 2011 13:57:36 +0200 Subject: Use gnome-control-center datetime panel for settings --- src/datetime-service.c | 10 +++++----- src/indicator-datetime.c | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) (limited to 'src/indicator-datetime.c') diff --git a/src/datetime-service.c b/src/datetime-service.c index 08ff9ad..ff4306e 100644 --- a/src/datetime-service.c +++ b/src/datetime-service.c @@ -30,7 +30,7 @@ with this program. If not, see . #include #include -#include +#include #include #include #include @@ -1040,13 +1040,13 @@ check_for_timeadmin (gpointer user_data) { g_return_val_if_fail (settings != NULL, FALSE); - gchar * timeadmin = g_find_program_in_path("indicator-datetime-preferences"); + gchar * timeadmin = g_find_program_in_path("gnome-control-center"); if (timeadmin != NULL) { - g_debug("Found the indicator-datetime-preferences application: %s", timeadmin); + g_debug("Found the gnome-control-center application: %s", timeadmin); dbusmenu_menuitem_property_set_bool(settings, DBUSMENU_MENUITEM_PROP_ENABLED, TRUE); g_free(timeadmin); } else { - g_debug("Unable to find indicator-datetime-preferences app."); + g_debug("Unable to find gnome-control-center app."); dbusmenu_menuitem_property_set_bool(settings, DBUSMENU_MENUITEM_PROP_ENABLED, FALSE); } @@ -1129,7 +1129,7 @@ build_menus (DbusmenuMenuitem * root) dbusmenu_menuitem_property_set (settings, DBUSMENU_MENUITEM_PROP_LABEL, _("Time & Date Settings...")); /* insensitive until we check for available apps */ dbusmenu_menuitem_property_set_bool(settings, DBUSMENU_MENUITEM_PROP_ENABLED, FALSE); - g_signal_connect(G_OBJECT(settings), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(activate_cb), "indicator-datetime-preferences"); + g_signal_connect(G_OBJECT(settings), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(activate_cb), "gnome-control-center datetime"); dbusmenu_menuitem_child_append(root, settings); g_idle_add(check_for_timeadmin, NULL); diff --git a/src/indicator-datetime.c b/src/indicator-datetime.c index 800fa87..19f0010 100644 --- a/src/indicator-datetime.c +++ b/src/indicator-datetime.c @@ -41,9 +41,9 @@ with this program. If not, see . #include /* DBusMenu */ -#include +#include #include -#include +#include #include "utils.h" #include "dbus-shared.h" -- cgit v1.2.3