aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--calendar/ChangeLog8
-rw-r--r--calendar/gui/alarm-notify/alarm-notify.c10
-rw-r--r--calendar/gui/dialogs/cal-prefs-dialog.c14
3 files changed, 27 insertions, 5 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog
index 6b186560e2..780dd268f1 100644
--- a/calendar/ChangeLog
+++ b/calendar/ChangeLog
@@ -1,3 +1,11 @@
+2006-11-07 Chenthill Palanisamy <pchenthill@novell.com>
+
+ * gui/alarm-notify/alarm-notify.c: (list_changed_cb),
+ (load_calendars), (cal_opened_cb), (alarm_notify_add_calendar):
+ * gui/dialogs/cal-prefs-dialog.c: (alarms_selection_changed):
+ Disable alarms for subscribed exchange calendars.
+ Fixes #208318 (bugzilla.novell.com)
+
2006-11-06 Chenthill Palanisamy <pchenthill@novell.com>
Committing for Ben Gamari <bgamari@gmail.com>
diff --git a/calendar/gui/alarm-notify/alarm-notify.c b/calendar/gui/alarm-notify/alarm-notify.c
index 7e69114003..3f723e1719 100644
--- a/calendar/gui/alarm-notify/alarm-notify.c
+++ b/calendar/gui/alarm-notify/alarm-notify.c
@@ -152,7 +152,8 @@ list_changed_cb (ESourceList *source_list, gpointer data)
char *uri;
const char *completion = e_source_get_property (source, "alarm");
- if (completion && !g_ascii_strcasecmp (completion, "false"))
+ if (completion && (!g_ascii_strcasecmp (completion, "false") ||
+ !g_ascii_strcasecmp (completion, "never")))
continue;
uri = e_source_get_uri (source);
@@ -211,7 +212,8 @@ load_calendars (AlarmNotify *an, ECalSourceType source_type)
char *uri;
const char *completion = e_source_get_property (source, "alarm");
- if (completion && !g_ascii_strcasecmp (completion, "false"))
+ if (completion && (!g_ascii_strcasecmp (completion, "false") ||
+ !g_ascii_strcasecmp (completion, "never")))
continue;
uri = e_source_get_uri (source);
@@ -388,7 +390,7 @@ cal_opened_cb (ECal *client, ECalendarStatus status, gpointer user_data)
priv = an->priv;
- d (printf("%s:%d (cal_opened_cb) - Calendar Status %d\n", __FILE__, __LINE__, status==E_CALENDAR_STATUS_OK));
+ d (printf("%s:%d (cal_opened_cb) %s - Calendar Status %d\n", __FILE__, __LINE__, e_cal_get_uri (client), status));
if (status == E_CALENDAR_STATUS_OK)
alarm_queue_add_client (client);
@@ -451,7 +453,7 @@ alarm_notify_add_calendar (AlarmNotify *an, ECalSourceType source_type, ESource
client = auth_new_cal_from_source (source, source_type);
if (client) {
- d (printf("%s:%d (alarm_notify_add_calendar) - Calendar Open Async... %p\n", __FILE__, __LINE__, client));
+ d (printf("%s:%d (alarm_notify_add_calendar) %s - Calendar Open Async... %p\n", __FILE__, __LINE__, str_uri, client));
g_hash_table_insert (priv->uri_client_hash[source_type], g_strdup (str_uri), client);
g_signal_connect (G_OBJECT (client), "cal_opened", G_CALLBACK (cal_opened_cb), an);
e_cal_open_async (client, FALSE);
diff --git a/calendar/gui/dialogs/cal-prefs-dialog.c b/calendar/gui/dialogs/cal-prefs-dialog.c
index bd22a5f21e..9763ce3e57 100644
--- a/calendar/gui/dialogs/cal-prefs-dialog.c
+++ b/calendar/gui/dialogs/cal-prefs-dialog.c
@@ -325,6 +325,8 @@ alarms_selection_changed (ESourceSelector *selector, CalendarPrefsDialog *prefs)
GSList *selection;
GSList *l;
GSList *groups;
+ ESource *source;
+ gchar *alarm;
/* first we clear all the alarm flags from all sources */
g_message ("Clearing selection");
@@ -332,8 +334,12 @@ alarms_selection_changed (ESourceSelector *selector, CalendarPrefsDialog *prefs)
ESourceGroup *group = E_SOURCE_GROUP (groups->data);
GSList *sources;
for (sources = e_source_group_peek_sources (group); sources; sources = sources->next) {
- ESource *source = E_SOURCE (sources->data);
+ source = E_SOURCE (sources->data);
+ alarm = e_source_get_property (source, "alarm");
+ if (alarm && !g_ascii_strcasecmp (alarm, "never"))
+ continue;
+
g_message ("Unsetting for %s", e_source_peek_name (source));
e_source_set_property (source, "alarm", "false");
}
@@ -343,6 +349,12 @@ alarms_selection_changed (ESourceSelector *selector, CalendarPrefsDialog *prefs)
property on those sources */
selection = e_source_selector_get_selection (selector);
for (l = selection; l; l = l->next) {
+ source = E_SOURCE (l->data);
+
+ alarm = e_source_get_property (source, "alarm");
+ if (alarm && !g_ascii_strcasecmp (alarm, "never"))
+ continue;
+
g_message ("Setting for %s", e_source_peek_name (E_SOURCE (l->data)));
e_source_set_property (E_SOURCE (l->data), "alarm", "true");
}