Make ECalendarItem, ECalendarView, ECalModel, EDateEdit, EMeetingStore,
and EMeetingTimeSelector extensible and register extensions to
automatically bind every instance to the appropriate EShellSettings.
Conflicts:
calendar/gui/gnome-cal.c
modules/calendar/e-cal-shell-content.c
Make ECalendarItem, ECalendarView, ECalModel, EDateEdit, EMeetingStore,
and EMeetingTimeSelector extensible and register extensions to
automatically bind every instance to the appropriate EShellSettings.
We can't require the use of EUIManager everywhere because we don't
control all the UI manager instances -- the most compelling example
being the composer, whose UI manager comes from GtkhtmlEditor.
Instead, EPluginUI will check the instance type and pick an appropriate
"load_from_string" function.
Replace the EVO_EXPRESS environment variable with an --express command
line option. (Note, this adds a new translatable string for --help.)
Add an EUIManager class with an "express-mode" property and custom load
functions that use our new "express" preprocessor. This replaces the UI
manager functions in e-utils.c.
(Also going to see if I can get GTK+ to add an "add_ui_from_string"
method to GtkUIManagerClass that we can override. Then we could just
call gtk_ui_manager_add_ui_from_string() and the preprocessor would
automatically do its thing and chain up.)
Add an "express-mode" read-only GObject property to EShell.
Add e_shell_configure_ui_manager() to e-shell-utils.c. For now this
just creates a one-way property binding:
EShell:express-mode -> EUIManager:express-mode
Call this immediately after e_ui_manager_new(). (EUIManager can't do
this itself because it lives too low in the dependency hierarchy and
doesn't know about EShell.)
Begin dismantling calendar-config.c and migrating calendar settings to
EShellSettings. EShellSettings utilizes GObject properties instead of
separate get/set/notify functions for each setting.
2009-01-19 Milan Crha <mcrha@redhat.com>
** Fix for bug #225712
* calendar/gui/dialogs/comp-editor.h: (CompEditorClass::send_comp),
(comp_editor_send_comp): Changed function prototypes.
* calendar/gui/dialogs/comp-editor.c: (real_send_comp), (save_comp_with_send),
(comp_editor_send_comp): Strip alarms based on user's choice.
* calendar/gui/dialogs/send-comp.h: (send_component_dialog):
* calendar/gui/dialogs/send-comp.c: (have_nonprocedural_alarm),
(send_component_dialog): Show option "Send my alarms with this event"
when prompting to send event or not, but only if have any non-procedure
alarms and if it the caller want to know user's opinion. Default is
to strip all alarms. Procedure alarms are always strip out.
* calendar/gui/dialogs/event-editor.c: (event_editor_send_comp):
* calendar/gui/dialogs/task-editor.c: (task_editor_send_comp):
Honor function prototype changes and use new parameter strip_alarms.
* calendar/gui/itip-utils.h: (itip_send_comp):
* calendar/gui/itip-utils.c: (comp_compliant), (itip_send_comp),
(reply_to_calendar_comp):
New parameter to strip all alarms or only procedure alarms.
* calendar/gui/tasks-control.c: (tasks_control_forward_cmd):
* calendar/gui/e-itip-control.c: (send_item), (send_freebusy), (ok_clicked_cb):
* calendar/gui/e-calendar-table.c: (e_calendar_table_on_forward):
* calendar/gui/e-memo-table.c: (e_memo_table_on_forward):
* calendar/gui/e-calendar-view.c: (e_calendar_view_cut_clipboard),
(delete_event), (e_calendar_view_delete_selected_occurrence),
(on_forward):
Always strip alarms when sending component.
* calendar/gui/e-calendar-view.c: (e_calendar_view_add_event),
(e_calendar_view_modify_and_send):
* calendar/gui/e-cal-model-calendar.c: (ecmc_set_value_at):
Strip alarms based on user's choice.
* plugins/itip-formatter/itip-view.h:
* plugins/itip-formatter/itip-view.c: (itip_view_set_show_keep_alarm_check),
(itip_view_get_keep_alarm_check_state),
(itip_view_set_show_inherit_alarm_check),
(itip_view_get_inherit_alarm_check_state): New functions to new
options to either inherit reminder from the incoming event or to
preserve users reminders in already existing event in the calendar.
* plugins/itip-formatter/itip-view.c: (struct _ItipViewPrivate), (alarm_check_toggled_cb),
(itip_view_init): Properly initialize new option's members.
* plugins/itip-formatter/itip-formatter.c: (find_cal_opened_cb), (update_item),
(send_comp_to_attendee), (update_attendee_status), (send_item),
(extract_itip_data), (view_response_cb), (format_itip_object):
Setup new options based on the actual data.
svn path=/trunk/; revision=37097