ayatana-commits team mailing list archive
-
ayatana-commits team
-
Mailing list archive
-
Message #03396
[Merge] lp:~mterry/indicator-datetime/fix-show-calendar into lp:indicator-datetime
Michael Terry has proposed merging lp:~mterry/indicator-datetime/fix-show-calendar into lp:indicator-datetime.
Requested reviews:
Indicator Applet Developers (indicator-applet-developers)
For more details, see:
https://code.launchpad.net/~mterry/indicator-datetime/fix-show-calendar/+merge/52867
This causes the show-calendar setting to work robustly.
--
https://code.launchpad.net/~mterry/indicator-datetime/fix-show-calendar/+merge/52867
Your team ayatana-commits is subscribed to branch lp:indicator-datetime.
=== modified file 'src/datetime-service.c'
--- src/datetime-service.c 2011-03-04 10:35:22 +0000
+++ src/datetime-service.c 2011-03-10 15:13:21 +0000
@@ -336,8 +336,6 @@
check_for_calendar (gpointer user_data)
{
g_return_val_if_fail (calendar != NULL, FALSE);
-
- if (!g_settings_get_boolean(conf, SETTINGS_SHOW_CALENDAR_S)) return FALSE;
gchar *evo = g_find_program_in_path("evolution");
if (evo != NULL) {
=== modified file 'src/indicator-datetime.c'
--- src/indicator-datetime.c 2011-03-04 12:03:49 +0000
+++ src/indicator-datetime.c 2011-03-10 15:13:21 +0000
@@ -84,6 +84,7 @@
gboolean custom_show_seconds;
gboolean show_week_numbers;
+ gboolean show_calendar;
gint week_start;
guint idle_measure;
@@ -110,7 +111,8 @@
PROP_SHOW_DAY,
PROP_SHOW_DATE,
PROP_CUSTOM_TIME_FORMAT,
- PROP_SHOW_WEEK_NUMBERS
+ PROP_SHOW_WEEK_NUMBERS,
+ PROP_SHOW_CALENDAR
};
typedef struct _indicator_item_t indicator_item_t;
@@ -129,6 +131,7 @@
#define PROP_SHOW_DATE_S "show-date"
#define PROP_CUSTOM_TIME_FORMAT_S "custom-time-format"
#define PROP_SHOW_WEEK_NUMBERS_S "show-week-numbers"
+#define PROP_SHOW_CALENDAR_S "show-calendar"
#define INDICATOR_DATETIME_GET_PRIVATE(o) \
(G_TYPE_INSTANCE_GET_PRIVATE ((o), INDICATOR_DATETIME_TYPE, IndicatorDatetimePrivate))
@@ -240,6 +243,13 @@
"Shows the week numbers in the monthly calendar in indicator-datetime's menu.",
FALSE, /* default */
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (object_class,
+ PROP_SHOW_CALENDAR,
+ g_param_spec_boolean(PROP_SHOW_CALENDAR_S,
+ "Whether to show the calendar.",
+ "Shows the monthly calendar in indicator-datetime's menu.",
+ TRUE, /* default */
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
return;
}
@@ -303,6 +313,11 @@
self,
PROP_SHOW_WEEK_NUMBERS_S,
G_SETTINGS_BIND_DEFAULT);
+ g_settings_bind(self->priv->settings,
+ SETTINGS_SHOW_CALENDAR_S,
+ self,
+ PROP_SHOW_CALENDAR_S,
+ G_SETTINGS_BIND_DEFAULT);
} else {
g_warning("Unable to get settings for '" SETTINGS_INTERFACE "'");
}
@@ -541,6 +556,13 @@
}
break;
}
+ case PROP_SHOW_CALENDAR: {
+ if (g_value_get_boolean(value) != self->priv->show_calendar) {
+ self->priv->show_calendar = g_value_get_boolean(value);
+ gtk_widget_set_visible (GTK_WIDGET (self->priv->ido_calendar), self->priv->show_calendar);
+ }
+ break;
+ }
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
return;
@@ -599,6 +621,9 @@
case PROP_SHOW_WEEK_NUMBERS:
g_value_set_boolean(value, self->priv->show_week_numbers);
break;
+ case PROP_SHOW_CALENDAR:
+ g_value_set_boolean(value, self->priv->show_calendar);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
return;
@@ -1228,7 +1253,9 @@
else
flags &= ~GTK_CALENDAR_SHOW_WEEK_NUMBERS;
ido_calendar_menu_item_set_display_options (self->priv->ido_calendar, flags);
-
+
+ gtk_widget_set_visible (GTK_WIDGET (self->priv->ido_calendar), self->priv->show_calendar);
+
dbusmenu_gtkclient_newitem_base(DBUSMENU_GTKCLIENT(client), newitem, GTK_MENU_ITEM(ido), parent);
g_signal_connect_after(ido, "month-changed", G_CALLBACK(month_changed_cb), (gpointer)newitem);
return TRUE;
Follow ups