diff options
Diffstat (limited to 'calendar/gui')
-rw-r--r-- | calendar/gui/calendar-config.c | 10 | ||||
-rw-r--r-- | calendar/gui/calendar-config.h | 1 | ||||
-rw-r--r-- | calendar/gui/e-tasks.c | 18 |
3 files changed, 29 insertions, 0 deletions
diff --git a/calendar/gui/calendar-config.c b/calendar/gui/calendar-config.c index e8de54d1af..c3af59e82f 100644 --- a/calendar/gui/calendar-config.c +++ b/calendar/gui/calendar-config.c @@ -658,6 +658,16 @@ calendar_config_set_preview_state (gboolean state) gconf_client_set_bool (config, CALENDAR_CONFIG_TASK_PREVIEW, state, NULL); } +guint +calendar_config_add_notification_preview_state (GConfClientNotifyFunc func, gpointer data) +{ + guint id; + + id = gconf_client_notify_add (config, CALENDAR_CONFIG_TASK_PREVIEW, func, data, NULL, NULL); + + return id; +} + gint calendar_config_get_month_hpane_pos (void) { diff --git a/calendar/gui/calendar-config.h b/calendar/gui/calendar-config.h index e99265e784..4fd1fa4bd4 100644 --- a/calendar/gui/calendar-config.h +++ b/calendar/gui/calendar-config.h @@ -164,6 +164,7 @@ void calendar_config_set_vpane_pos (gint vpane_pos); gboolean calendar_config_get_preview_state (void); void calendar_config_set_preview_state (gboolean state); +guint calendar_config_add_notification_preview_state (GConfClientNotifyFunc func, gpointer data); gint calendar_config_get_month_hpane_pos (void); void calendar_config_set_month_hpane_pos (gint hpane_pos); diff --git a/calendar/gui/e-tasks.c b/calendar/gui/e-tasks.c index 0b10001fc0..77056b7860 100644 --- a/calendar/gui/e-tasks.c +++ b/calendar/gui/e-tasks.c @@ -377,6 +377,21 @@ view_done_cb (ECalModel *model, ECalendarStatus status, ECalSourceType type, ETa } static void +config_preview_state_changed_cb (GConfClient *client, guint id, GConfEntry *entry, gpointer data) +{ + gboolean state; + GConfValue *value; + ETasks *tasks = (ETasks *)data; + + g_return_if_fail (gconf_entry_get_key (entry) != NULL); + g_return_if_fail ((value = gconf_entry_get_value (entry)) != NULL); + + state = gconf_value_get_bool (value); + e_tasks_show_preview (tasks, state); + bonobo_ui_component_set_prop (E_SEARCH_BAR (tasks->priv->search_bar)->ui_component, "/commands/ViewPreview", "state", state ? "1" : "0", NULL); +} + +static void setup_config (ETasks *tasks) { ETasksPrivate *priv; @@ -401,6 +416,9 @@ setup_config (ETasks *tasks) not = calendar_config_add_notification_hide_completed_tasks_value (config_hide_completed_tasks_changed_cb, tasks); priv->notifications = g_list_prepend (priv->notifications, GUINT_TO_POINTER (not)); + + not = calendar_config_add_notification_preview_state (config_preview_state_changed_cb, tasks); + priv->notifications = g_list_prepend (priv->notifications, GUINT_TO_POINTER (not)); } static void |