ayatana-commits team mailing list archive
-
ayatana-commits team
-
Mailing list archive
-
Message #03983
[Merge] lp:~jjardon/indicator-datetime/fix-836017 into lp:indicator-datetime
Javier Jardón has proposed merging lp:~jjardon/indicator-datetime/fix-836017 into lp:indicator-datetime.
Requested reviews:
Indicator Applet Developers (indicator-applet-developers)
Related bugs:
Bug #836017 in Indicator Date and Time: ""Add Event" on Time Menu opens Evolution Setup Assistant"
https://bugs.launchpad.net/indicator-datetime/+bug/836017
For more details, see:
https://code.launchpad.net/~jjardon/indicator-datetime/fix-836017/+merge/77932
--
https://code.launchpad.net/~jjardon/indicator-datetime/fix-836017/+merge/77932
Your team ayatana-commits is subscribed to branch lp:indicator-datetime.
=== modified file 'src/datetime-service.c'
--- src/datetime-service.c 2011-09-29 19:57:50 +0000
+++ src/datetime-service.c 2011-10-03 13:12:26 +0000
@@ -484,6 +484,8 @@
static gboolean
check_for_calendar (gpointer user_data)
{
+ GError *error = NULL;
+
g_return_val_if_fail (calendar != NULL, FALSE);
dbusmenu_menuitem_property_set_bool(date, DBUSMENU_MENUITEM_PROP_ENABLED, TRUE);
@@ -494,16 +496,22 @@
g_signal_connect (G_OBJECT(date), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED,
G_CALLBACK (activate_cb), "evolution -c calendar");
-
- events_separator = dbusmenu_menuitem_new();
- dbusmenu_menuitem_property_set(events_separator, DBUSMENU_MENUITEM_PROP_TYPE, DBUSMENU_CLIENT_TYPES_SEPARATOR);
- dbusmenu_menuitem_child_add_position(root, events_separator, 2);
- add_appointment = dbusmenu_menuitem_new();
- dbusmenu_menuitem_property_set (add_appointment, DBUSMENU_MENUITEM_PROP_LABEL, _("Add Eventâ¦"));
- dbusmenu_menuitem_property_set_bool(add_appointment, DBUSMENU_MENUITEM_PROP_ENABLED, TRUE);
- g_signal_connect(G_OBJECT(add_appointment), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(activate_cb), "evolution -c calendar");
- dbusmenu_menuitem_child_add_position (root, add_appointment, 3);
+ GSList *accounts_list = gconf_client_get_list (gconf, "/apps/evolution/mail/accounts", GCONF_VALUE_STRING, &error);
+ if (error != NULL || accounts_list == NULL) {
+ g_debug("%s: No mail accounts, do not show the 'Add Event...' menu item", G_STRFUNC);
+ g_clear_error (&error);
+ accounts_list = NULL;
+ } else {
+ events_separator = dbusmenu_menuitem_new();
+ dbusmenu_menuitem_property_set(events_separator, DBUSMENU_MENUITEM_PROP_TYPE, DBUSMENU_CLIENT_TYPES_SEPARATOR);
+ dbusmenu_menuitem_child_add_position(root, events_separator, 2);
+ add_appointment = dbusmenu_menuitem_new();
+ dbusmenu_menuitem_property_set (add_appointment, DBUSMENU_MENUITEM_PROP_LABEL, _("Add Eventâ¦"));
+ dbusmenu_menuitem_property_set_bool(add_appointment, DBUSMENU_MENUITEM_PROP_ENABLED, TRUE);
+ g_signal_connect(G_OBJECT(add_appointment), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(activate_cb), "evolution -c calendar");
+ dbusmenu_menuitem_child_add_position (root, add_appointment, 3);
+ }
if (g_settings_get_boolean(conf, SETTINGS_SHOW_EVENTS_S)) {
dbusmenu_menuitem_property_set_bool(add_appointment, DBUSMENU_MENUITEM_PROP_VISIBLE, TRUE);
Follow ups