aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-week-view.c
Commit message (Collapse)AuthorAgeFilesLines
* This commit was manufactured by cvs2svn to create tagbefore-new-aspellnobody2003-01-091-4365/+0
| | | | | | 'before-new-aspell'. svn path=/tags/before-new-aspell/; revision=19351
* Replace gtk_signal_disconnect_by_data() withHans Petter Jansson2002-12-191-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-12-19 Hans Petter Jansson <hpj@ximian.com> * gui/calendar-commands.c (calendar_control_deactivate): Replace gtk_signal_disconnect_by_data() with g_signal_handlers_disconnect_matched(). Former takes GtkObject, latter takes GObject. * gui/calendar-model.c (calendar_model_destroy): Ditto. (update_query): Ditto. (calendar_model_set_cal_client): Ditto. * gui/e-day-view.c (e_day_view_destroy): Ditto. (update_query): Ditto. (e_day_view_set_cal_client): Ditto. * gui/e-tasks.c (query_eval_error_cb): Ditto. (query_query_done_cb): Ditto. * gui/e-week-view.c (e_week_view_destroy): Ditto. (update_query): Ditto. (e_week_view_set_cal_client): Ditto. * gui/gnome-cal.c (update_query): Ditto. (gnome_calendar_destroy): Ditto. * gui/tasks-control.c (tasks_control_deactivate): Ditto. * gui/e-comp-editor-registry.c (foreach_close_cb): Replace gtk_signal_handler_(un)block_by_data() with g_signal_handlers_(un)block_matched(). Former takes GtkObject, latter takes GObject. * gui/dialogs/alarm-page.c (alarm_page_get_type): Replace with E_MAKE_TYPE(). (alarm_page_class_init): Use GObject as base class instead of GtkObject, and set up finalization instead of destroy handler. (alarm_page_destroy): Change to alarm_page_finalize() and assume parent is GObject, not GtkObject. (alarm_page_new): Use g_object_new(), not gtk_type_new(). * gui/dialogs/event-page.c: Same general changes as above file. (update_time): Replace gtk_signal_handler_(un)block_by_data() with g_signal_handlers_(un)block_matched(). (clear_widgets): Ditto. (times_updated): Ditto. * gui/dialogs/recurrence-page.c: Same general changes as above file. (clear_widgets): Replace gtk_signal_handler_(un)block_by_data() with g_signal_handlers_(un)block_matched(). (append_exception): Ditto. (fill_ending_date): Ditto. (recurrence_page_fill_widgets): Ditto. * gui/dialogs/comp-editor.c: Same general changes as above file. (comp_editor_finalize): Replace gtk_signal_disconnect_by_data() with g_signal_handlers_disconnect_matched(). (comp_editor_remove_page): Ditto. * gui/dialogs/event-editor.c: Same general changes as above file. * gui/dialogs/meeting-page.c: Same general changes as above file. * gui/dialogs/schedule-page.c: Same general changes as above file. * gui/dialogs/task-details-page.c: Same general changes. * gui/dialogs/task-editor.c: Same general changes as above file. * gui/dialogs/task-page.c: Same general changes as above file. * gui/dialogs/e-delegate-dialog.c: Same general changes. svn path=/trunk/; revision=19167
* Create a non-abstract enumeration type derived from GEnum.Hans Petter Jansson2002-12-071-26/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-12-06 Hans Petter Jansson <hpj@ximian.com> * cal-client/cal-client.c (cal_client_open_status_enum_get_type): Create a non-abstract enumeration type derived from GEnum. (cal_client_set_mode_status_enum_get_type): Ditto. (cal_mode_enum_get_type): Ditto. (cal_client_class_init): Use our enumerations and not the abstract one. (cal_client_finalize): Don't destroy factories, since the CalClient doesn't own them anymore. They're shared between CalClients now. (get_factories): Implement. Move the factory setup code here from cal_client_construct (), and cache the factories. This is hopefully temporary, until wombat goes away or is fixed. (cal_client_construct): Most of the code moved to get_factories (). * cal-client/cal-client.h: Add enumeration type macros and protos. * gui/cal-search-bar.c (cal_search_bar_get_type): Removed in favour of E_MAKE_TYPE, which uses GObject calls. (cal_search_bar_class_init): Use g_type_class_peek_parent (). * gui/calendar-model.c (calendar_model_get_type): (calendar_model_class_init): Ditto, like above file. * gui/calendar-view.c (calendar_view_get_type): (calendar_view_class_init): Ditto. * gui/e-calendar-table.c (e_calendar_table_get_type): (e_calendar_table_class_init): Ditto. * gui/e-comp-editor-registry.c (e_comp_editor_registry_get_type): (class_init): Ditto. * gui/e-day-view-main-item.c (e_day_view_main_item_get_type): (e_day_view_main_item_class_init): Ditto. * gui/e-day-view-time-item.c (e_day_view_time_item_get_type): (e_day_view_time_item_class_init): Ditto. * gui/e-day-view-top-item.c (e_day_view_top_item_get_type): (e_day_view_top_item_class_init): Ditto. * gui/e-day-view.c (e_day_view_get_type): (e_day_view_class_init): Ditto. * gui/e-itip-control.c (e_itip_control_get_type): (class_init): Ditto. * gui/e-meeting-attendee.c (e_meeting_attendee_get_type): (class_init): Ditto. * gui/e-meeting-model.c (e_meeting_model_get_type): (class_init): Ditto. * gui/e-meeting-time-sel-item.c (e_meeting_time_selector_item_get_type): (e_meeting_time_selector_item_class_init): Ditto. * gui/e-meeting-time-sel.c (e_meeting_time_selector_get_type): (e_meeting_time_selector_class_init): Ditto. * gui/e-timezone-entry.c (e_timezone_entry_get_type): (e_timezone_entry_class_init): Ditto. * gui/e-week-view-event-item.c (e_week_view_event_item_get_type): (e_week_view_event_item_class_init): Ditto. * gui/e-week-view-main-item.c (e_week_view_main_item_get_type): (e_week_view_main_item_class_init): Ditto. * gui/e-week-view-titles-item.c (e_week_view_titles_item_get_type): (e_week_view_titles_item_class_init): Ditto. * gui/gnome-cal.c (gnome_calendar_get_type): (gnome_calendar_class_init): Ditto. * gui/weekday-picker.c (weekday_picker_get_type): (weekday_picker_class_init): Ditto. * gui/e-week-view.c (e_week_view_get_type): (e_week_view_class_init): Ditto, but parent_class init was moved from get_type() to class_init(). * gui/calendar-view-factory.c (calendar_view_factory_get_type): (calendar_view_factory_class_init): Ditto, and set up finalize callback instead of destroy. (calendar_view_factory_finalize): It's a GObject, so implement this. (celendar_view_factory_destroy): Move code to _finalize() and remove. * gui/main.c (init_bonobo): Remove extraneous bonobo_activation_init(). svn path=/trunk/; revision=19043
* Use g_object_set_data(..., NULL) instead of gtk_object_remove_data().Ettore Perazzoli2002-11-091-12/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gui/calendar-commands.c (calendar_control_deactivate): Use g_object_set_data(..., NULL) instead of gtk_object_remove_data(). * gui/calendar-commands.c: Use g_object_{set,get}_* functions instead of gtk_object_{set,get}_*. * gui/calendar-commands.c: Likewise. * gui/calendar-config.c: Likewise. * gui/control-factory.c: Likewise. * gui/e-calendar-table.c: Likewise. * gui/e-comp-editor-registry.c: Likewise. * gui/e-day-view-main-item.c: Likewise. * gui/e-day-view-time-item.c: Likewise. * gui/e-day-view-top-item.c: Likewise. * gui/e-day-view.c: Likewise. * gui/e-meeting-attendee.c: Likewise. * gui/e-meeting-model.c: Likewise. * gui/e-meeting-time-sel-item.c: Likewise. * gui/e-meeting-time-sel.c: Likewise. * gui/e-week-view-event-item.c: Likewise. * gui/e-week-view-layout.c: Likewise. * gui/e-week-view-main-item.c: Likewise. * gui/e-week-view-titles-item.c: Likewise. * gui/e-week-view.c: Likewise. * gui/gnome-cal.c: Likewise. * gui/print.c: Likewise. svn path=/trunk/; revision=18674
* Use g_object_ref()/g_object_unref() instead ofEttore Perazzoli2002-11-091-22/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * calendar-commands.c: Use g_object_ref()/g_object_unref() instead of gtk_object_ref/gtk_object_unref(). * calendar-config.c: Likewise. * calendar-model.c: Likewise. * comp-editor-factory.c: Likewise. * comp-util.c: Likewise. * e-calendar-table.c: Likewise. * e-day-view.c: Likewise. * e-itip-control.c: Likewise. * e-meeting-model.c: Likewise. * e-meeting-time-sel.c: Likewise. * e-tasks.c: Likewise. * e-timezone-entry.c: Likewise. * e-week-view.c: Likewise. * gnome-cal.c: Likewise. * goto.c: Likewise. * itip-utils.c: Likewise. * print.c: Likewise. * tasks-control.c: Likewise. * tasks-migrate.c: Likewise. * gui/cal-search-bar.c: Use g_object_new() instead of gtk_type_new(). * gui/calendar-model.c: Likewise. * gui/calendar-view-factory.c: Likewise. * gui/calendar-view.c: Likewise. * gui/calendar-view.c: Likewise. * gui/comp-editor-factory.c: Likewise. * gui/e-calendar-table.c: Likewise. * gui/e-cell-date-edit-text.c: Likewise. * gui/e-comp-editor-registry.c: Likewise. * gui/e-day-view.c: Likewise. * gui/e-itip-control.c: Likewise. * gui/e-meeting-attendee.c: Likewise. * gui/e-meeting-attendee.c: Likewise. * gui/e-meeting-model.c: Likewise. * gui/e-meeting-time-sel.c: Likewise. * gui/e-tasks.c: Likewise. * gui/e-timezone-entry.c: Likewise. * gui/e-week-view.c: Likewise. * gui/gnome-cal.c: Likewise. * gui/weekday-picker.c: Likewise. * gui/e-itip-control.c (get_servers): g_object_unref the shell_client instead of using bonobo_object_unref(). * gui/component-factory.c (owner_set_cb): Use evolution_shell_client_corba_objref() instead of bonobo_object_corba_objref(). svn path=/trunk/; revision=18673
* Use g_signal_connect() instead of gtk_signal_connect(). Likewise.Ettore Perazzoli2002-11-091-50/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * gui/calendar-commands.c: Use g_signal_connect() instead of gtk_signal_connect(). * calendar-commands.c: Likewise. * calendar-config.c: Likewise. * calendar-model.c: Likewise. * comp-editor-factory.c: Likewise. * component-factory.c: Likewise. * control-factory.c: Likewise. * e-calendar-table.c: Likewise. * e-comp-editor-registry.c: Likewise. * e-day-view-time-item.c: Likewise. * e-day-view.c: Likewise. * e-itip-control.c: Likewise. * e-meeting-model.c: Likewise. * e-meeting-time-sel.c: Likewise. * e-tasks.c: Likewise. * e-timezone-entry.c: Likewise. * e-week-view.c: Likewise. * gnome-cal.c: Likewise. * goto.c: Likewise. * tasks-control.c: Likewise. * tasks-migrate.c: Likewise. * weekday-picker.c: Likewise. svn path=/trunk/; revision=18672
* Initial port of gui/ subdir to GNOME 2JP Rosevear2002-11-081-32/+13
| | | | | | | | 2002-11-07 JP Rosevear <jpr@ximian.com> * Initial port of gui/ subdir to GNOME 2 svn path=/trunk/; revision=18648
* set the 24 hour format initiallyJP Rosevear2002-10-091-27/+1
| | | | | | | | | | | | | | | | 2002-10-08 JP Rosevear <jpr@ximian.com> * gui/dialogs/cal-prefs-dialog.c (cal_prefs_dialog_create_time_edit): set the 24 hour format initially 2002-10-08 JP Rosevear <jpr@ximian.com> * gui/e-week-view.c: remove pilot settings from contextual menu * gui/e-day-view.c: ditto svn path=/trunk/; revision=18351
* Fixes #30057Rodrigo Moya2002-10-031-10/+13
| | | | | | | | | | | | | | | | | | | | | 2002-10-02 Rodrigo Moya <rodrigo@ximian.com> Fixes #30057 * cal-client/cal-client.c (cal_client_is_read_only): added check of the status of the client before trying to make CORBA calls. * gui/calendar-commands.c (sensitize_calendar_commands, sensitize_taskpad_commands): * gui/tasks-control.c (sensitize_commands): * gui/dialogs/event-editor.c (set_menu_sens): * gui/dialogs/task-editor.c (set_menu_sens): * gui/e-calendar-table.c (e_calendar_table_on_right_click): * gui/e-day-view.c (e_day_view_on_event_right_click): * gui/e-week-view.c (e_week_view_show_popup_menu): take into account the read-onlyness of clients to disable/enable menu items. svn path=/trunk/; revision=18316
* check to see if the component is already on the server or notJP Rosevear2002-09-211-37/+10
| | | | | | | | | | | | | | | | | | | 2002-09-20 JP Rosevear <jpr@ximian.com> * gui/comp-util.c (cal_comp_is_on_server): check to see if the component is already on the server or not * gui/comp-util.h: change proto * gui/e-week-view.c (e_week_view_on_editing_stopped): only delete the event if the summary is empty and the component is not already on the server * gui/e-day-view.c (e_day_view_on_editing_stopped): same Fixes #14111 svn path=/trunk/; revision=18138
* keep the selection if we right click in it (but not on an appointment)JP Rosevear2002-09-121-7/+9
| | | | | | | | | | | | 2002-09-11 JP Rosevear <jpr@ximian.com> * gui/e-day-view.c (e_day_view_on_top_canvas_button_press): keep the selection if we right click in it (but not on an appointment) (e_day_view_on_main_canvas_button_press): ditto * gui/e-week-view.c (e_week_view_on_button_press): sam svn path=/trunk/; revision=18046
* create a new appointment based on the selectionJP Rosevear2002-09-121-47/+32
| | | | | | | | | | | | 2002-09-11 JP Rosevear <jpr@ximian.com> * gui/e-week-view.c (e_week_view_new_appointment): create a new appointment based on the selection (e_week_view_on_button_press): use above (e_week_view_on_new_appointment): ditto (e_week_view_on_new_meeting): ditto svn path=/trunk/; revision=18043
* kill warningJP Rosevear2002-09-071-2/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-09-06 JP Rosevear <jpr@ximian.com> * gui/gnome-cal.c (gnome_calendar_edit_object): kill warning * gui/e-week-view.h: new proto * gui/e-week-view.c (e_week_view_set_selected_time_range_visible): select a range of time in the currently visible area, if out side the visible area, select as much as possible (e_week_view_on_text_item_event): call above * gui/e-week-view-event-item.c (e_week_view_event_item_button_press): call above * gui/e-day-view.c (e_day_view_set_selected_time_range_in_top_visible): select a range of time in the currently visible area, if out side the visible area, select as much as possible (e_day_view_set_selected_time_range_visible): the same for the main canvas (e_day_view_on_long_event_button_press): call above (e_day_view_on_event_button_press): ditto svn path=/trunk/; revision=18010
* select the top canvas if the user right-clicks on itJP Rosevear2002-08-301-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 002-08-29 JP Rosevear <jpr@ximian.com> * gui/e-day-view.c (e_day_view_on_top_canvas_button_press): select the top canvas if the user right-clicks on it (e_day_view_on_main_canvas_button_press): select the row the user is right-clicking on (e_day_view_on_long_event_button_press): select the top canvas if the user right-clicks on an event there (e_day_view_on_event_button_press): select the relevant rows if the user right-clicks on an event (e_day_view_set_selected_time_range_in_top): select a number of days in the top canvas * gui/e-week-view.c (e_week_view_on_button_press): select the day the user is right-clicking on (e_week_view_on_text_item_event): select the corresponding time range when showing the contextual menu for an event * gui/e-week-view-event-item.c (e_week_view_event_item_button_press): select the corresponding time range when showing the contextual menu for an event Fixes #14660 svn path=/trunk/; revision=17924
* added missing header file.Rodrigo Moya2002-08-291-0/+1
| | | | | | | | | 2002-08-28 Rodrigo Moya <rodrigo@ximian.com> * gui/e-day-view.c: * gui/e-week-view.c: added missing header file. svn path=/trunk/; revision=17920
* don't warn if we can't use the small font, just set use_small_font toJP Rosevear2002-08-021-1/+1
| | | | | | | | | 2002-08-02 JP Rosevear <jpr@ximian.com> * gui/e-week-view.c (e_week_view_init): don't warn if we can't use the small font, just set use_small_font to FALSE svn path=/trunk/; revision=17689
* new function for adding VTIMEZONE components to a VCALENDAR component.Rodrigo Moya2002-07-271-4/+28
| | | | | | | | | | | | | | | | | | | | | 2002-07-26 Rodrigo Moya <rodrigo@ximian.com> * cal-util/cal-util.[ch] (cal_util_add_timezones_from_component): new function for adding VTIMEZONE components to a VCALENDAR component. * gui/e-calendar-table.c (copy_row_cb): added VTIMEZONE components to resulting VCALENDAR top-level component. * gui/e-week-view.c (e_week_view_copy_clipboard): copy to the clipboard a top-level VCALENDAR component, with all the needed VTIMEZONE components. (e_week_view_on_copy): likewise. * gui/e-day-view.c (e_day_view_copy_clipboard): likewise. (e_day_view_on_copy): likewise. svn path=/trunk/; revision=17604
* use util function to see if the user is the organizer72002-07-181-9/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-07-17 <jpr@ximian.com> * gui/calendar-model.c (calendar_model_value_at): use util function to see if the user is the organizer * gui/dialogs/cancel-comp.c (cancel_component_dialog): add deleting proto to indicate whether cancelling or deleting is the primary operation * gui/dialogs/cancel-comp.h: update proto * gui/dialogs/comp-editor.c (delete_cmd): offer to cancel * gui/dialogs/task-editor.c (cancel_task_cmd): call cancel_component_dialog with new param * gui/dialogs/event-editor.c (cancel_meeting_cmd): ditto * gui/e-week-view.c (e_week_view_on_editing_stopped): only update request if user is organizer (e_week_view_show_popup_menu): disable the meeting and meeting organizer mask if appropriate (e_week_view_delete_event_internal): offer to cancel the meeting (e_week_view_on_cut): ditto (selection_received): send request if its a meeting * gui/e-day-view.h: add meeting icon/mask * gui/e-day-view.c (e_day_view_on_event_right_click): disable the meeting and meeting organizer mask if appropriate (e_day_view_delete_event_internal): offer to cancel meeting (e_day_view_on_cut): ditto (e_day_view_finish_long_event_resize): only update request if user is organizer (e_day_view_reshape_long_event): add meeting icon to count (e_day_view_reshape_day_event): ditto (e_day_view_on_top_canvas_drag_data_received): only update request if user is organizer (e_day_view_on_main_canvas_drag_data_received): ditto (selection_received): offer to send meeting info * gui/e-day-view-main-item.c (e_day_view_main_item_draw_day_event): draw meeting icon if appropriate (using dummy icon atm) svn path=/trunk/; revision=17491
* Fixes #16034Rodrigo Moya2002-07-031-2/+10
| | | | | | | | | | | | | | | | 2002-07-02 Rodrigo Moya <rodrigo@ximian.com> Fixes #16034 * gui/e-day-view.c (e_day_view_reshape_long_event): (e_day_view_reshape_day_event): * gui/e-day-view-main-item.c (e_day_view_main_item_draw_day_event): * gui/e-week-view.c (e_week_view_reshape_event_span): * gui/e-week-view-event-item.c (e_week_view_event_item_draw_icons): Don't assume all categories have icons when allocating space for the icons. svn path=/trunk/; revision=17357
* added PermissionDenied exception and make it be raised in open,Rodrigo Moya2002-05-171-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-05-16 Rodrigo Moya <rodrigo@ximian.com> * idl/evolution-calendar.idl: added PermissionDenied exception and make it be raised in open, updateObjects and removeObject. * pcs/cal-backend.h: added CAL_BACKEND_OPEN_PERMISSION_DENIED to CalBackendOpenStatus enumeration, added CalBackendResult enumeration. * pcs/cal.c: * pcs/cal-backend.c: * pcs/cal-backend-file.c: adapted to changes in update_objects and remove_object methods. * cal-client/cal-client.[ch]: added CalClientResult enumeration. (cal_client_update_object, cal_client_update_objects, cal_client_remove_object): changed to return a CalClientResult. * conduits/calendar/calendar-conduit.c: * calendar/conduits/todo/todo-conduit.c: * importers/icalendar-importer.c: * gui/dialogs/comp-editor.c: * gui/calendar-model.c: * gui/e-calendar-table.c: * gui/e-day-view.c: * gui/e-itip-control.c: * gui/e-week-view.c: * gui/comp-util.c: * gui/e-tasks.c: * gui/tasks-migrate.c: adapted to changes in cal_client_update_object(s) and cal_client_remove_object. svn path=/trunk/; revision=16932
* only discard the popup if we created oneJP Rosevear2002-05-021-0/+4
| | | | | | | | | 2002-05-02 JP Rosevear <jpr@ximian.com> * gui/e-week-view.c (free_view_popup): only discard the popup if we created one svn path=/trunk/; revision=16663
* launch pilot settings cappletJP Rosevear2002-04-241-0/+29
| | | | | | | | | | | 2002-04-24 JP Rosevear <jpr@ximian.com> * gui/e-day-view.c (e_day_view_on_pilot_settings): launch pilot settings capplet * gui/e-week-view.c (e_week_view_on_pilot_settings): ditto svn path=/trunk/; revision=16573
* free the view popup (e_week_view_show_popup_menu): add the view popup toJP Rosevear2002-04-241-5/+21
| | | | | | | | | | | | | | | | | | | | | | | | 2002-04-24 JP Rosevear <jpr@ximian.com> * gui/e-week-view.c (free_view_popup): free the view popup (e_week_view_show_popup_menu): add the view popup to the "main_item" menu and listen for destruction * gui/e-day-view.c (free_view_popup): as above (e_day_view_on_event_right_click): as above * gui/e-week-view.h: add class member * gui/e-day-view.h: add a class member * gui/gnome-cal.h: new protos * gui/gnome-cal.c (set_view): set the instance view id properly when switching views (gnome_calendar_setup_view_popup): generate a view popup (gnome_calendar_discard_view_popup): destroy a view popup svn path=/trunk/; revision=16572
* show the settingsJP Rosevear2002-04-191-3/+15
| | | | | | | | | | | | | | | | | | 2002-04-18 JP Rosevear <jpr@ximian.com> * gui/e-day-view.c (e_day_view_on_settings): show the settings * gui/e-week-view.c (e_week_view_on_settings): ditto * gui/calendar-commands.c (control_util_show_settings): show the settings dialog * gui/calendar-commands.h: new proto * gui/control-factory.c (control_factory_new_control): set the control as object data on the calendar svn path=/trunk/; revision=16511
* Bumped required gal version number to 0.19.99.11.Christopher James Lahey2002-04-181-45/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-04-17 Christopher James Lahey <clahey@ximian.com> * configure.in: Bumped required gal version number to 0.19.99.11. From addressbook/ChangeLog: 2002-04-17 Christopher James Lahey <clahey@ximian.com> * gui/component/select-names/e-select-names.c (e_select_names_create_categories): Changed this to use ECategoriesMasterListOptionMenu. * gui/component/select-names/e-select-names.c (section_right_click_cb), gui/widgets/e-addressbook-reflow-adapter.c, gui/widgets/e-addressbook-view.c: Updated these to match the new EPopupMenu. From calendar/ChangeLog: 2002-04-17 Christopher James Lahey <clahey@ximian.com> * gui/e-calendar-table.c, gui/e-day-view.c, gui/e-week-view.c, gui/dialogs/meeting-page.c: Updated these to match the new EPopupMenu. From mail/ChangeLog: 2002-04-17 Christopher James Lahey <clahey@ximian.com> * folder-browser.c, mail-display.c: Updated these to match the new EPopupMenu. From shell/ChangeLog: 2002-04-17 Christopher James Lahey <clahey@ximian.com> * e-activity-handler.c: Updated this to match the new EPopupMenu. svn path=/trunk/; revision=16498
* implement new pop up menu items for "Save as", "Print", "Assign Task",JP Rosevear2002-03-301-11/+236
| | | | | | | | | | | | | | | | | | | | | | | | 2002-03-29 JP Rosevear <jpr@ximian.com> * gui/e-calendar-table.c: implement new pop up menu items for "Save as", "Print", "Assign Task", "Forward as iCalendar" * gui/e-day-view.c: similarly, also "Publish Free/Busy Information" and "New Meeting" and "New Task" * gui/e-week-view.c: ditto * gui/dialogs/task-editor.c (show_assignment): move the assignment page stuff here (task_editor_show_assignment): use it (assign_task_cmd): ditto * gui/dialogs/task-editor.h: new proto * gui/dialogs/comp-editor.c (save_as_cmd): use new e-util file selector function svn path=/trunk/; revision=16287
* Updated to use new EPopupMenu API.Jeffrey Stedfast2002-03-161-24/+24
| | | | | | | | | | | | 2002-03-15 Jeffrey Stedfast <fejj@ximian.com> * gui/e-day-view.c: Updated to use new EPopupMenu API. * gui/e-week-view.c: Updated to use new EPopupMenu API. * gui/e-calendar-table.c: Updated to use new EPopupMenu API. svn path=/trunk/; revision=16184
* pass extra itip_send_comp params (send_freebusy): ditto (ok_clicked_cb):JP Rosevear2002-02-201-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 002-02-19 JP Rosevear <jpr@ximian.com> * gui/e-itip-control.c (send_item): pass extra itip_send_comp params (send_freebusy): ditto (ok_clicked_cb): ditto, including the timezones culled from the component * gui/e-week-view.c: pass extra itip_send_comp params * gui/calendar-commands.c: ditto * gui/e-day-view.c: ditto * gui/dialogs/task-editor.c: ditto * gui/dialogs/event-editor.c: ditto * gui/dialogs/comp-editor.c: ditto * gui/itip-utils.h (itip_send_comp): update proto * gui/itip-utils.c (foreach_tzid_callback): check the passed in zones, then the builtin time zones then the client 2002-02-19 JP Rosevear <jpr@ximian.com> * gui/e-itip-control.c (find_my_address): strip the ical value and do a case insensitive compare (find_attendee): ditto (change_status): put the error message here (ok_clicked_cb): don't update the item or rsvp unless change_status was successful, trip the ical value and do a case insensitive compare * gui/itip-utils.c (get_address): strip the incoming address (itip_strip_mailto): use g_strncasecmp (comp_limit_attendees): strip the ical value and do a case insensitive compare svn path=/trunk/; revision=15763
* pass meeting boolean for gnome_calendar_edit_object andJP Rosevear2002-02-081-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-02-07 JP Rosevear <jpr@ximian.com> * gui/e-day-view.c: pass meeting boolean for gnome_calendar_edit_object and gnome_calendar_new_appointment_for * gui/e-week-view-event-item.c: ditto * gui/e-week-view.c: ditto * gui/tasks-control.c (confirm_expunge): kill warning * gui/calendar-commands.c (new_meeting_cb): show a new meeting dialog (new_event_cb): pass new param * gui/gnome-cal.c (gnome_calendar_edit_object): take meeting boolean and show meeting page if true (gnome_calendar_new_appointment_for): takeing meeting param and pass to above (gnome_calendar_new_appointment): add new param * gui/gnome-cal.h: update proto * gui/component-factory.c (create_component): take a comp editor mode, determine vtype (sc_user_create_new_item_cb): check for meeting user creatable item (create_object): add meeting as user creatable item * gui/comp-editor-factory.c (edit_new): get a comp editor mode now, determine vtype and show meeting page if required (queue_edit_new): get comp editor mode (impl_editNew): ditto, plus queue the mode directly instead of determining the vtype * gui/dialogs/event-editor.c (show_meeting): new internal util function to show meeting page (event_editor_show_meeting): show the meeting (schedule_meeting_cmd): use show_meeting * gui/dialogs/event-editor.h: new proto * idl/evolution-calendar.idl: editNew takes a mode rather than a type now * cal-util/Makefile.am: fix includes svn path=/trunk/; revision=15595
* figure out when today is and highlight if it is not selectedJP Rosevear2002-01-151-0/+4
| | | | | | | | | | | | | 2002-01-14 JP Rosevear <jpr@ximian.com> * gui/e-week-view-main-item.c (e_week_view_main_item_draw_day): figure out when today is and highlight if it is not selected * gui/e-week-view.h: enum the "today" color * gui/e-week-view.c (e_week_view_realize): init the "today" color svn path=/trunk/; revision=15319
* remove needs send signal related cruft (save_comp_with_send): withJP Rosevear2001-12-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-12-21 JP Rosevear <jpr@ximian.com> * gui/dialogs/comp-editor.c: remove needs send signal related cruft (save_comp_with_send): with send_component_dialog, indicate if the meeting info is newly created or not (real_edit_comp): remember if the dialog initially needs a send * gui/dialogs/send-comp.c (send_component_dialog): take a "new" parameter indicating whether the dialog should intimate if the component to be sent is a new meeting or not * gui/dialogs/send-comp.h: update proto * gui/dialogs/comp-editor.c: remove no longer used needs_send notification and signal * gui/dialogs/comp-editor.h: remove proto * gui/e-day-view.c (e_day_view_on_main_canvas_drag_data_received): add new param to send_component_dialog (e_day_view_finish_long_event_resize): ditto (e_day_view_finish_resize): ditto (e_day_view_on_editing_stopped): ditto (e_day_view_on_top_canvas_drag_data_received): ditto * gui/e-week-view.c (e_week_view_on_editing_stopped): add new param to send_component_dialog svn path=/trunk/; revision=15204
* ungrab the pointer before calling e_day_view_finish_long_event_resizeJP Rosevear2001-12-131-1/+7
| | | | | | | | | | | | | | | | | 2001-12-12 JP Rosevear <jpr@ximian.com> * gui/e-day-view.c (e_day_view_on_top_canvas_button_release): ungrab the pointer before calling e_day_view_finish_long_event_resize (e_day_view_on_main_canvas_button_release): ditto (e_day_view_finish_long_event_resize): ask if the meeting should be sent (e_day_view_finish_resize): ditto (e_day_view_on_editing_stopped): ditto (e_day_view_on_top_canvas_drag_data_received): ditto (e_day_view_on_main_canvas_drag_data_received): ditto svn path=/trunk/; revision=15008
* (committed to CVS by Damon) Fixes bug #15137.Federico Mena Quintero2001-11-151-3/+32
| | | | | | | | | | | | | | | | | | | | 2001-11-13 Federico Mena Quintero <federico@ximian.com> (committed to CVS by Damon) Fixes bug #15137. * gui/e-day-view.c (e_day_view_on_delete_appointment): Do not try to operate on the event if it gets deleted while stopping the edition. (e_day_view_on_event_double_click): Likewise. (e_day_view_on_long_event_button_press): Likewise. (e_day_view_on_event_button_press): Likewise. (e_day_view_on_long_event_click): Likewise. (e_day_view_on_event_click): Likewise. * gui/e-week-view.c (e_week_view_on_text_item_event): Likewise. svn path=/trunk/; revision=14701
* only change the day, month and year for the start date, for not screwingRodrigo Moya2001-11-131-42/+63
| | | | | | | | | | | | | | 2001-11-13 Rodrigo Moya <rodrigo@ximian.com> * gui/e-week-view.c (selection_received): only change the day, month and year for the start date, for not screwing up the start time, which was being set to midnight always (Fixes Ximian #5287) Also, deal correctly with VCALENDAR components * gui/e-day-view.c (selection_received): dela correctly with VCALENDAR components being pasted svn path=/trunk/; revision=14684
* don't subtract a day from DTEND. For DATE values we don't include theDamon Chaplin2001-11-101-2/+0
| | | | | | | | | | 2001-11-09 Damon Chaplin <damon@ximian.com> * gui/e-week-view.c (e_week_view_key_press): don't subtract a day from DTEND. For DATE values we don't include the entire day now. Fixes bug #14842. svn path=/trunk/; revision=14651
* Fix bug #13723.Federico Mena Quintero2001-10-311-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-31 Federico Mena Quintero <federico@ximian.com> Fix bug #13723. * gui/gnome-cal.h (GnomeCalendarClass): New signals "calendar_focus_change", "taskpad_focus_change", and "taskpad_selection_changed". Renamed "selection_changed" to "calendar_selection_changed". * gui/gnome-cal.c (gnome_calendar_get_num_tasks_selected): New function. (setup_widgets): Connect to the focus event signals of the task pad and the calendar view widgets. (gnome_calendar_delete_selection): Renamed from gnome_calendar_delete_event(). (gnome_calendar_cut_clipboard): Handle the current focus location. (gnome_calendar_copy_clipboard): Likewise. (gnome_calendar_paste_clipboard): Likewise. (gnome_calendar_delete_selection): Likewise. (table_selection_change_cb): New callback. * gui/calendar-commands.c (sensitize_calendar_commands): Take in whether we should unconditionally disable everything. (sensitize_taskpad_commands): Analogous function to the above. (gcal_calendar_focus_change_cb): New callback, used for calendar views. (gcal_taskpad_focus_change_cb): New callback, used for the taskpad. * gui/e-day-view.c (e_day_view_key_press): Use a better test for keys that should start editing. Fixes bug #6447. * gui/e-week-view.c (e_week_view_key_press): Likewise. svn path=/trunk/; revision=14528
* Use an EMessageBox instead of a gnome_dialog_question so that the labelFederico Mena Quintero2001-10-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-30 Federico Mena Quintero <federico@ximian.com> * gui/dialogs/delete-comp.c (delete_component_dialog): Use an EMessageBox instead of a gnome_dialog_question so that the label gets line breaking. Fixes bug #11260. 2001-10-29 Federico Mena Quintero <federico@ximian.com> Fix bug #13649. * gui/calendar-config.c (calendar_config_get_use_default_reminder): New function. (calendar_config_set_use_default_reminder): New function. (calendar_config_get_default_reminder_interval): New function. (calendar_config_set_default_reminder_interval): New function. (calendar_config_get_default_reminder_units): New function. (calendar_config_set_default_reminder_units): New function. (config_read): Get the options for default reminders. (calendar_config_write): Set the options for default reminders. * gui/dialogs/cal-prefs-dialog.c (cal_prefs_dialog_show_config): Set the default reminder widgets from the config values. (cal_prefs_dialog_update_config): Set the config values from the widgets. * gui/comp-util.c (cal_comp_event_new_with_defaults): New function; creates a VEVENT component with the default alarm. * gui/e-day-view.c (e_day_view_key_press): Use cal_comp_event_new_with_defaults (); * gui/e-week-view.c (e_week_view_key_press): Likewise. * gui/calendar-model.c (calendar_model_append_row): Likewise. * gui/comp-editor-factory.c (get_default_component): Likewise. * gui/gnome-cal.c (gnome_calendar_new_appointment_for): Likewise. * cal-util/cal-component.c (ensure_alarm_properties_cb): Ensure we have a DESCRIPTION property. (cal_component_commit_sequence): Ensure we have the mandatory alarm properties. svn path=/trunk/; revision=14446
* Cancel editing if the user presses Escape.Federico Mena Quintero2001-10-281-0/+32
| | | | | | | | | | | | | 2001-10-27 Federico Mena Quintero <federico@ximian.com> * gui/e-day-view.c (e_day_view_on_text_item_event): Cancel editing if the user presses Escape. * gui/e-week-view.c (e_week_view_on_text_item_event): Likewise. * gui/cal-search-bar.c: #include <string.h> svn path=/trunk/; revision=14245
* Delete appointments with empty summaries. Fixes Ximian bug #780.Federico Mena Quintero2001-10-281-8/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-27 Federico Mena Quintero <federico@ximian.com> * gui/e-day-view.c (e_day_view_on_editing_stopped): Delete appointments with empty summaries. Fixes Ximian bug #780. * gui/e-week-view.c (e_week_view_on_editing_stopped): Likewise. * gui/dialogs/delete-comp.c (delete_component_dialog): Added an argument to specify whether we unconditionally want single components to be considered as not having a summary. * gui/comp-util.c (cal_comp_confirm_delete_empty_comp): New function. * gui/misc.[ch]: New files with miscellaneous utility functions; moved string_is_empty() over from calendar-model.c. * gui/calendar-model.c: Use the string_is_empty() function from misc.c. * gui/Makefile.am (evolution_calendar_SOURCES): Added misc.[ch] to the list of sources. svn path=/trunk/; revision=14233
* Fixing the license text.Ettore Perazzoli2001-10-281-1/+0
| | | | svn path=/trunk/; revision=14211
* Update the licensing information to require version 2 of the GPLEttore Perazzoli2001-10-271-2/+2
| | | | | | (instead of version 2 or any later version). svn path=/trunk/; revision=14190
* convert the formatted date to UTF-8.Damon Chaplin2001-10-271-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-26 Damon Chaplin <damon@ximian.com> * gui/e-itip-control.c (write_label_piece): convert the formatted date to UTF-8. * cal-util/cal-recur.c (CAL_OBJ_DEBUG): turn off debug functions. * gui/dialogs/comp-editor-util.c (parse_contact_string): handle UTF8 correctly. Bug #4450. Good enough for 1.0. * gui/e-week-view-event-item.c (e_week_view_draw_time): set the gc color before drawing. Should fix bug #11469. * gui/dialogs/task-editor.c (task_editor_edit_comp): show or hide the meeting page as appropriate. Note this may be called more than once, if the task gets updated somewhere else and the user clicks 'Update the object'. Hopefully fixes bug #12930. * gui/print.c (print_comp_item): printed more fields and made a little prettier. Fixes bug #9352. (print_date_label): used the correct timezones for each date field. * *.c: removed several debug messages. svn path=/trunk/; revision=14187
* added status bar messagesRodrigo Moya2001-10-271-0/+7
| | | | | | | | | | | | | | | 2001-10-26 Rodrigo Moya <rodrigo@ximian.com> * gui/e-calendar_table.c (delete_selected_components): (selection_received): added status bar messages * gui/e-day-view.c (e_day_view_cut_clipboard): (selection_received): likewise * gui/e-week-view.c (e_week_view_cut_clipboard): (selection_received): likewise svn path=/trunk/; revision=14149
* added setDefaultTimezone() method.Damon Chaplin2001-10-231-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-22 Damon Chaplin <damon@ximian.com> * idl/evolution-calendar.idl: added setDefaultTimezone() method. * pcs/cal-backend.c (cal_backend_get_default_timezone): (cal_backend_set_default_timezone): new functions to call class methods. * pcs/cal-backend-file.c: lots of changes to handle the default timezone and use it. * pcs/query.c: use the default timezone. * gui/dialogs/task-details-page.c (date_changed_cb): initialized completed_tt. * gui/dialogs/event-page.c: changed it to handle DATE values. The 'All Day Event' checkbox is only set now when the DTSTART and DTEND are DATE values. * gui/dialogs/comp-editor-util.c (comp_editor_free_dates): free the CalComponentDateTime structs as well. * gui/e-tasks.c: set the default timezone on the server. * gui/tag-calendar.c: * gui/gnome-cal.c: * gui/e-week-view.c: * gui/e-day-view.c: updates to handle DATE values. * gui/e-calendar-table.c (date_compare_cb): updated to use the new ECellDateEditValue values, so it now works. (percent_compare_cb): updated to use GPOINTER_TO_INT values. (e_calendar_table_init): use an ECellPercent for the percent field and an ECellDateEditText for the date fields. * gui/comp-util.c (cal_comp_util_compare_event_timezones): return TRUE if the DTSTART or DTEND is a DATE value. We don't want to show the timezone icons for DATE values. * gui/comp-editor-factory.c (resolve_pending_requests): set the default timezone on the server. * gui/calendar-model.c: major changes to support sorting properly. For date and percent fields we now use subclasses of ECellText, so we don't use a char* as the model value. For the percent field we now use a GINT_TO_POINTER. For the date fields we now use a ECellDateEditValue* as the value. * gui/calendar-config.c (calendar_config_configure_e_cell_date_edit): set the timezone and use_24_hour flags of the new ECellDateEditText. * conduits/todo/todo-conduit.c (pre_sync): * conduits/calendar/calendar-conduit.c (pre_sync): set the default timezone on the server. * cal-util/timeutil.c (time_days_in_month): removed debug message. * cal-util/test-recur.c: try to handle timezones in the iCalendar file properly, and updated to pass default timezone. * cal-util/cal-util.c (cal_util_generate_alarms_for_comp): (cal_util_generate_alarms_for_list): added default timezone argument. * cal-util/cal-recur.c: changed many of the functions to take a default timezone, to use to resolve DATE and floating DATE-TIME values. * cal-client/cal-client.c (cal_client_set_default_timezone): new function to set the default timezone. (cal_client_ensure_timezone_on_server): new function to ensure that a given timezone is on the server. * gui/e-cell-date-edit-text.c: new subclass of ECellText to display and edit a date value. * cal-util/cal-recur.c (cal_obj_byday_expand_monthly): changed week_num to -week_num when calculating the weeks to go back from the end of the month for things like BYDAY=-2WE. Fixes bug #11525. (cal_recur_generate_instances_of_rule): only go up to MAX_YEAR (2037). We can't really handle anything past that anyway. (cal_recur_ensure_rule_end_date): initialize cb_date.end_date to 0, so if the RULE doesn't generate COUNT instances we save 0 as the time_t. svn path=/trunk/; revision=13920
* keep a reference to the EvolutionShellClient componentRodrigo Moya2001-10-191-1/+48
| | | | | | | | | | | | | | | | | | | | | 2001-10-19 Rodrigo Moya <rodrigo@ximian.com> * gui/component-factory.c (owner_set_cb): keep a reference to the EvolutionShellClient component * gui/e-week-view.c (e_week_view_set_status_message): new function (update_query): call e_week_view_set_status_message (query_query_done_cb): (query_eval_error_cb): clean up status bar messages * gui/e-day-view.c (e_day_view_set_status_message): new function (update_query): call e_day_view_set_status_message (query_query_done_cb): (query_eval_error_cb): clean up status bar messages * gui/Makefile.am: added EVOLUTION_IMAGESDIR to CFLAGS svn path=/trunk/; revision=13793
* added comparison functions for these special cell types. But the date andDamon Chaplin2001-09-271-2/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-26 Damon Chaplin <damon@ximian.com> * gui/e-calendar-table.c (date_compare_cb): (percent_compare_cb): (priority_compare_cb): added comparison functions for these special cell types. But the date and percent ones don't work yet due to the use of static text buffers for return cell values. (e_calendar_table_init): added the comparison functions to the ETableExtras. NOTE: task_compare_cb() never seems to be called. I'm not sure why it is there. * gui/e-calendar-table.etspec: set the comparison function names for the date/percent/priority fields. * cal-util/cal-util.c (cal_util_priority_to_string): (cal_util_priority_from_string): new utility functions. * gui/calendar-model.c (get_priority): (set_priority): used above utility functions, and removed the warning dialog which isn't useful now that the field isn't editable. * gui/dialogs/event-page.c (times_updated): handle timezones and for all-day events make sure it stays an all-day event after adjusting. Fixes bugs #5945 and #10222. * gui/calendar-commands.c (pixmaps): fixed the E_PIXMAP paths - the edit items were moved beneath 'EditPlaceholder'. This gets rid of those long Bonobo warnings! (and we get the icons back) * gui/dialogs/comp-editor.c (pixmaps): removed the PrintPreview toolbar icon, since it doesn't appear in the xml file. Gets rid of warning. * gui/dialogs/event-page.c (notify_dates_changed): new function to emit the notification signal when the dates are changed. It also handles timezones now. * gui/dialogs/comp-editor-page.h (CompEditorPageDates): used CalComponentDateTime for start/end/due so we have the timezone as well as the time. * gui/dialogs/comp-editor-util.c (comp_editor_dates): updated to get the timezones as well as the times. (comp_editor_free_dates): new function needed to free all the structs. * gui/dialogs/recurrence-page.c (recurrence_page_set_dates): added call to preview_recur() to make sure the preview gets updated. * gui/dialogs/alarm-page.c (alarm_page_fill_widgets): free the CompEditorPageDates struct after use. * gui/tag-calendar.c (tag_calendar_by_comp): added 'comp_is_on_server' argument. If FALSE, we try to use builtin timezones first. This is needed for the recurrence page of the event editor, because the timezones may not have been added to the server yet. This and the changes to the notification stuff should fix bug #5034. * gui/gnome-cal.c (dn_query_obj_updated_cb): call above tag_calendar_by_comp() with TRUE since the events will be on the server in this case. * gui/e-day-view-layout.c: * gui/e-day-view.c: made sure an event always takes up at least one row, even when the start & end times are the same. Fixes bug #5944. I don't know if we should try to also handle events with the end time before the start time. * gui/e-week-view.c (e_week_view_style_set): check that the small font is actually smaller than the normal font. If it isn't, don't use it. Hopefully fixes bug #6876. (e_week_view_on_new_appointment): if only one day is selected, then we set the initial time of the event to 1/2-hour from the start of the working day, to differentiate 'New Appointment' from 'New All Day Event'. Fixes bug #8892. * gui/e-day-view.c (e_day_view_on_new_appointment): do the same as the above. svn path=/trunk/; revision=13186
* don't call calendar_config_check_timezone_set() now, since the startupDamon Chaplin2001-09-041-22/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-03 Damon Chaplin <damon@ximian.com> * gui/calendar-commands.c (calendar_control_activate): * gui/tasks-control.c (tasks_control_activate): don't call calendar_config_check_timezone_set() now, since the startup wizard handles that. * gui/e-tasks.c (e_tasks_class_init): changed selection_changed signal to GTK_RUN_LAST. It has no reason to be GTK_RUN_FIRST. * gui/gnome-cal.c: * gui/e-week-view.c: * gui/e-day-view.c: added "selection_changed" signal, XX_delete_event() and XX_get_num_events_selected(). * gui/e-day-view-top-item.c (e_day_view_top_item_draw): fix the shadow around the dates at the top - it was 1 pixel off. * gui/calendar-commands.c: added sensitize_commands(), similar to in tasks-control.c, so we only make Cut/Copy/Delete sensitive when an event is selected. Also added delete_event_cmd(). * gui/dialogs/task-page.c (task_page_set_summary): * gui/dialogs/event-page.c (event_page_set_summary): do nothing, since the summary only gets changed on the main event/task page now. Fixes bug #6939. * gui/e-day-view.c (e_day_view_on_main_canvas_drag_data_received): (e_day_view_on_top_canvas_drag_data_received): check that we are dragging an event from the same EDayView. We currently don't support DnD from other widgets. (e_day_view_update_top_canvas_drag): only get the summary if we actually have an event. Fixes bug #5162. * gui/e-day-view.c (e_day_view_on_editing_stopped): if the text hasn't changed we need to call e_day_view_update_event_label() to show the times again if necessary. Fixes bug #1813. * gui/dialogs/comp-editor.c (comp_editor_destroy): destroy the CompEditorPage objects here rather than in close_dialog(), after the widgets have been destroyed. We do this because the widgets have lots of signal handlers connected with the CompEditorPage objects as the signal data, so we want to ensure that the data pointer is always valid. (Alternatively we could disconnect all the handlers when the CompEditorPage objects are destroyed, or use connect_while_alive()). Fixes bug #7543. Note: there is still a small bug in that if you type in a time and then hit 'Save and Close', the time won't be saved. I'm not sure where this should be fixed - should the actions which close the dialog grab the focus to the toplevel, so any widgets currently being edited finish the edit and emit 'changed'? * gui/dialogs/recurrence-page.c (append_exception): use gtk_clist_set_row_data_full() so freeing is handled automatically by the GtkClist. This helps avoid problems at destroy-time. (exception_delete_cb): just call gtk_clist_remove() now. No need to free the row data as GtkCList now handles it. (recurrence_page_destroy): no need to free the data in the clist. * gui/dialogs/alarm-page.c: ditto. * gui/dialogs/meeting-page.c: ditto. (etable_destroy_cb): save the ETable state in this new handler cb rather than in the destroy method, since the widget will already be destroyed by then. svn path=/trunk/; revision=12575
* added support for the Contacts field. Note that I'm not sure what weDamon Chaplin2001-08-151-21/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-14 Damon Chaplin <damon@ximian.com> * gui/dialogs/task-page.c: * gui/dialogs/event-page.c: added support for the Contacts field. Note that I'm not sure what we should put in the iCalendar CONTACT properties. Currently we put "name <email>", but it isn't recognized as a contact when we reopen the dialog, so we may need more info here. Also we currently use a simple parser to parse the above format, and we should maybe use some camel function. * gui/dialogs/task-page.glade: * gui/dialogs/event-page.glade: replaced the GtkEntry fields for the Contacts with a GtkEventBox which we put the BonoboControl in at runtime. * gui/dialogs/meeting-page.c (invite_entry_changed): added FIXMEs since it doesn't seem to be freeing the EDestination stuff. JP? * gui/dialogs/comp-editor-util.c: added bunch of utility functions to handle the Contacts field in the main Event and Task pages. * gui/gnome-cal.c: added visible_start and visible_end fields, so we only emit the 'dates-shown-changed' signal when really necessary. Currently changing the folder title bar label results in a complete redraw of the Evolution window (silly GtkLabel queueing a resize), so we want to avoid that as much as possible. (gnome_calendar_new_appointment_for): only move the event's end time to the end of the day if it is not already 00:00:00. * gui/e-week-view-event-item.c: * gui/e-week-view.c: * gui/e-day-view.c: added support for double-clicking on an event to open it, and for double-clicking on the background to create a new event. There is still a minor problem to sort out, but it basically works. * cal-util/cal-component.c: added support for CONTACT properties, mainly by copying the code for COMMENT properties which are exactly the same type. * gui/e-day-view.c (e_day_view_realize): use the same color for the top canvas background as the shortcut bar, to make it look a little nicer (I think). Although we still have the theme problem with hard-coded colors. svn path=/trunk/; revision=12039
* added new backend method to get the component given a UID.Damon Chaplin2001-08-101-8/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-09 Damon Chaplin <damon@ximian.com> * pcs/cal-backend.c (cal_backend_get_object_component): added new backend method to get the component given a UID. * pcs/cal-backend-file.c (cal_backend_file_get_object_component): added implementation of above virtual method. * pcs/query.c (match_component): use the new backend function to get the CalComponent rather than the string. This avoids converting all the calendar components to strings and parsing them back into components for every query! (That wasn't a good idea, was it ;) * gui/e-week-view.c: * gui/e-day-view.c: use a timeout handler to layout the events, to avoid doing a layout for each event we get from a query. * gui/print.c (print_day_add_event): * gui/e-day-view.c (e_day_view_add_event): set start_row_or_col and num_columns to 0. They are guint8's. * gui/e-week-view.c (e_week_view_free_events): hide all the jump buttons. Fixes bug #5946. * gui/calendar-commands.c (calendar_set_folder_bar_label): added the day numbers for the month view. * gui/dialogs/recurrence-page.glade: changed "_Delete" to "_Remove", since it clashed with "_Add". Also added underlined accelerators for the recurrence radio buttons. Note that none of these accelerators actually work at present, due to the way we are using .glade files for each notebook page. I need to add a bug about this. Also, the "_Action" menu doesn't popup when I press Alt+A, even though the "_File" menu does popup when I press Alt+F. Strange. * pcs/cal-backend-file.c (cal_backend_file_get_timezone_object): removed debug msgs. svn path=/trunk/; revision=11866
* added 'different_timezone' fields to EDayViewEvent and EWeekViewEvent, toDamon Chaplin2001-08-071-3/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-06 Damon Chaplin <damon@ximian.com> * gui/e-week-view.h: * gui/e-day-view.h: added 'different_timezone' fields to EDayViewEvent and EWeekViewEvent, to note that the event is in a different timezone. We now compute this once when we add the event to the array, rather than each time we draw the event. If it is set, we will draw the timezone icon next to the event. * gui/e-day-view-main-item.c: take transparency into account when drawing the blue vertical bars to represent busy time. * gui/tag-calendar.c: take transparency into account when tagging the mini calendar. * gui/e-calendar-table.c (e_calendar_table_init): removed the "None" options for transparency and classification, since these properties have defaults anyway, so we may as well use those to keep it simple. Also use "Free" and "Busy" for transparency, rather than "Transparent" and "Opaque". * gui/calendar-model.c: updated classification & transparency code as above. * gui/e-calendar-table.etspec: changed "Transparency" to "Show Time As" since people have a chance of understanding that. * gui/e-week-view.c: * gui/e-day-view.c: * gui/gnome-cal.c: added functions to get the visible time range. * gui/calendar-commands.c: finished stuff to set the folder bar label to the dates currently displayed. * gui/control-factory.c (control_factory_new_control): connected signal to update the folder title bar label when the dates shown are changed. I had to connect it here since we need the BonoboControl in the callback, and I don't know how to get the control from the widget. * gui/tasks-control.c (tasks_control_activate): clear the folder bar label. We could display something here at some point. * gui/dialogs/recurrence-page.glade: changed "_Add" to "A_dd", since we have an "_Actions" menu. (These also use Alt+key, right?) * gui/dialogs/event-page.glade: * gui/dialogs/event-page.c: added 'Show Time As' field, which is really the TRANSP property but with a better name! Also changed one of the "_Confidential" to "Con_fidential" since we already have "_Contacts" using the same 'C' key. * pcs/cal-backend-file.c (cal_backend_file_get_free_busy): skip events that are TRANSPARENT. Also added comment as this code looks inefficient. * cal-util/cal-component.c: removed stuff for comparing timezones. * gui/comp-util.c (cal_comp_util_compare_event_timezones): moved the above function here, and updated it to compare the UTC offsets of the times as well as the TZIDs. svn path=/trunk/; revision=11717
* New function; stops further notification from happening. This is neededFederico Mena Quintero2001-08-041-5/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-03 Federico Mena Quintero <federico@ximian.com> * cal-client/query-listener.c (query_listener_stop_notification): New function; stops further notification from happening. This is needed since the listener is destroyed asynchronously from the Wombat and the corresponding CalQuery may already have died. (impl_notifyObjUpdated): Do not notify if requested. (impl_notifyObjRemoved): Likewise. (impl_notifyQueryDone): Likewise. (impl_notifyEvalError): Likewise. * cal-client/cal-query.c (cal_query_destroy): Use query_listener_stop_notification(). * cal-client/cal-listener.c (cal_listener_destroy): Nullify the pointers to the callback functions. * gui/e-day-view.c (update_query): Commit our state of no longer having a query before unrefing it. We may reenter from the ORBit main loop and we *really* want this information to be committed. * gui/e-week-view.c (update_query): Likewise. * gui/calendar-model.c (update_query): Likewise. * gui/tag-calendar.c (tag_calendar_by_comp): Added a "clear_first" argument that indicates whether the ECalendar should be cleared of any marks first. * gui/calendar-commands.c (calendar_control_activate): Removed ifdefed-out view buttons code from the Gnomecal days. * gui/gnome-cal.c (client_categories_changed_cb): Merge the categories of the calendar and tasks clients so that we can display the categories in both sets. (gnome_calendar_construct): Connect to "categories_changed" on both clients. (gnome_calendar_on_date_navigator_selection_changed): Removed call to gnome_calendar_update_view_buttons(). (gnome_calendar_update_view_buttons): Removed. We cannot have this until Bonobo supports radio toolbar items. (gnome_calendar_set_view_buttons): Removed. (gnome_calendar_dayjump): Do not use priv->day_button. (GnomeCalendarPrivate): Removed the {day,work_week,week,month}_button fields. (gnome_calendar_set_query): Start a retagging process of the date navigator so that it reflects the current query. (update_query): New function to restart a query for the date navigator. (initial_load): Use update_query() instead of tagging the date navigator directly. (gnome_calendar_on_date_navigator_date_range_changed): Likewise. (client_cal_opened_cb): Use update_query() instead of initial_load(). (initial_load): Removed. (client_obj_updated_cb): Removed. (client_obj_removed_cb): Removed. (gnome_calendar_new_appointment_for): Set the default category of the new component. (search_bar_category_changed_cb): Set the default category for the calendar views. * gui/cal-search-bar.c (cal_search_bar_set_categories): Sort the categories before creating the menu. * gui/e-day-view.c (adjust_query_sexp): Return NULL instead of "#f" if the time range is not set yet. (update_query): Do not start a query if the time range is not set. (e_day_view_set_default_category): New function. (e_day_view_key_press): Set the default category on the new component. * gui/e-week-view.c (adjust_query_sexp): Analogous to the above. (update_query): Analogous to the above. (e_week_view_set_default_category): Analogous to the above. (e_week_view_key_press): Analogous to the above. svn path=/trunk/; revision=11646
* yes, set the end date, but correctly calculated, not by using theRodrigo Moya2001-07-311-0/+12
| | | | | | | | | | | 2001-07-31 Rodrigo Moya <rodrigo@ximian.com> * gui/e-day-view.c (selection_received): * gui/e-week-view.c (selection_received): yes, set the end date, but correctly calculated, not by using the component's duration, which may not exist. Now really fixes #5836 svn path=/trunk/; revision=11510
* don't set the end date for the pasted components, since it will beRodrigo Moya2001-07-311-10/+1
| | | | | | | | | | | | 2001-07-31 Rodrigo Moya <rodrigo@ximian.com> * gui/e-day-view.c (selection_received): * gui/e-week-view.c (selection_received): don't set the end date for the pasted components, since it will be recalculated when the start date is set, thus keeping the same duration than the original cut/copied component. Fixes #5836 svn path=/trunk/; revision=11509
* started some code to show the currently displayed dates in the folderDamon Chaplin2001-07-311-17/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-30 Damon Chaplin <damon@ximian.com> * gui/gnome-cal.c: * gui/calendar-commands.c (clear_folder_bar_label): started some code to show the currently displayed dates in the folder title bar. Unfinished. * gui/e-itip-control.c (set_date_label): * conduits/todo/todo-conduit.c (local_record_from_comp): * conduits/calendar/calendar-conduit.c (local_record_from_comp): free the CalComponentDateTimes. (Note the iTIP control needs updating for timezone support.) * cal-util/cal-component.c: Changed CalComponentDateTime so that the TZID is malloc'ed and freed rather than being a pointer to a static string. This was causing problems as sometimes we were freeing the string that was being pointed to, so we got corrupted TZIDs. * gui/comp-util.c (cal_comp_util_add_exdate): set TZID to NULL. DATE values do not have timezones. * gui/e-week-view.c: * gui/e-day-view.c: Moved 'Paste' after the New Appointment commands, since I think they are more commonly-used. Also added underlined accelerator keys. * gui/e-calendar-table.c: changed 'Edit this task' to 'Open' in the popup menu to be consistent with other folders, and separated from the clipboard commands. Also changed to use EPopupMenu so the accelerators work, and the masks may be useful at some point. * gui/dialogs/recurrence-page.c: use DATE values for UNTIL, since that makes it simpler. Fixes bug #5034. * gui/calendar-config.c (calendar_config_set_timezone): strdup the location string. Fixes bug #4990. * gui/tag-calendar.c (tag_calendar_cb): take 1 off iend as the times don't include the end time. * gui/e-week-view-layout.c (e_week_view_layout_event): fixed days_shown. Fixes bug #5709. * cal-client/cal-client.c (cal_client_get_timezone): took out some debugging messages. svn path=/trunk/; revision=11494
* check type of component before actually pasting. Deal with VCALENDARRodrigo Moya2001-07-261-7/+67
| | | | | | | | | | | | | | | | 2001-07-25 Rodrigo Moya <rodrigo@ximian.com> * gui/e-day-view.c (selection_received_cb): check type of component before actually pasting. Deal with VCALENDAR components also (fixes bug #5140) * gui/e-week-view.c (selection_received_cb): ditto * cal-client/cal-client.c (cal_client_update_object): check the return value from cal_component_get_as_string and don't call GNOME_Evolution_Calendar_Cal_updateObjects if NULL svn path=/trunk/; revision=11418
* Remove leftover ifdefs - FedericoFederico Mena Quintero2001-07-181-8/+1
| | | | svn path=/trunk/; revision=11183
* Really fixes #4380. The previous fix was necessary but not sufficient; itFederico Mena Quintero2001-07-181-1/+6
| | | | | | | | | | | | | | | | | | | | | | | 2001-07-17 Federico Mena Quintero <federico@ximian.com> Really fixes #4380. The previous fix was necessary but not sufficient; it worked for me because my system timezone happens to match the Evolution timezone --- if they don't match, the bug would persist. * cal-util/timeutil.c (time_to_gdate_with_zone): New function. We cannot use g_date_set_time() anymore because it does not take timezones into account. * gui/gnome-cal.c (get_days_shown): Use the function above. * gui/e-day-view.c (e_day_view_find_work_week_start): Likewise. * gui/e-week-view.c (e_week_view_set_selected_time_range): Likewise. 2001-07-17 Jon Trowbridge <trow@ximian.com> svn path=/trunk/; revision=11167
* renamed updateObject to updateObjects and removed the UID argument, sinceDamon Chaplin2001-07-121-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-11 Damon Chaplin <damon@ximian.com> * idl/evolution-calendar.idl: renamed updateObject to updateObjects and removed the UID argument, since it can add/update multiple objects at once. (It can't yet, but it will!) * pcs/cal.c: * pcs/cal-backend.[hc]: * pcs/cal-backend-file.c: renamed update_object to update_objects and got rid of the UID arg. * cal-client/cal-client.c (cal_client_update_objects): new function to add/update multiple objects in one go, i.e for iTIP and for importing calendars. * gui/print.c (print_date_label): fixed type bug. * gui/e-week-view.[hc]: * gui/e-week-view-event-item.c: draw the timezone icons if the event's DTSTART or DTEND is in a different timezone to the current one. Note that we may want to change this so it compares the UTC offsets rather than the TZIDs, since currently it will draw the icons for all events coming from iTIP requests from other clients. svn path=/trunk/; revision=11027
* Fixes bug #4380 as well as some leftovers from the days of struct tm andFederico Mena Quintero2001-07-121-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-11 Federico Mena Quintero <federico@ximian.com> Fixes bug #4380 as well as some leftovers from the days of struct tm and some uninitialized values. * gui/gnome-cal.c (gnome_calendar_on_date_navigator_selection_changed): Initialize the icaltimetype structures completely. (gnome_calendar_init): Do not reset priv->zone to NULL here, since it was set by gnome_calendar_update_config_settings() from setup_widgets(). * gui/calendar-model.c (set_completed): Do not set is_daylight. * gui/e-day-view.c (e_day_view_convert_grid_position_to_time): Likewise. * gui/e-week-view.c (e_week_view_set_timezone): Likewise. * cal-util/cal-recur.c (generate_instances_for_chunk): Likewise, and initialize start_tt and end_tt completely. * cal-util/timeutil.c (time_year_begin_with_zone): Likewise. (time_month_begin_with_zone): Likewise. (time_week_begin_with_zone): Likewise. (time_day_begin_with_zone): Likewise. (time_day_end_with_zone): Likewise. (time_from_isodate): Likewise. * gui/dialogs/task-page.c (task_page_fill_component): Initialize icaltime before using it. * gui/dialogs/event-page.c (event_page_fill_component): Likewise. * gui/dialogs/recurrence-page.c (simple_recur_to_comp): Removed an unused icaltimetype. * gui/dialogs/task-details-page.c (task_details_page_fill_component): Initialize icaltime before using it. svn path=/trunk/; revision=11024
* more timezone updates. I'm pretty much done with the calendar code now,Damon Chaplin2001-07-111-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-10 Damon Chaplin <damon@ximian.com> * gui/calendar-model.c: * gui/e-calendar-table.c: * gui/e-day-view-main-item.c: * gui/e-day-view-top-item.c: * gui/e-day-view.[hc]: * gui/e-week-view.c: * gui/gnome-cal.c: * gui/print.c: * gui/dialogs/cal-prefs-dialog.c: * gui/dialogs/comp-editor-util.c: * gui/dialogs/event-page.c: * pcs/cal-backend-file.c: * pcs/query.c: * cal-util/cal-component.[hc]: * cal-util/cal-recur.c: * cal-util/timeutil.[hc]: * cal-client/cal-client.[hc]: more timezone updates. I'm pretty much done with the calendar code now, except for alarms and conduits, which Federico and JP know more about. And there are a couple of other minor things to fix. But it is still pretty buggy. svn path=/trunk/; revision=10984
* Use e_utf8_from_gtk_event_key() so that we can input utf8 text properly.Federico Mena Quintero2001-07-101-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | 2001-07-09 Federico Mena Quintero <federico@ximian.com> * gui/e-day-view.c (e_day_view_key_press): Use e_utf8_from_gtk_event_key() so that we can input utf8 text properly. (e_day_view_cut_clipboard): Constify. (e_day_view_on_cut): Constify. (e_day_view_reshape_long_event): Remove unused variable. * gui/e-week-view.c (e_week_view_key_press): Use e_utf8_from_gtk_event_key() so that we can input utf8 text properly. (e_week_view_cut_clipboard): Constify. (e_week_view_on_cut): Constify. * cal-client/cal-client.c (cal_client_resolve_tzid_cb): Fix the prototype so that this matches CalRecurResolveTimezoneFn. Also renamed it so that it is clear that it is supposed to be a callback. svn path=/trunk/; revision=10942
* cal-client/cal-client.[hc] cal-util/cal-component.cDamon Chaplin2001-07-031-24/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-03 Damon Chaplin <damon@ximian.com> * cal-client/cal-client.[hc] * cal-util/cal-component.c * cal-util/cal-recur.[hc] * cal-util/test-recur.c * cal-util/timeutil.c * gui/calendar-config.c * gui/calendar-model.[hc] * gui/comp-util.[hc] * gui/e-calendar-table.c * gui/e-day-view-main-item.c * gui/e-day-view-top-item.c * gui/e-day-view.[hc] * gui/e-itip-control.c * gui/e-timezone-entry.[hc] * gui/e-week-view.[hc] * gui/gnome-cal.[hc] * gui/goto.c * gui/tag-calendar.[hc] * gui/dialogs/cal-prefs-dialog.c * gui/dialogs/comp-editor-page.[hc] * gui/dialogs/comp-editor-util.[hc] * gui/dialogs/comp-editor.c * gui/dialogs/e-timezone-dialog.[hc] * gui/dialogs/event-page.c * gui/dialogs/meeting-page.c * gui/dialogs/recurrence-page.c * gui/dialogs/task-details-page.c * gui/dialogs/task-details-page.glade * gui/dialogs/task-page.c * idl/evolution-calendar.idl * pcs/cal-backend-file.c * pcs/cal-backend.c * pcs/cal-backend.h * pcs/cal.c * pcs/query.c: timezone changes everywhere. There's still quite a few things to update, and its not working well at present. svn path=/trunk/; revision=10729
* draw icons per categoryRodrigo Moya2001-07-011-0/+7
| | | | | | | | | | | | | | | | | | | | | | 2001-07-01 Rodrigo Moya <rodrigo@ximian.com> * gui/e-day-view-main-item.c (e_day_view_main_item_draw_day_event): draw icons per category * gui/e-day-view-top-item.c (e_day_view_top_item_draw_long_event): draw icons per category * gui/e-day-view.c (e_day_view_reshape_long_event): (e_day_view_reshape_day_event): calculate space for category icons * gui/e-week-view-event-item.c (e_week_view_event_item_draw_icons): draw icons per category * gui/e-week-view.c (e_week_view_reshape_event_span): calculate space for category icons svn path=/trunk/; revision=10646
* fixed clibpoard command activation from the menu entries. CTRL-C andRodrigo Moya2001-07-011-3/+34
| | | | | | | | | | | | | 2001-07-01 Rodrigo Moya <rodrigo@ximian.com> * gui/e-day-view.c (e_day_view_*_clipboard): fixed clibpoard command activation from the menu entries. CTRL-C and CTRL-X don't work though, since it seems the key presses are being captured by the text item gui/e-week-view.c (e_week_view_*_clipboard): ditto svn path=/trunk/; revision=10641
* removed not-uses-anymore parameter in call toRodrigo Moya2001-06-281-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | 2001-06-28 Rodrigo Moya <rodrigo@ximian.com> * gui/component-factory.c: removed not-uses-anymore parameter in call to evolution_shell_component_new * gui/gnome-cal.[ch] (gnome_calendar_cut_clipboard), (gnome_calendar_copy_clipboard), (gnome_calendar_paste_clipboard): new functions for allowing execution of clipboard-related commands * gui/e-day-view.[ch] (e_day_view_cut_clipboard), (e_day_view_copy_clipboard), (e_day_view_paste_clipboard): ditto * gui/e-week-view.[ch] (e_week_view_cut_clipboard), (e_week_view_copy_clipboard), (e_week_view_paste_clipboard): ditto 2001-06-27 Rodrigo Moya <rodrigo@ximian.com> * gui/calendar-commands.c (cut_event_cmd), (copy_event_cmd), (paste_event_cmd): added callbacks for the new clipboard-related menu entries svn path=/trunk/; revision=10557
* Update the copyrights, replacing Helix Code with Ximian andEttore Perazzoli2001-06-231-1/+1
| | | | | | helixcode.com with ximian.com all over the place. svn path=/trunk/; revision=10440
* don't compile or install the old meeting edit stuffJP Rosevear2001-06-201-26/+1
| | | | | | | | | | | | | 2001-06-19 JP Rosevear <jpr@ximian.com> * gui/Makefile.am: don't compile or install the old meeting edit stuff * gui/e-week-view.c: ditto * gui/e-day-view.c: Remove scheduling menu option svn path=/trunk/; revision=10311
* generate a new UID when pastingRodrigo Moya2001-06-151-0/+5
| | | | | | | | | | | 2001-06-15 Rodrigo Moya <rodrigo@ximian.com> * gui/e-day-view.c (selection_received): generate a new UID when pasting * gui/e-week-view.c (selection_received): ditto svn path=/trunk/; revision=10246
* Small typoRodrigo Moya2001-06-151-2/+2
| | | | svn path=/trunk/; revision=10245
* finished implementation of Paste stuffRodrigo Moya2001-06-151-4/+36
| | | | | | | | | | | 2001-06-15 Rodrigo Moya <rodrigo@ximian.com> * gui/e-day-view.c (selection_received): finished implementation of Paste stuff * gui/e-week-view.c (selection_received): ditto svn path=/trunk/; revision=10243
* added popup menu items for cut/copy/pasteRodrigo Moya2001-06-141-5/+66
| | | | | | | | | | 2001-06-14 Rodrigo Moya <rodrigo@ximian.com> * gui/e-day-view.[ch]: added popup menu items for cut/copy/paste * gui/e-week-view.[ch]: ditto svn path=/trunk/; revision=10229
* added cut&paste support, by using a GtkInvisible widget to manage theRodrigo Moya2001-06-131-0/+98
| | | | | | | | | | | 2001-06-11 Rodrigo Moya <rodrigo@ximian.com> * gui/e-day-view.[ch]: added cut&paste support, by using a GtkInvisible widget to manage the clipboard selections. * gui/e-week-view.[ch]: ditto svn path=/trunk/; revision=10207
* new files to contain layout code split off from EDayView an EWeekView, soDamon Chaplin2001-05-291-342/+31
| | | | | | | | | | | | | | | | | | | | | | | | 2001-05-28 Damon Chaplin <damon@ximian.com> * gui/e-week-view-layout.[hc]: * gui/e-day-view-layout.[hc]: new files to contain layout code split off from EDayView an EWeekView, so we can use it for printing. * gui/print.c: rewritten to use the same layout code as the EDayView and EWeekView widgets. * gui/gnome-cal.c (gnome_calendar_get_task_pad_cal_client): added function so we can get the CalClient used for the TaskPad for printing. * gui/Makefile.am (evolution_calendar_SOURCES): added e-day-view-layout.[hc] amd e-week-view-layout.[hc]. * cal-util/timeutil.c (time_week_begin): (time_week_end): added week_start_day argument. * cal-util/cal-recur.c: added comments describing problems in it. svn path=/trunk/; revision=10037
* Fix bug #2829.Federico Mena Quintero2001-05-191-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-05-18 Federico Mena Quintero <federico@ximian.com> Fix bug #2829. * gui/dialogs/delete-comp.c (delete_component_dialog): Allow the caller to specify whether just one or many components are to be deleted. * gui/e-calendar-table.c (tasks_popup_one): Popup menu definition for when one and only one task is selected. (tasks_popup_many): Likewise, for more than one task. (e_calendar_table_on_right_click): Do not create a structure for the closure data; we can simply pass the cal_table. Use a different menu depending on the number of selected tasks. (mark_as_complete_cb): Renamed; now iterates over the selected rows. (delete_selected_components): New function to delete all the selected components. (delete_cb): Adjusted for delete_component_dialog(). (open_task): New function, simply open a CalComponent in the task editor. (open_task_by_row): Renamed; use open_task(). * gui/e-week-view.c (e_week_view_on_delete_appointment): Updated for delete_component_dialog(). * gui/e-day-view.c (e_day_view_on_delete_appointment): Likewise. svn path=/trunk/; revision=9886
* Split the event and task editors into different objects for the separateFederico Mena Quintero2001-05-171-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-05-16 Federico Mena Quintero <federico@ximian.com> Split the event and task editors into different objects for the separate pages; this way they can be shared by both editors. * gui/dialogs/editor-page.[ch]: New abstract class for a page in a calendar component editor. * gui/dialogs/event-page.[ch]: Main page of an event editor. * gui/dialogs/alarm-page.[ch]: Alarm page of a calendar component editor. * gui/dialogs/recurrence-page.[ch]: Recurrence page of a calendar component editor. * gui/dialogs/event-page.c (event_page_fill_widgets): Eeek, this was missing a bunch of break statements. (event_page_fill_component): Use a temporary variable rather than allocating a struct icaltimetype. * gui/dialogs/alarm-page.c (get_alarm_string): Do not use fixed-size buffers. (alarm_page_fill_widgets): Use cal_obj_uid_list_free(). (append_reminder): Now the list stores the plain CalComponentAlarm structures in the row data. We do *NOT* want to be frobbing the component's data directly. Rather, we clone the alarms from the component and maintain them on our own. (alarm_page_fill_component): Clone the alarms before adding them to the component so that we maintain the invariant that the alarm structures in the list did *not* come from the component. * cal-util/cal-component.c (cal_component_add_alarm): Added documentation. (cal_component_remove_alarm): Added documentation. (cal_component_remove_alarm): Do a lookup in our hash table of alarms instead of scanning the whole component. (CalComponentAlarm): Removed the `parent' field, since it was unused. (cal_component_free_alarm_uids): Removed function, since cal_component_get_alarm_uids() is documented so that the user will know that he must use cal_obj_uid_list_free(). (cal_component_alarm_clone): New function. svn path=/trunk/; revision=9861
* New function to restart a query for the day view. (query_obj_updated_cb):Federico Mena Quintero2001-04-131-122/+160
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-04-12 Federico Mena Quintero <federico@ximian.com> * gui/e-day-view.c (update_query): New function to restart a query for the day view. (query_obj_updated_cb): Renamed from obj_updated_cb(); updated for queries instead of calendar clients. (query_obj_removed_cb): Likewise. (cal_opened_cb): Just update_query() instead of queueing reloading all the events. (e_day_view_set_cal_client): Likewise. (e_day_view_set_query): Likewise. (e_day_view_set_selected_time_range): Likewise. (e_day_view_set_days_shown): Likewise. (e_day_view_recalc_work_week): Likewise. (e_day_view_queue_reload_events): Removed function now that events are updated entirely by the query. (e_day_view_reload_events_idle_cb): Likewise. (e_day_view_reload_events): Likewise. (e_day_view_init): Use a pretty arrow instead of GDK_TOP_LEFT_ARROW. * gui/e-week-view.c: Analogous changes to the ones in e-day-view.c. (e_week_view_init): Use a pretty arrow instead of GDK_TOP_LEFT_ARROW. * cal-util/timeutil.c (isodate_from_time_t): Return a g_strdup()ed version of the string instead of a pointer to a static buffer. (time_from_isodate): Resurrected function. Polished up to our current standards of paranoia. * pcs/query.c (func_time_now): New function (time-now). (func_make_time): New function (make-time ISODATE). (func_time_add_day): New function (time-add-day TIME N). (func_time_day_begin): New function (time-day-begin TIME). (func_time_day_end): New function (time-day-end TIME). (func_occur_in_time_range): Use time_t values instead of ints. (match_component): Free the stringized component. Free the ESexp result value. * gui/e-day-view.h: Removed a couple of unused prototypes. * pcs/query.c (query_destroy): Oops, disconnect from the backend. * pcs/cal.c (Cal_get_query): Duplicate the query reference before we return it. * gui/calendar-commands.c (pixmaps): Fixed paths to image files. svn path=/trunk/; revision=9266
* Here goes my additional simple include fixes.Gediminas Paulauskas2001-04-051-12/+11
| | | | svn path=/trunk/; revision=9191
* Fix headers. Same here. Same here. Same here. Same here. Same here. SameKjartan Maraas2001-04-051-0/+6
| | | | | | | | | | | | | | | | | | | | | 2001-04-04 Kjartan Maraas <kmaraas@gnome.org> * gui/calendar-commands.c: Fix headers. * gui/calendar-config.c: Same here. * gui/calendar-model.c: Same here. * gui/e-day-view-time-item.c: Same here. * gui/e-day-view-top-item.c: Same here. * gui/e-day-view.c: Same here. * gui/e-meeting-edit.c: Same here. * gui/e-week-view-main-item.c: Same here. * gui/e-week-view.c: Same here. * gui/event-editor.c: Same here. * gui/gnome-cal.c: Same here. * gui/goto.c: Same here. * gui/main.c: Same her. * gui/print.c: Same here. svn path=/trunk/; revision=9180
* Added ShowWeekView, ShowMonthView, ShowDay, ShowWorkWeek to the View menu.Miguel de Icaza2001-03-181-42/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-17 Miguel de Icaza <miguel@ximian.com> * evolution-calendar.xml: Added ShowWeekView, ShowMonthView, ShowDay, ShowWorkWeek to the View menu. * evolution.xml, evolution-mail.xml: Provide "Actions" in the toplevel evolution. Fill in Actions/Component in Evolution-mail (no visual changes, just internal changes). * evolution-calendar.xml: Added Actions menu. Added New Verb EditNewEvent. 2001-03-17 Miguel de Icaza <miguel@ximian.com> * gui/e-day-view.c (e_day_view_on_new_event, e_day_view_on_new_appointment): Simplifed this function to use the shared code. * gui/e-week-view.c (e_week_view_on_new_event, e_week_view_on_new_appointment): ditto. * gui/gnome-cal.c (gnome_calendar_new_appointment_for): New function used to launch editor components with a time range. A bunch of functions use this code now instead of duplicating code all over the place svn path=/trunk/; revision=8794
* Moved functionality here from e_day_view_on_new_appointment. AllowsMiguel de Icaza2001-03-171-4/+52
| | | | | | | | | | | | | | | | | | | | | | | | 2001-03-17 Miguel de Icaza <miguel@ximian.com> * gui/e-week-view.c (e_week_view_new_event): Moved functionality here from e_day_view_on_new_appointment. Allows setting for "full day" event. (e_week_view_on_new_full_day): New function for making a full day event. (e_week_view_on_goto_date): Go To support. (e_week_view_on_goto_today): Goto today support. * gui/e-day-view.c (e_day_view_new_event): Moved functionality here from e_day_view_on_new_appointment. Allows setting for "full day" event. (e_day_view_on_new_full_day): New function for making a full day event. (e_day_view_on_goto_date): Go To support. (e_day_view_on_goto_today): Goto today support. * main_items: Add New All Day Event; Go to Today; Go to Date. svn path=/trunk/; revision=8778
* Update arguments to e_canvas_item_grab_focus.Dan Winship2001-03-161-1/+1
| | | | | | | | * gui/e-week-view.c (e_week_view_start_editing_event): * gui/e-day-view.c (e_day_view_start_editing_event): Update arguments to e_canvas_item_grab_focus. svn path=/trunk/; revision=8748
* Removed .oafinfo files -- they are obsolete. Moved pixmaps fromGediminas Paulauskas2001-03-151-3/+3
| | | | | | | | | | | | 2001-03-15 Gediminas Paulauskas <menesis@delfi.lt> Removed .oafinfo files -- they are obsolete. Moved pixmaps from calendar/gui/ to art/ Moved evolution.png to art/ Moved evolution.desktop.in to data/ Generate doc/devel/executive-summary/Makefile svn path=/trunk/; revision=8727
* keep list of all Tasks folders so we can update the preference settingsDamon Chaplin2001-03-051-61/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-05 Damon Chaplin <damon@ximian.com> * gui/e-tasks.c: keep list of all Tasks folders so we can update the preference settings when necessary. * gui/gnome-cal.c: configure the TaskPad according to the settings. * gui/e-calendar-table.c: use ECellCombo and ECellDateEdit for fields, so the tasks folders is almost usable now. * gui/calendar-model.c: added support for the Status property. * gui/calendar-config.[hc]: added convenience functions to setup ECalendarTable and ECellDateEdit objects. * gui/calendar-commands.c: connected to "destroy" signal of calendars so we can remove them from all_calendars list. * gui/dialogs/cal-prefs-dialog.c (cal_prefs_dialog_update_config): call e_tasks_update_all_config_settings() to update all the settings in the Tasks folders as well. * cal-util/cal-component.h: added CAL_COMPONENT_FIELD_STATUS. * cal-util/cal-component.c (cal_component_get_transparency): fixed calls to strcasecmp so they check for '== 0'. Applied patch from Miguel... 2001-02-27 Miguel de Icaza <miguel@ximian.com> * gui/e-day-view.c (e_day_view_on_event_right_click): Reorganize the menus to have entries always in a consistent fashion, as reported to the genepool mailing list. (e_day_view_on_event_right_click): Added a FIXME comment to the FIXME comment without a FIXME. Now we use e_popup_menu. This allows us to hide/show items on demand, and to sensitize/de-sensitize items depending on their state. This will also let us add icon support (when we get nice icons for this) * gui/e-week-view.c (e_week_view_show_popup_menu): Ditto. The files popup-menu.c and popup-menu.h can now be removed. svn path=/trunk/; revision=8549
* More 0.9 stuffJP Rosevear2001-02-091-0/+28
| | | | | | | | | | | 2001-02-08 JP Rosevear <jpr@ximian.com> * gui/e-week-view.c (e_week_view_on_schedule_meet): new routine to throw up the meeting schedule dialog (e_week_view_show_popup_menu): add schedule meeting to the contextual menu where appropriate svn path=/trunk/; revision=8117
* Pulling stuff up from the branchJP Rosevear2001-02-071-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-02-06 JP Rosevear <jpr@ximian.com> * cal-util/cal-component.c (cal_component_set_categories): If the categories string is empty, remove the property (get_period_list): Fixes from clahey to handle the new rdate format in libical (set_period_list): ditto 2001-02-06 JP Rosevear <jpr@ximian.com> * gui/event-editor.c (fill_reminder_widgets): Match new append_alarm signature (reminder_to_comp_object): only add alarms tagged as new, no longer delete all alarms first (append_reminder): the row data is now of type ReminderData, rename from append_alarm (reminder_add_cb): math new append_alarm signature (reminder_delete_cb): if the alarm existed before the dialog was loaded, delete it immediately from the cal component 2001-02-06 JP Rosevear <jpr@ximian.com> * gui/event-editor-dialog.glade: Gui tweaks for bugs 1248 and 1246 * gui/dialogs/task-editor-dialog.glade: ditto 2001-02-06 JP Rosevear <jpr@ximian.com> * gui/e-week-view.c (e_week_view_show_popup_menu): Make the menus more consistent * gui/e-day-view.c (e_day_view_on_event_right_click): ditto * gui/e-calendar-table.c: ditto svn path=/trunk/; revision=8037
* <gnome.h> trimming to reduce compilation time. Likewise. Likewise.Federico Mena Quintero2001-01-301-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-29 Federico Mena Quintero <federico@ximian.com> * gui/calendar-config.c: <gnome.h> trimming to reduce compilation time. * gui/calendar-summary.c: Likewise. * gui/e-calendar-table.c: Likewise. * gui/e-day-view-time-item.c: Likewise. * gui/e-day-view.c: Likewise. * gui/e-itip-control.c: Likewise. * gui/e-meeting-edit.c: Likewise. * gui/e-meeting-edit.h: Likewise. * gui/e-tasks.c: Likewise. * gui/e-week-view.c: Likewise. * gui/event-editor.c: Likewise. * gui/gnome-cal.c: Likewise. * gui/goto.c: Likewise. * gui/itip-utils.h: Likewise. * gui/main.c: Likewise. * gui/popup-menu.c: Likewise. * gui/print.c: Likewise. * gui/tasks-control-factory.c: Likewise. * gui/tasks-control.c: Likewise. * gui/tasks-migrate.c: Likewise. svn path=/trunk/; revision=7896
* libical import cleanupJP Rosevear2001-01-241-8/+8
| | | | | | | | 2001-01-23 JP Rosevear <jpr@ximian.com> * libical import cleanup svn path=/trunk/; revision=7753
* gui/e-week-view*.c don't use the theme colors at all within the graphicalDamon Chaplin2001-01-181-14/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-17 Damon Chaplin <damon@helixcode.com> * gui/e-week-view*.c * gui/e-day-view*.c: don't use the theme colors at all within the graphical parts of the widgets, since they may clash with our colors. May make them configurable in future so people can tweak them to go with their theme. At least the calendars are usable in any theme now, even though the colors may not go well with the theme. Also set the font of all the EText items in style_set. * gui/e-week-view-event-item.c (e_week_view_event_item_draw): don't draw the icons if we are editing the event. * gui/e-day-view.c: * gui/e-week-view.c: reinstated the optimizations so we don't do a complete relayout if the event's dates haven't been changed. (Though we still do a re-layout when recurring events change, since comparing all the RDATES/RRULES/EXDATES/EXRULES is too much hassle.) A side-effect of this change is that the EWeekView won't crash so often - only recurring events will be a problem. * cal-util/cal-component.[hc]: added function to check if the start and end dates of a component match. Used for optimizing the updating of the EDayView & EWeekView. svn path=/trunk/; revision=7593
* Ximianified email addresses and copyrights.Federico Mena Quintero2001-01-171-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-17 Federico Mena Quintero <federico@ximian.com> * */*: Ximianified email addresses and copyrights. * idl/evolution-calendar.idl (CalFactory::open): Renamed from ::load(), and added an only_if_exists argument. (CalFactory::create): Removed method. (Listener::OpenStatus): Removed the IN_USE error and replaced it with a NOT_FOUND one; renamed the enum from LoadStatus. (Listener::notifyCalOpened): Renamed from notifyCalLoaded(). * pcs/cal-backend.h (CalBackend): Removed the uri field. (CalBackendOpenStatus): Renamed from CalBackendLoadStatus and added a NOT_FOUND value. (CalBackendClass::open): Put in a slot for the open method. * pcs/cal-backend.c (cal_backend_create): Removed function. * pcs/cal-backend-file.c (cal_backend_file_open): Return the appropriate value when only_if_exists is TRUE. (create_cal): We are Ximian now, so set the PRODID property to the appropriate foo. * pcs/cal-factory.c (CalFactory_open): implemented, replacing CalFactory_load() and CalFactory_create(). (CalFactory_open): Moved the queue_load_create_job() stuff to here, since we now only need to contemplate the open case instead of load/create ones. (open_backend): Do everything here; replaces load_backend() and create_backend(). * cal-client/cal-listener.h (CalListenerClass::cal_opened): Renamed from cal_loaded. (CalListenerClass): Replaced the silly signals, which are gratuitous abstraction, by a set of function pointers in the instance structure. * cal-client/cal-listener.c (cal_listener_get_calendar): Removed unused function. (cal_listener_construct): Added the listener notification functions. (cal_listener_new): Ditto. (Listener_notifyCalOpened): Renamed to our new naming convention for servant implementations. (Listener_notifyObjUpdated): Ditto. (Listener_notifyObjRemoved): Ditto. * cal-client/cal-client.h (CalClientOpenStatus): Renamed from CalClientLoadStatus. (CalClientClass::cal_opened): Renamed from ::cal_loaded(). (CalClientLoadState): New enum; basically make LoadState public so that users of this code do not have to maintain their own states. * cal-client/cal-client.c (cal_client_create_calendar): Removed function. (cal_client_open_calendar): Moved the functionality over from load_or_create(); now we do everything here. (*): Use the CalClientLoadState enum values instead of the old LoadState values. (cal_client_get_load_state): Renamed from cal_client_is_loaded(), and return the appropriate value. (CalClientPrivate): Added an uri field. (cal_client_init): Initialize priv->uri. (cal_client_destroy): Free the priv->uri. (cal_opened_cb): Maintain the priv->uri. (cal_client_open_calendar): Fill in the priv->uri. (cal_client_get_uri): New function. * gui/calendar-model.c (calendar_model_set_new_comp_vtype): New function to configure the type of calendar components to create when doing click-to-add. This makes the model usable for something other than task lists. (calendar_model_get_new_comp_vtype): New function. * gui/e-calendar-table.c (e_calendar_table_get_model): New function. (e_calendar_table_destroy): Unref the subset_model. * gui/gnome-cal.h (GnomeCalendarOpenMode): Removed enum. * gui/gnome-cal.c (LoadState): Removed enum; we now use the CalClientLoadState from the client objects. (GnomeCalendarPrivate): Removed the loading_uri and task_pad_loading_uri fields as well as the load_state and task_pad_load_state fields, as we can now query them directly from the CalClient. (open_error): Renamed from load_error(). (create_error): Removed function. (gnome_calendar_open): Do not take in the mode parameter. (cal_opened_cb): Get rid of our beautifully-crafted state machine and replace it with simple code; all the loading smarts are in the Wombat now. (setup_widgets): Set the new component vtype of the table model to CAL_COMPONENT_TODO. * gui/Makefile.am (evolution_calendar_SOURCES): Removed gnome-month-item.[ch] from the list of sources. * gui/calendar-summary.c (CalSummary): Removed unused cal_loaded field. (create_summary_view): Do not check if the file exists; this is the job of the Wombat. (generate_html_summary): Fixed prototype. (alarm_fn): Fixed prototype. (property_dialog): Fixed prototype. Wonder if/how this ever worked. (create_summary_view): Cast the component and view as appropriate. Removed unused html variable. [Iain dude, are you compiling with -Wall?] * gui/e-itip-control.c (cal_opened_cb): Sigh, this function signature was *very* wrong. It was using CalClientGetStatus instead of CalClientOpenStatus. * gui/e-tasks.h (ETasksOpenMode): Removed enum. * gui/e-tasks.c (setup_widgets): Set the new component vtype of the table model to CAL_COMPONENT_TODO. (LoadState): Removed the state machine foo. (e_tasks_open): Removed the mode parameter. (initial_load): Removed function. (create_error): Removed function. (ETasksPrivate): Removed folder_uri field. (cal_opened_cb): Remove the state machine. * gui/component-factory.c: #include "tasks-control.h" * conduits/calendar/calendar-conduit.h (ECalConduitContext): Removed calendar_load_tried field. * conduits/calendar/calendar-conduit.c (start_calendar_server_cb): Sigh, fixed function prototype. * conduits/todo/todo-conduit.h (EToDoConduitContext): Removed calendar_load_tried field. * conduits/todo/todo-conduit.c (start_calendar_server_cb): Fixed function prototype. svn path=/trunk/; revision=7571
* moved #include <cal-client/cal-client.h> to the .h file.Damon Chaplin2001-01-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-14 Damon Chaplin <damon@helixcode.com> * gui/dialogs/task-editor.[hc]: moved #include <cal-client/cal-client.h> to the .h file. * gui/e-tasks.c: load & save the Tasks folders' ETable layout. Added an option menu to filter tasks by category. * gui/gnome-cal.c: use the "Tasks" folder for the TaskPad. (We may make the actual tasks folder shown a per-calendar option.) * gui/tasks-control.c (tasks_control_new_task_cmd): added support for the New Task icon on the toolbar. * gui/e-calendar-table.[hc]: we now use an ETableSubsetVariable model to filter the tasks by a category. And tidied up a little. * gui/calendar-model.[hc]: added way to get all the categories used by the tasks, so we can show an option menu of them. Also a signal which is emitted when they are changed. Also allows a default category to be set, which is used to initialize the 'click-to-add' row. Also made sure the initialize_value()/get_value() functions don't return NULL since that can cause a SEGV. * gui/e-week-view.c: * gui/e-day-view.c: set the "fill_color_rgba" arg of the EText items to black since it doesn't seem to set up a default color properly. Hopefully this fixes the bug on Solaris where the items appear with strange colors. * gui/widget-util.c (date_edit_new): use the calendar_config function to set most of the options. It wasn't setting the 12/24 hour option before. * gui/dialogs/task-editor-dialog.glade: added "Undefined" priority. svn path=/trunk/; revision=7483
* Do not compose strings so that they can be localized correctly. Also,Federico Mena Quintero2001-01-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-02 Federico Mena Quintero <federico@helixcode.com> * gui/dialogs/delete-comp.c (delete_component_dialog): Do not compose strings so that they can be localized correctly. Also, convert from UTF8 into the font's encoding. Fixes bug #1030. * gui/e-calendar-table.c (delete_component): Pass the widget argument to delete_component_dialog(). * gui/e-day-view.c (e_day_view_on_delete_appointment): Likewise. * gui/e-week-view.c (e_week_view_on_delete_appointment): Likewise. * gui/event-editor.c (file_delete_cb): Likewise. * gui/calendar-commands.c: Use BONOBO_UI_VERB() instead of BONOBO_UI_UNSAFE_VERB(). Guess what, all of our handler signatures were wrong. * gui/event-editor.c: Likewise. * gui/dialogs/task-editor.c: Likewise. * gui/goto-dialog.glade: Added some spacing between the month/year widgets and the calendar widget. svn path=/trunk/; revision=7211
* Alarm trigger queueing for the GUI part.Federico Mena Quintero2000-12-231-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-12-21 Federico Mena Quintero <federico@helixcode.com> Alarm trigger queueing for the GUI part. * gui/alarm-notify.[ch]: New files with the high-level alarm notification system; mostly moved over from gnome-cal.c. The low-level timer stuff is still in alarm.[ch]. * gui/alarm-notify.c (alarm_notify_init): New function to initialize the alarm notification system. (alarm_notify_done): New function to shut down the alarm notification system. (alarm_notify_add_client): New function to start monitoring a calendar client for alarm notification. (alarm_notify_remove_client): New function to stop monitoring a client. * gui/alarm.h (AlarmDestroyNotify): Also pass in the alarm ID so the callback may know which ID is being destroyed. * gui/alarm.c (clear_itimer): New function. (pop_alarm): Use clear_itimer(). (alarm_done): New function to shut down the timer system. (alarm_add): Add some preconditions. Do not call the destroy notification function if we could not create the alarm. (alarm_ready): Pass the alarm ID to the destroy notify function. (alarm_remove): Likewise. Also, add some preconditions. * gui/gnome-cal.c: Removed the alarm notification functions from here since they are now in alarm-notify.c. (gnome_calendar_construct): Register the client with alarm_notify_add_client(). (gnome_calendar_destroy): Use alarm_notify_remove_client() to unregister the client. (obj_updated_cb): Do not do any alarm-related stuff. (obj_removed_cb): Likewise. * gui/main.c (main): Shut down the alarm timer system. (main): Initialize and shut down the alarm notification system. * gui/Makefile.am (evolution_calendar_SOURCES): Added alarm-notify.[ch] to the list of sources. * gui/calendar-model.c (calendar_model_set_cal_client): Only connect to the "cal_loaded" signal if the client is not already loaded. * gui/e-day-view.c (e_day_view_set_cal_client): Likewise. * gui/e-week-view.c (e_week_view_set_cal_client): Likewise. * gui/e-itip-control.c (update_calendar): Connect to "cal_loaded" before issuing the load request. svn path=/trunk/; revision=7130
* Even though icaltime_from_timet() now properly ignores the is_utc argumentFederico Mena Quintero2000-12-141-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-12-13 Federico Mena Quintero <federico@helixcode.com> * cal-util/cal-component.c (ensure_mandatory_properties): Even though icaltime_from_timet() now properly ignores the is_utc argument since time_t values *are* in UTC by definition, we were passing FALSE for that argument's value in a bunch of places. So although it is ignored, changed them to TRUE for consistency. Hopefully newer versions of libical will remove that argument entirely since it does not make sense to speak of non-absolute time_t values. * cal-util/cal-recur.c (cal_recur_set_rule_end_date): Likewise. * conduits/calendar/calendar-conduit.c (comp_from_remote_record): Likewise. * conduits/todo/todo-conduit.c (comp_from_remote_record): Likewise. * gui/dialogs/task-editor.c (dialog_to_comp_object): Likewise. * gui/e-day-view.c (e_day_view_on_new_appointment): Likewise. (e_day_view_on_delete_occurrence): Likewise. (e_day_view_on_unrecur_appointment): Likewise. (e_day_view_on_unrecur_appointment): Likewise. (e_day_view_finish_long_event_resize): Likewise. (e_day_view_finish_resize): Likewise. (e_day_view_key_press): Likewise. (e_day_view_on_top_canvas_drag_data_received): Likewise. (e_day_view_on_main_canvas_drag_data_received): Likewise. * gui/e-week-view.c (e_week_view_key_press): Likewise. (e_week_view_on_new_appointment): Likewise. (e_week_view_on_delete_occurrence): Likewise. (e_week_view_on_unrecur_appointment): Likewise. * gui/event-editor.c (simple_recur_to_comp_object): Likewise. (recur_to_comp_object): Likewise. (dialog_to_comp_object): Likewise. * gui/gnome-cal.c (gnome_calendar_new_appointment): Likewise. svn path=/trunk/; revision=6995
* #if 0ed cal_obj_date_only_compare_func. (cal_object_get_rdate_end):Christopher James Lahey2000-12-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | 2000-12-13 Christopher James Lahey <clahey@helixcode.com> * cal-util/cal-recur.c: #if 0ed cal_obj_date_only_compare_func. (cal_object_get_rdate_end): Changed this function to get rid of a possible uninitialized error on the rdate function. * gui/calendar-model.c: Fixed some warnings involving the #define _XOPEN_SOURCE lines here. * gui/component-factory.c: #ifdef WANT_THE_EXECUTIVE_SUMMARYed out the summary_factory object since it's unused if WANT_THE_EXCUTIVE_SUMMARY is not defined. * gui/e-day-view.c: #if 0ed out e_day_view_remove_event_cb. (obj_updated_cb): #ifndef NO_WARNINGSed out a #warning. * gui/e-week-view-event-item.c (e_week_view_event_item_draw): Made it so that * gui/e-week-view.c (obj_updated_cb): #ifndef NO_WARNINGSed out a #warning. svn path=/trunk/; revision=6982
* unref the pixbuf when finished with it62000-12-071-1/+1
| | | | | | | | | 2000-12-06 <purify@the-dot-in.helixcode.com> * gui/e-week-view.c (e_week_view_init): unref the pixbuf when finished with it svn path=/trunk/; revision=6832
* Fixes bug #920.Federico Mena Quintero2000-12-071-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-12-06 Federico Mena Quintero <federico@helixcode.com> Fixes bug #920. * gui/e-calendar-table.c (delete_component): New function. (e_calendar_table_on_delete_task): Use delete_component(). (e_calendar_table_on_key_press): Likewise. Also, mark the event as handled. * gui/calendar-model.c (calendar_model_get_component): Renamed function from calendar_model_get_cal_object(). (calendar_model_delete_task): Removed function. * gui/dialogs/delete-comp.[ch]: New files with the dialog for deleting a calendar component. * gui/e-day-view.c (e_day_view_on_delete_appointment): Confirm before actually deleting the appointment. * gui/e-week-view.c (e_week_view_on_delete_appointment): Likewise. * gui/dialogs/Makefile.am (libcal_dialogs_a_SOURCES): Added delete-comp.[ch] to the list of sources. * cal-util/cal-component.c (cal_component_destroy): Free the alarm UID hash. svn path=/trunk/; revision=6828
* finished 12-hour support and tried to tidy up & comment the drawing codeDamon Chaplin2000-11-291-34/+155
| | | | | | | | | | | 2000-11-28 Damon Chaplin <damon@helixcode.com> * gui/e-day-view*.[hc]: * gui/e-week-view*.[hc]: finished 12-hour support and tried to tidy up & comment the drawing code in places. Also fixed a couple of bugs I spotted. All the options on the 'Calendar' page should now work. svn path=/trunk/; revision=6706
* added more support for config settings.Damon Chaplin2000-11-271-77/+252
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-26 Damon Chaplin <damon@helixcode.com> * gui/gnome-cal.c: added more support for config settings. * gui/e-week-view.[hc]: * gui/e-day-view.[hc]: added support for setting - show event end times, week start day and 12-hour format (unfinished). * gui/e-day-view-time-item.c: started 12-hour support. * gui/tag-calendar.c (prepare_tag): use end_day + 1 since we want to include the last day. * gui/event-editor.c (set_all_day): minor change when turning all_day off - set the event end to one hour after the event start if it is on or before the start time. Also added more comments to make it a bit clearer. * cal-util/cal-recur.c (cal_obj_time_add_days): use a gint for day rather than a guint since we now support -ve days. Also fixed bug with weekly recurrences. * gui/dialogs/task-editor.c (task_editor_create_date_edit): use config settings. * gui/dialogs/cal-prefs-dialog.c (cal_prefs_dialog_update_config): updated EDateEdit calls. svn path=/trunk/; revision=6675
* These changes fix bugzilla bugs #874 and #875.Federico Mena Quintero2000-11-091-21/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-08 Federico Mena Quintero <federico@helixcode.com> These changes fix bugzilla bugs #874 and #875. * cal-util/cal-component.c (cal_component_get_exdate_list): Return a list of CalComponentDateTime instead of simple struct icaltimetype objects. Exception date properties *can* contain a timezone parameter, so we need to include those if they are present. (cal_component_set_exdate_list): On the input, handle a list of CalComponentDateTime structures. On the internals, handle a list of struct datetime instead of plain properties. (cal_component_free_exdate_list): Handle a list of CalComponentDateTime structures. (scan_exdate): Create a list of struct datetime structures. (free_icalcomponent): Free the exdate_list properly. * cal-util/cal-recur.c (generate_instances_for_chunk): Use the proper types for exception dates. * gui/comp-util.h: * gui/comp-util.c: New files with utilities for manipulating calendar component objects. (cal_comp_util_add_exdate): New function. * gui/Makefile.am (evolution_calendar_SOURCES): Added comp-util.[ch] to the list of sources. * gui/e-day-view.c (add_exdate): New convenience function to add an exception date to a calendar component. (e_day_view_on_unrecur_appointment): Use cal_comp_util_add_exdate(). (e_day_view_on_delete_occurrence): Likewise. * gui/e-week-view.c (e_week_view_on_delete_occurrence): Likewise. (e_week_view_on_unrecur_appointment): Likewise. * gui/event-editor.c (nth_weekday): Be paranoid about valid position values. (fill_widgets): Use the proper types for exdates. (dialog_to_comp_object): Likewise. svn path=/trunk/; revision=6517
* added _click-to-add-message, though I'm not sure if i18n will work.Damon Chaplin2000-10-201-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-20 Damon Chaplin <damon@helixcode.com> * gui/e-calendar-table.c (E_CALENDAR_TABLE_SPEC): added _click-to-add-message, though I'm not sure if i18n will work. * cal-util/cal-recur.c (cal_obj_time_add_hours): (cal_obj_time_add_minutes): (cal_obj_time_add_seconds): updated to handle -ve args. * cal-util/timeutil.c (time_add_day): set tm_isdst to -1 before calling mktime(). * cal-util/cal-recur.c (generate_instances_for_chunk): don't call the callback if the event ends exactly on the interval start time. * gui/e-week-view.c (e_week_view_reshape_event_span): * gui/e-week-view-event-item.c (e_week_view_event_item_draw_icons): * gui/e-day-view-top-item.c (e_day_view_top_item_draw_long_event): * gui/e-day-view-main-item.c (e_day_view_main_item_draw_day_event): * gui/e-day-view.c (e_day_view_reshape_long_event): (e_day_view_reshape_day_event): use cal_component_has_alarms(). * cal-util/cal-component.[hc]: added cal_component_has_alarms(). 2000-10-16 Damon Chaplin <damon@helixcode.com> * gui/calendar-config.c (config_read): set default MonthVPanePosition to 1 rather than 0, so if you move the hpane you'll see the date navigator. svn path=/trunk/; revision=6063
* call calendar_config_write_on_exit() to write out some special configDamon Chaplin2000-10-121-64/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-11 Damon Chaplin <damon@helixcode.com> * gui/main.c (main): call calendar_config_write_on_exit() to write out some special config settings (as the mail component does). * gui/calendar-commands.c (properties_cmd): changed to use the new preferences dialog. (update_all_config_settings): new function to iterate over all the calendars and update the config settings. * gui/dialogs/cal-prefs-dialog.glade: preferences dialog. * gui/dialogs/cal-prefs-dialog.[hc]: new files for the preferences dialog. * gui/calendar-config.[hc]: new files to handle loading/saving config settings. * cal-util/cal-recur.c: fixed bug in YEARLY when no filters were set, plus minor changes. * cal-util/test-recur.c: updated. * gui/e-day-view-time-item.c: * gui/popup-menu.c: update to #include <gal/widgets/e-gui-utils.h> * gui/component-factory.c (owner_set_cb): called calendar_config_init. (owner_set_cb): (owner_unset_cb): updated the prototypes. * gui/main.c (main): added call to calendar_config_write_on_exit(). * gui/component-factory.h: * gui/component-factory.c (owner_set_cb): added global evolution_dir just like the mail component, so we know we to store config stuff. svn path=/trunk/; revision=5856
* when the user types in a new event, don't create it until the user hitsDamon Chaplin2000-10-051-27/+0
| | | | | | | | | | | | | | | | | | | 2000-10-05 Damon Chaplin <damon@helixcode.com> * gui/e-day-view.c: * gui/e-week-view.c: when the user types in a new event, don't create it until the user hits Return or switches focus. Removed the editing_new_event flags. * cal-util/test-recur.c: rewritten to work on ics files. Now I can start testing the recurrence code. * cal-util/cal-recur.c: a few fixes. * gui/e-day-view.c (e_day_view_check_if_new_event_fits): fixed to return TRUE for long events, not FALSE. svn path=/trunk/; revision=5729
* Added check for gnome-app-lib. Removed directories that have been moved toChristopher James Lahey2000-09-181-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * configure.in: Added check for gnome-app-lib. Removed directories that have been moved to gal. From addressbook/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * backend/ebook/Makefile.am, contact-editor/Makefile.am, ename/Makefile.am, gui/component/Makefile.am, gui/widgets/Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * backend/ebook/e-card.c, backend/pas/pas-backend-file.c, contact-editor/e-contact-editor-address.c, contact-editor/e-contact-editor-categories.c, contact-editor/e-contact-editor-categories.h, contact-editor/e-contact-editor-fullname.c, contact-editor/e-contact-editor.c, contact-editor/e-contact-save-as.c, ename/e-address-western.c, ename/test-ename-western-gtk.c, gui/component/addressbook-factory.c, gui/component/addressbook.c, gui/component/e-cardlist-model.h, gui/component/e-ldap-storage.c, gui/component/select-names/e-select-names-bonobo.c, gui/component/select-names/e-select-names-manager.c, gui/component/select-names/e-select-names-model.c, gui/component/select-names/e-select-names-table-model.c, gui/component/select-names/e-select-names-table-model.h, gui/component/select-names/e-select-names-text-model.h, gui/component/select-names/e-select-names.c, gui/component/select-names/e-select-names.h, gui/search/e-addressbook-search-dialog.c, gui/widgets/e-addressbook-model.h, gui/widgets/e-addressbook-view.c, gui/widgets/e-minicard-label.c, gui/widgets/e-minicard-view-widget.c, gui/widgets/e-minicard-view-widget.h, gui/widgets/e-minicard-view.c, gui/widgets/e-minicard-view.h, gui/widgets/e-minicard-widget.h, gui/widgets/e-minicard.c, gui/widgets/test-minicard-label.c, gui/widgets/test-reflow.c, printing/e-contact-print.c: Fixed the #include lines to deal properly with gal. From calendar/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * gui/Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * gui/calendar-model.h, gui/e-calendar-table.c, gui/e-day-view.c, gui/e-week-view-event-item.c, gui/e-week-view.c, gui/event-editor.c, gui/gncal-todo.c, gui/gnome-cal.c, gui/main.c, gui/print.c, gui/dialogs/task-editor.c: Fixed the #include lines to deal properly with gal. * gui/check-filled.xpm: New file since we can't include it from e-table anymore. From camel/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * camel-folder-search.c, camel-folder-search.h, camel-remote-store.c, providers/imap/camel-imap-folder.c, providers/imap/camel-imap-store.c: Fixed the #include lines to deal properly with gal. From composer/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-msg-composer-address-dialog.c, e-msg-composer-address-entry.c, e-msg-composer-attachment.c, e-msg-composer-hdrs.c, e-msg-composer.c: Fixed the #include lines to deal properly with gal. From e-util/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Removed all the files moved to gal. * e-dialog-widgets.c: Fixed the #include lines to deal properly with gal. * e-gui-utils.c, e-gui-utils.h: Removed all of the functionality that was moved to gal. * e-canvas-utils.c, e-canvas-utils.h, e-canvas-vbox.c, e-canvas-vbox.h, e-canvas.c, e-canvas.h, e-cursors.c, e-cursors.h, e-font.c, e-font.h, e-popup-menu.c, e-popup-menu.h, e-printable.c, e-printable.h, e-unicode.c, e-unicode.h, e-util.c, e-util.h, e-xml-utils.c, e-xml-utils.h: Moved to gal. From filter/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * filter-editor.c, filter-filter.c, filter-folder.c, filter-input.c, filter-message-search.c, filter-option.c, filter-rule.c, score-editor.c, vfolder-editor.c, vfolder-rule.c: Fixed the #include lines to deal properly with gal. From mail/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * component-factory.c, folder-browser-factory.c, folder-browser.c, mail-callbacks.c, mail-config-gui.c, mail-display.c, mail-display.h, main.c, message-list.c, message-list.h: Fixed the #include lines to deal properly with gal. From po/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * POTFILES.in: Removed files that have been moved to gal. From shell/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-component-registry.c, e-corba-storage-registry.c, e-corba-storage.c, e-folder-type-registry.c, e-folder.c, e-local-folder.c, e-local-storage.c, e-shell-folder-creation-dialog.c, e-shell-folder-selection-dialog.c, e-shell-folder-title-bar.c, e-shell-view.c, e-shell.c, e-shortcuts-view.c, e-shortcuts.c, e-storage-set-view.c, e-storage-set-view.h, e-storage-set.c, e-storage.c, evolution-local-storage.c, evolution-session.c, evolution-shell-client.c, evolution-shell-component-client.c, evolution-shell-component.c, evolution-shell-view.c, evolution-storage-listener.c, evolution-storage.c, main.c: Fixed the #include lines to deal properly with gal. From widgets/meeting-time-sel/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-meeting-time-sel-list-item.c, e-meeting-time-sel.c, e-meeting-time-sel.h: Fixed the #include lines to deal properly with gal. If you've read this far, you deserve a prize. The first email in my mailbox with the subject "What a commit message!" (and your physical mailing address somewhere in the message) will receive a free Helix Code T-shirt mailed to anywhere within the continental United States. I cannot be held responsible for problems with email systems anywhere. This is supposed to be for fun, so please don't make a fuss if something goes wrong and your mail doesn't reach me. Find my email elsewhere in this message, and if it's been more than a few days, you're probably too late. From widgets/misc/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-calendar-item.c, e-calendar.c, e-calendar.h, e-title-bar.c: Fixed the #include lines to deal properly with gal. * e-scroll-frame.c, e-scroll-frame.h: Moved to gal. From widgets/shortcut-bar/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-icon-bar.c, e-icon-bar.h, e-shortcut-bar.c, e-shortcut-model.c, test-shortcut-bar.c: Fixed the #include lines to deal properly with gal. From widgets/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Removed directories that have been moved to gal. * e-paned/.cvsignore, e-paned/Makefile.am, e-paned/e-hpaned.c, e-paned/e-hpaned.h, e-paned/e-paned.c, e-paned/e-paned.h, e-paned/e-vpaned.c, e-paned/e-vpaned.h: Moved to gal. * e-reflow/.cvsignore, e-reflow/Makefile.am, e-reflow/e-reflow-sorted.c, e-reflow/e-reflow-sorted.h, e-reflow/e-reflow.c, e-reflow/e-reflow.h: Moved to gal. * e-table/.cvsignore, e-table/ChangeLog, e-table/LICENSE, e-table/Makefile.am, e-table/ROADMAP.e-table, e-table/TODO, e-table/add-col.xpm, e-table/arrow-down.xpm, e-table/arrow-up.xpm, e-table/check-empty.xpm, e-table/check-filled.xpm, e-table/clip.png, e-table/e-cell-checkbox.c, e-table/e-cell-checkbox.h, e-table/e-cell-string.c, e-table/e-cell-text.c, e-table/e-cell-text.h, e-table/e-cell-toggle.c, e-table/e-cell-toggle.h, e-table/e-cell-tree.c, e-table/e-cell-tree.h, e-table/e-cell.c, e-table/e-cell.h, e-table/e-table-click-to-add.c, e-table/e-table-click-to-add.h, e-table/e-table-col-dnd.h, e-table/e-table-col.c, e-table/e-table-col.h, e-table/e-table-column-model.h, e-table/e-table-column.c, e-table/e-table-config.c, e-table/e-table-config.glade, e-table/e-table-config.glade.h, e-table/e-table-config.h, e-table/e-table-defines.h, e-table/e-table-example-1.c, e-table/e-table-example-2.c, e-table/e-table-field-chooser-dialog.c, e-table/e-table-field-chooser-dialog.h, e-table/e-table-field-chooser-item.c, e-table/e-table-field-chooser-item.h, e-table/e-table-field-chooser.c, e-table/e-table-field-chooser.glade, e-table/e-table-field-chooser.glade.h, e-table/e-table-field-chooser.h, e-table/e-table-group-container.c, e-table/e-table-group-container.h, e-table/e-table-group-leaf.c, e-table/e-table-group-leaf.h, e-table/e-table-group.c, e-table/e-table-group.glade, e-table/e-table-group.glade.h, e-table/e-table-group.h, e-table/e-table-header-item.c, e-table/e-table-header-item.h, e-table/e-table-header.c, e-table/e-table-header.h, e-table/e-table-item.c, e-table/e-table-item.h, e-table/e-table-model.c, e-table/e-table-model.h, e-table/e-table-one.c, e-table/e-table-one.h, e-table/e-table-scrolled.c, e-table/e-table-scrolled.h, e-table/e-table-selection-model.c, e-table/e-table-selection-model.h, e-table/e-table-simple.c, e-table/e-table-simple.h, e-table/e-table-size-test.c, e-table/e-table-sort-info.c, e-table/e-table-sort-info.h, e-table/e-table-sorted-variable.c, e-table/e-table-sorted-variable.h, e-table/e-table-sorted.c, e-table/e-table-sorted.h, e-table/e-table-sorter.c, e-table/e-table-sorter.h, e-table/e-table-subset-variable.c, e-table/e-table-subset-variable.h, e-table/e-table-subset.c, e-table/e-table-subset.h, e-table/e-table-text-model.c, e-table/e-table-text-model.h, e-table/e-table-tooltip.h, e-table/e-table-tree.h, e-table/e-table.c, e-table/e-table.h, e-table/e-tree-example-1.c, e-table/e-tree-example-2.c, e-table/e-tree-model.c, e-table/e-tree-model.h, e-table/e-tree-simple.c, e-table/e-tree-simple.h, e-table/image1.png, e-table/image2.png, e-table/image3.png, e-table/remove-col.xpm, e-table/sample.table, e-table/table-test.c, e-table/table-test.h, e-table/test-check.c, e-table/test-cols.c, e-table/test-table.c: Moved to gal. * e-text/.cvsignore, e-text/Makefile.am, e-text/e-entry-test.c, e-text/e-entry.c, e-text/e-entry.h, e-text/e-text-event-processor-emacs-like.c, e-text/e-text-event-processor-emacs-like.h, e-text/e-text-event-processor-types.h, e-text/e-text-event-processor.c, e-text/e-text-event-processor.h, e-text/e-text-model.c, e-text/e-text-model.h, e-text/e-text-test.c, e-text/e-text.c, e-text/e-text.h: Moved to gal. i.e., ... changed evolution to work with gal. svn path=/trunk/; revision=5490
* Fixed some warnings.Christopher James Lahey2000-09-091-1/+5
| | | | | | | | | | 2000-09-08 Christopher James Lahey <clahey@helixcode.com> * cal-util/cal-recur.c, gui/e-day-view.c, gui/e-week-view.c, gui/event-editor.c, gui/getdate.y, gui/gncal-todo.c, gui/gnome-cal.c, gui/dialogs/task-editor.c: Fixed some warnings. svn path=/trunk/; revision=5264
* Fall equinox cleanup!Federico Mena Quintero2000-09-081-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-09-08 Federico Mena Quintero <federico@helixcode.com> Fall equinox cleanup! OK, I know the equinox is not here yet, but weather has changed enough to warrant it. Sigh. This place is definitely not the tropics. * gui/gnome-cal.c (obj_updated_cb): Renamed from gnome_calendar_object_updated_cb(); fixed prototype. (obj_removed_cb): Renamed from gnome_calendar_object_removed_cb(); fixed prototype. (GnomeCalendarPrivate): Moved all the GnomeCalendar fields to a private structure so I don't have to rebuild the whole calendar GUI directory every time something changes in the object. (GnomeCalendarPrivate): Removed the property bag and the control fields; they are local to the control-factory now. (gnome_calendar_update_view_buttons): Remove the ignore_view_button_clicks mess and just block the signal. (gnome_calendar_set_view): Added a "focus" argument to indicate whether we want the main widget in the specified view to grab the focus. (gnome_calendar_set_view_internal): Handle the focus argument here. (gnome_calendar_set_view_buttons): Temporary hack to notify the calendar about its buttons. (gnome_calendar_get_selected_time_range): New function. (gnome_calendar_get_cal_client): New function. * gui/control-factory.c (calendar_properties_init): Keep the property bag local to here; it does not need to be in the calendar object yet. (control_factory_fn): Renamed from control_factory(). Just use control_factory_new_control(). (control_factory_new_control): Moved the stuff over from create_control(), and keep the control local to here. Check the return value of bonobo_control_new(). * gui/calendar-commands.c (show_day_view_clicked): Remove the ignore_view_button_clicks mess. (new_calendar): Removed the useless "page" argument. (calendar_control_activate): Use gnome_calendar_set_view_buttons() for now. svn path=/trunk/; revision=5255
* Use new cal_component_has_recurrences convenience functionJP Rosevear2000-09-061-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-09-06 JP Rosevear <jpr@helixcode.com> * gui/e-day-view-main-item.c (e_day_view_main_item_draw_day_event): Use new cal_component_has_recurrences convenience function * gui/e-week-view.c (e_week_view_show_popup_menu): ditto * gui/e-week-view-event-item.c (e_week_view_event_item_draw_icons): ditto * gui/calendar-model.c (calendar_model_value_at): ditto (calendar_model_value_at): ditto * gui/e-day-view.c (e_day_view_on_event_click): ditto (e_day_view_on_event_right_click): ditto (e_day_view_on_top_canvas_motion): ditto (e_day_view_on_top_canvas_motion): ditto (e_day_view_on_main_canvas_motion): ditto (e_day_view_on_main_canvas_motion): ditto (e_day_view_reshape_day_event): ditto * gui/e-day-view-top-item.c (e_day_view_top_item_draw_long_event): ditto * gui/e-day-view.c (e_day_view_on_long_event_click): ditto svn path=/trunk/; revision=5220
* uses the new TaskEditor dialog.Damon Chaplin2000-09-061-7/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | 2000-09-06 Damon Chaplin <damon@helixcode.com> * gui/e-calendar-table.c (e_calendar_table_open_task): uses the new TaskEditor dialog. * gui/dialogs/task-editor.[hc]: * gui/dialogs/task-editor-dialog.glade: updated. Still need to fix the 'Status' property (CalComponent doesn't support it yet), and use a replacement for GnomeDateEdit, since we need to support setting 'None' as the date. 2000-09-04 Damon Chaplin <damon@helixcode.com> * gui/event-editor.c (obj_updated_cb): (obj_removed_cb): compare the updated object's uid with the one we are editing, and just return if it doesn't match. 2000-09-01 Damon Chaplin <damon@helixcode.com> * gui/gnome-cal.c (gnome_calendar_tag_calendar): added check to see if the client has loaded successfully. Gets rid of a few warnings. svn path=/trunk/; revision=5217
* Added calendar/conduits/Makefile, calendar/conduits/calendar/Makefile andChristopher James Lahey2000-09-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | 2000-09-02 Christopher James Lahey <clahey@helixcode.com> * configure.in: Added calendar/conduits/Makefile, calendar/conduits/calendar/Makefile and calendar/conduits/todo/Makefile to the list of makefiles to output. From calendar/ChangeLog: 2000-09-02 Christopher James Lahey <clahey@helixcode.com> * conduits/calendar/calendar-conduit.c, conduits/todo/todo-conduit.c, gui/e-week-view.c, gui/gnome-cal.c: Fixed some warnings. From mail/ChangeLog: 2000-09-01 Christopher James Lahey <clahey@helixcode.com> * folder-browser.c: Removed a warning. svn path=/trunk/; revision=5179
* No need to spit a warning if removal fails. (event_editor_destroy): FreeFederico Mena Quintero2000-09-011-34/+37
| | | | | | | | | | | | | | | | | | | | | | | 2000-08-31 Federico Mena Quintero <federico@helixcode.com> * gui/event-editor.c (file_delete_cb): No need to spit a warning if removal fails. (event_editor_destroy): Free the exception clist data. Unref the calendar client here. (close_dialog): Just call gtk_object_destroy() on the event editor; the destroy handler will free everything else. * cal-client/cal-client.c (cal_client_object_exists): Removed function; this is not useful because we operate asynchronously. * gui/e-day-view.c (e_day_view_on_delete_appointment): No need to spit a warning if removal fails. * gui/e-week-view.c (e_week_view_on_delete_appointment): Likewise. * gui/calendar-model.c (calendar_model_delete_task): Likewise. svn path=/trunk/; revision=5155
* switched to using new ECalendar widget, and a few other fixes.Damon Chaplin2000-08-311-78/+285
| | | | | | | | | | | | | | 2000-08-30 Damon Chaplin <damon@helixcode.com> * gui/e-day-view.[hc]: * gui/e-day-view-main-item.c: * gui/e-week-view.[hc]: * gui/e-week-view-main-item.c: * gui/calendar-commands.c: * gui/gnome-cal.[hc]: switched to using new ECalendar widget, and a few other fixes. svn path=/trunk/; revision=5121
* Make sure the is_utc flag is always FALSE for icaltime_from_timetJP Rosevear2000-08-301-21/+19
| | | | | | | | | | | | 2000-08-30 JP Rosevear <jpr@helixcode.com> * gui/e-week-view.c: Make sure the is_utc flag is always FALSE for icaltime_from_timet (e_week_view_on_unrecur_appointment): Use icaltimetype struct from the stack and make sure tzid is always NULL (e_week_view_key_press): ditto svn path=/trunk/; revision=5112
* Now the views monitor the client by themselves; it does not make sense toFederico Mena Quintero2000-08-301-116/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-08-29 Federico Mena Quintero <federico@helixcode.com> Now the views monitor the client by themselves; it does not make sense to proxy all notifications through the GnomeCal. The GnomeCal should just be a meta-widget that holds all the views. At some later point we'll want to decouple the views from the GnomeCal so that they can be embedded anywhere; they should emit signals to request appropriate actions from the toplevel GUI instead of calling the GnomeCal directly. * gui/e-day-view.c (e_day_view_set_cal_client): New function; now the day view monitors the client by itself. (cal_loaded_cb): New callback; moved over from e_day_view_update_all_events(). (obj_updated_cb): New callback; moved over from e_day_view_update_event(). (obj_removed_cb): New callback; moved over from e_day_view_remove_event(). (e_day_view_update_all_events): Removed function. (e_day_view_update_event): Removed function. (e_day_view_remove_event): Removed function. (*): Use the day_view->client directly instead of fetching it from the GnomeCal. (e_day_view_destroy): Unref the client. (e_day_view_reload_events): Check if the client is loaded. (e_day_view_key_press): Set the vtype of the new component. * gui/e-week-view.c (e_week_view_set_cal_client): New function. (cal_loaded_cb): New callback. (obj_updated_cb): New callback. (obj_removed_cb): New callback. (e_week_view_update_all_events): Removed function. (e_week_view_update_event): Removed function. (e_week_view_remove_event): Removed function. (*): Use the week_view->client directly. (e_week_view_destroy): Unref the client. (e_week_view_reload_events): Check if the client is loaded. * gui/gnome-cal.c (setup_widgets): Set the cal_client on all the views. (gnome_calendar_update_all): Do not update the views, since now they do it themselves. (gnome_calendar_object_updated_cb): Likewise. (gnome_calendar_object_removed_cb): Likewise. (setup_widgets): Remove all to-do list cruft. (gnome_calendar_colors_changed): Likewise. (gnome_calendar_todo_properties_changed): Likewise. * gui/calendar-commands.h (todo_style_changed): Removed variable. * gui/gncal-todo.c: Removed old clist cruft; just left in the temporary dialog box for now. svn path=/trunk/; revision=5105
* Use event_editor_set_event_objectJP Rosevear2000-08-301-2/+4
| | | | | | | | | | | | | | | | | | 2000-08-29 JP Rosevear <jpr@helixcode.com> * gui/gnome-cal.c (gnome_calendar_edit_object): Use event_editor_set_event_object * gui/event-editor.c (event_editor_set_event_object): Rename from event_editor_set_ical_object * gui/event-editor.h: Update prototype * gui/e-week-view.c (e_week_view_on_new_appointment): Call cal_component_commit_sequence after event changes. Default to these being all day events. svn path=/trunk/; revision=5097
* Properly append to listJP Rosevear2000-08-251-7/+6
| | | | | | | | | | | | | | | 2000-08-24 JP Rosevear <jpr@helixcode.com> * gui/gncal-todo.c (ok_button): Properly append to list * gui/event-editor.c (dialog_to_comp_object): ditto * gui/e-day-view.c (e_day_view_on_new_appointment): The base times are not UTC * gui/e-week-view.c (e_week_view_on_new_appointment): ditto svn path=/trunk/; revision=5031
* Update for libical 0.19JP Rosevear2000-08-251-10/+10
| | | | | | | | 2000-08-24 JP Rosevear <jpr@helixcode.com> * Update for libical 0.19 svn path=/trunk/; revision=5024
* Fixed some warnings.Christopher James Lahey2000-08-251-1/+6
| | | | | | | | | | 2000-08-24 Christopher James Lahey <clahey@helixcode.com> * gui/calendar-commands.c, gui/e-day-view.c, gui/e-week-view.c, gui/event-editor.c, gui/gncal-todo.c, gui/gnome-cal.c, gui/prop.c: Fixed some warnings. svn path=/trunk/; revision=5009
* Do not alloc the struct icaltimetype but point to one on the stack. MoreJP Rosevear2000-08-251-4/+4
| | | | | | | | | | 2000-08-24 JP Rosevear <jpr@helixcode.com> * gui/e-week-view.c (e_week_view_on_new_appointment): Do not alloc the struct icaltimetype but point to one on the stack. More importantly, set the date.tzid to NULL. svn path=/trunk/; revision=5007
* Set vtype of new CalComponent (e_week_view_on_new_appointment): dittoJP Rosevear2000-08-241-1/+3
| | | | | | | | | | | | 2000-08-23 JP Rosevear <jpr@helixcode.com> * gui/e-week-view.c (e_week_view_key_press): Set vtype of new CalComponent (e_week_view_on_new_appointment): ditto * gui/e-day-view.c (e_day_view_on_new_appointment): ditto svn path=/trunk/; revision=4990
* Use CalObjTypeJP Rosevear2000-08-221-1/+1
| | | | | | | | | | | 2000-08-21 JP Rosevear <jpr@helixcode.com> * gui/e-week-view.c (e_week_view_reload_events): Use CalObjType * gui/e-day-view.c (e_day_view_reload_events): ditto svn path=/trunk/; revision=4904
* Update prototypesJP Rosevear2000-08-221-0/+1
| | | | | | | | | | | | | | 2000-08-21 JP Rosevear <jpr@helixcode.com> * gui/e-day-view.h: Update prototypes * gui/e-day-view.c (e_day_view_on_unrecur_appointment): Remove commented out portions. * gui/e-week-view.c (e_week_view_on_unrecur_appointment): Tidy. svn path=/trunk/; revision=4901
* Use CalComponent instead of iCalObject. Work around not having a compareJP Rosevear2000-08-211-103/+175
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-08-20 JP Rosevear <jpr@helixcode.com> * gui/e-week-view.c (e_week_view_update_event): Use CalComponent instead of iCalObject. Work around not having a compare dates routine for two CalComponents. (e_week_view_reload_events): Use revamped CalClient (e_week_view_reshape_event_span): Use CalComponent instead of iCalObject, #if some alarm stuff (e_week_view_update_event_cb): Use CalComponent instead of iCalObject (e_week_view_foreach_event_with_uid): ditto (e_week_view_remove_event_cb): ditto (e_week_view_free_events): ditto (e_week_view_add_event): ditto (e_week_view_on_editing_stopped): ditto (e_week_view_find_event_from_uid): ditto (e_week_view_key_press): ditto (e_week_view_show_popup_menu): ditto (e_week_view_on_new_appointment): ditto (e_week_view_on_edit_appointment): ditto (e_week_view_on_delete_occurrence): ditto (e_week_view_on_delete_appointment): ditto (e_week_view_on_unrecur_appointment): ditto * gui/e-week-view.h: Update prototypes. svn path=/trunk/; revision=4895
* Add mouse wheel scrolling support to the calendar day and week viewsAnders Carlsson2000-07-081-0/+14
| | | | svn path=/trunk/; revision=3971
* Sync - FedericoFederico Mena Quintero2000-06-231-6/+16
| | | | svn path=/trunk/; revision=3693
* Remove the usage of the "x" and "y" arguments.Christopher James Lahey2000-06-211-2/+3
| | | | | | | | | 2000-06-21 Christopher James Lahey <clahey@helixcode.com> * gui/e-day-view.c, gui/e-week-view.c: Remove the usage of the "x" and "y" arguments. svn path=/trunk/; revision=3669
* tidied up dialog a bit, adding space etc.Damon Chaplin2000-06-201-3/+0
| | | | | | | | | | | 2000-06-19 Damon Chaplin <damon@helixcode.com> * gui/event-editor-dialog.glade: tidied up dialog a bit, adding space etc. * gui/e-week-view.c (e_week_view_reshape_events): removed debug msg. svn path=/trunk/; revision=3639
* added little buttons which are shown when there are more events than willDamon Chaplin2000-06-171-1/+104
| | | | | | | | | | | | | | | | | | | | * gui/e-week-view.c: added little buttons which are shown when there are more events than will fit in a day. Clicking on the button takes the user to the 1-Day view and shows the full day. * gui/e-day-view.c: * gui/e-week-view.c: set the "use_ellipsis" arg to TRUE for the EText items so we get tooltips automatically. Though we may want to use our own code to show tooltips so we can show the tips when the mouse is around the edges of the event box, and we may want to show the start and end times of the event in full. * gui/calendar-commands.c (calendar_control_activate): * gui/gnome-cal.h: added view_toolbar_buttons[] so we can access the radio buttons in the code easily. We need this if we want to jump to another view programmatically. svn path=/trunk/; revision=3605
* instead of returning a text representation, decode the text and return anSeth Alves2000-06-081-8/+5
| | | | | | | | | | | | | | | | | | | | | | * cal-client/cal-client.c (cal_client_get_object): instead of returning a text representation, decode the text and return an iCalObject. Also added CalClientGetStatus which indicates success or type of failure. * cal-util/calobj.c (ical_object_find_in_string): #ifed out ical_object_find_in_string since it is unused now. * cal-client/client-test.c (list_uids): track get_object change * gui/calendar-commands.c (calendar_iterate): same * gui/e-day-view.c (e_day_view_update_event): same * gui/e-week-view.c (e_week_view_update_event): same * gui/print.c (print_day_details): same (print_day_summary): same (print_todo_details): same * gui/gnome-cal.c (trigger_alarm_cb): same * gui/gncal-todo.c (gncal_todo_update): same svn path=/trunk/; revision=3463
* allow the right button to popup the menu, even when the event is beingDamon Chaplin2000-06-061-0/+4
| | | | | | | | | | | | | | | | | 2000-06-05 Damon Chaplin <damon@helixcode.com> * gui/e-week-view-event-item.c (e_week_view_event_item_button_press): allow the right button to popup the menu, even when the event is being edited. * gui/e-week-view.c: * gui/e-day-view.c: Set the keyboard focus to the EDayView/EWeekView when the right button is clicked, so that any event being edited is saved before any action (e.g. opening the Event Editor dialog) is started. Note that this won't work if we switch to asynchronous notification. svn path=/trunk/; revision=3427
* New function to call the print engine. (calendar_toolbar): Added the PrintFederico Mena Quintero2000-06-031-2/+5
| | | | | | | | | | | | | | | | | | | | | | 2000-06-02 Federico Mena Quintero <federico@helixcode.com> * gui/calendar-commands.c (print): New function to call the print engine. (calendar_toolbar): Added the Print button. (calendar_control_activate): Added the File/Print item. * gui/e-day-view.c (e_day_view_get_selected_time_range): Allow start_time and end_time to be NULL. * gui/e-week-view.c (e_week_view_get_selected_time_range): Likewise. * gui/print.c (range_selector_new): Show the range selector widgets. Use the correct radio group for all of them! (print_calendar): Do the dialog box here. We may want to split this function later into smaller chunks. svn path=/trunk/; revision=3409
* Implemented. (gnome_calendar_add_object): Removed function, since it wasFederico Mena Quintero2000-06-021-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-06-02 Federico Mena Quintero <federico@helixcode.com> * gui/gnome-cal.c (save_ical_object_cb): Implemented. (gnome_calendar_add_object): Removed function, since it was identical to gnome_calendar_update_object(). Modified the rest of the code to use only the latter. (gnome_calendar_remove_object): Be more paranoid about the UID. (gnome_calendar_update_object): Ditto. Also, renamed this function from gnome_calendar_object_changed(), for consistency with the lower-level CalClient interface. * gui/event-editor.c (event_editor_class_init): New "save_ical_object" signal to ask that our parent store the calendar object to the backend. (save_ical_object): New function to save the calendar object, actually if just emits the signal. (file_save_cb): Implemented. (dialog_to_ical_object): We want priv-> alarm_program_run_program_entry (i.e. the entry inside the GnomeFileEntry), not the file entry itself. (dialog_to_ical_object): Only insert the recurrence ending date if the event is recurrent! svn path=/trunk/; revision=3380
* Added a hash table to map calendar objects to their respective eventFederico Mena Quintero2000-06-011-13/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-31 Federico Mena Quintero <federico@helixcode.com> * gui/gnome-cal.h (GnomeCalendar): Added a hash table to map calendar objects to their respective event editors. * gui/gnome-cal.c (gnome_calendar_init): Create the object_editor_hash. (gnome_calendar_destroy): Free the object_editor_hash. (gnome_calendar_edit_object): New function to centralize the launching of event editors; if one already exists for a particular calendar object, we just raise its window. (edit): Use gnome_calendar_edit_object(). * gui/calendar-commands.c (display_objedit): Use gnome_calendar_edit_object(). (display_objedit_today): Likewise. * gui/e-day-view.c (e_day_view_on_new_appointment): Likewise. (e_day_view_on_edit_appointment): Likewise. * gui/e-week-view.c (e_week_view_on_new_appointment): Likewise. (e_week_view_on_edit_appointment): Likewise. * gui/event-editor.c (event_editor_new): Do not take in an iCalObject; rather provide an event_editor_set_ical_object() function. We need this because a single editor may be switched between different calendar objects. Also, do not show the event editor; leave it up to the client code. (event_editor_construct): Likewise. (clear_widgets): New function to clear the widgets to default values. (fill_widgets): New function to fill in the widgets from the iCalObject. We don't do this in init_widgets() anymore. (free_exception_clist_data): New function to free the exceptions clist data. We were leaking the row data. (init_widgets): Hook to the destroy signal of the exceptions clist. (event_editor_set_ical_object): New function. Now it also makes a copy of the calendar object for the event editor; clients do not need to copy it anymore. (event_editor_destroy): Unref the UI handler as well. (event_editor_class_init): New "ical_object_released" signal to notify the parent that we are no longer editing the calendar object. (make_title_from_ico): Handle NULL objects. * gui/event-editor.h (EventEditor): Removed fields that are no longer used. svn path=/trunk/; revision=3317
* Flush - FedericoFederico Mena Quintero2000-05-301-4/+3
| | | | svn path=/trunk/; revision=3280
* new files to implement iCalendar recurrence rules. These are only partDamon Chaplin2000-05-201-19/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-20 Damon Chaplin <damon@helixcode.com> * cal-util/cal-recur.[hc]: new files to implement iCalendar recurrence rules. These are only part finished, but people may like to check that the architecture seems OK. 2000-05-17 Damon Chaplin <damon@helixcode.com> * gui/e-day-view.c (e_day_view_on_delete_occurrence): * gui/e-week-view.c (e_week_view_on_delete_occurrence): use a copy of the iCalObject so we detect the change in the "update_event" callback. Maybe we should just update the view ourselves and then we wouldn't need to detect any change in the callback. * cal-util/calobj.c (ical_object_reset_recurrence): new function to get rid of any recurrence rules. Used when we 'unrecur' an event. * gui/e-day-view.c (e_day_view_key_press): don't add a new event if it won't fit, or we end up adding a new event for each key press. (e_day_view_update_event_label): don't update it if it doesn't have an EText item (i.e. it isn't visible). * gui/e-day-view-time-item.c: allow selection of times using this column. svn path=/trunk/; revision=3144
* Removed unused arguments. Load the initial alarms here. (load_alarms): NewFederico Mena Quintero2000-05-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-11 Federico Mena Quintero <federico@helixcode.com> * gui/gnome-cal.c (gnome_calendar_update_all): Removed unused arguments. Load the initial alarms here. (load_alarms): New function to load a day's worth of alarms. (gnome_calendar_class_init): Eeeek! This was taking in an incorrect argument type. (gnome_calendar_init): Now the calendar keeps a hash table of UIDs->queued alarms. Create the hash table here. (gnome_calendar_destroy): Destroy the alarms hash table. (gnome_calendar_object_updated_cb): Remove the alarms for the object and regenerate them. (gnome_calendar_object_removed_cb): Remove the alarms for the object. * gui/alarm.c (alarm_add): Do not take in a CalendarAlarm, just the trigger time, the callback and the closure data. Return an opaque identifier for the alarm so that it can be removed by the client code if needed. Use the queue_alarm() helper function. (queue_alarm): Helper function to actually queue the alarm and set up the itimer. Deal with a nonzero return value from setitimer(). (alarm_remove): New function to remove an alarm based on its ID. (pop_alarm): New helper function; pops the first alarm of the queue and resets the timer as appropriate. (alarm_ready): Simplified a lot by using pop_alarm(). * idl/evolution-calendar.idl (Cal): Added get_alarms_in_range(). * pcs/cal.c (build_instance_seq): New function to build a CORBA sequence from the internal list of instances. (Cal_get_events_in_range): Use build_instance_seq(). (Cal_get_alarms_in_range): Implemented new method. * pcs/cal-backend.c (cal_backend_get_alarms_in_range): New function with the get_alarms_in_range() engine. * pcs/cal-backend-imc.c (cal_backend_imc_get_alarms_in_range): Implemented the get_alarms_in_range() method. * cal-client/cal-client.c (cal_client_get_alarms_in_range): New client-side function for getting the alarms. (build_instance_list): New helper function to build the CalObjInstance list from the CORBA sequence. (cal_client_get_events_in_range): Use build_instance_list(). * gui/calendar-commands.h: #include <cal-util/calobj.h>. #include "gnome-cal.h". * gui/e-week-view.c: #include "calendar-commands.h" instead of main.h; the latter is an obsolete file and will be killed. * gui/evolution-calendar-control.c (main): Call init_bonobo() before anything else. We need the GTK+ object system initialized. * gui/Makefile.am (evolution_calendar_SOURCES): Do not use main.h. * cal-util/cal-util.c (cal_alarm_instance_list_free): New function. svn path=/trunk/; revision=2987
* don't set the ico->uid to NULL or we won't find any other occurrences ofDamon Chaplin2000-05-091-5/+5
| | | | | | | | | | | | | | | | | 2000-05-08 Damon Chaplin <damon@helixcode.com> * gui/e-week-view.c (e_week_view_remove_event_cb): * gui/e-day-view.c (e_day_view_remove_event_cb): don't set the ico->uid to NULL or we won't find any other occurrences of the event. Set the editing_event_day/num to -1 instead. * gui/e-week-view-event-item.c (e_week_view_event_item_draw): fixed the positioning of the icons for long events. * cal-util/calobj.c (ical_object_normalize_summary): forgot to terminate the string. svn path=/trunk/; revision=2920
* finish editing event when user hits Return key.Damon Chaplin2000-05-071-32/+23
| | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-06 Damon Chaplin <damon@helixcode.com> * gui/e-day-view.c: * gui/e-week-view.c: finish editing event when user hits Return key. (e_week_view_on_text_item_event): stop event signals after doing any other calls, since otherwise it will also stop any other resulting event signals. * gui/e-week-view-event-item.c (e_week_view_event_item_draw): don't draw the start/end times while editing. * gui/eventedit.c: changed the Summary field to a GtkEntry, since we now only want a single line of text. * cal-util/calobj.c (ical_object_normalize_summary): new function to convert the summary field to a single line of text, by converting any sequence of CR & LF characters to a single space. (ical_object_create_from_vobject): call the above function. I think all functions that load iCalObjects go through this. (ical_new): called it here as well just in case. svn path=/trunk/; revision=2827
* added guint ref_count to iCalObject struct, and ical_object_ref/unref()Damon Chaplin2000-05-061-13/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-06 Damon Chaplin <damon@helixcode.com> * cal-util/calobj.[hc]: added guint ref_count to iCalObject struct, and ical_object_ref/unref() functions. I've updated all the gui/ stuff to use ref_counts but I haven't touched the pcs/ stuff. Maybe just using ical_object_destroy() is OK there. * gui/gncal-todo.c: * gui/calendar-commands.c: * gui/eventedit.c: * gui/e-week-view.c: * gui/e-day-view.c: use refcounting for iCalObjects. * gui/e-day-view-main-item.c: * gui/e-day-view-top-item.c: * gui/e-day-view.c: try not to ever draw outside the event, even when the event is very small. 2000-05-05 Damon Chaplin <damon@helixcode.com> * gui/e-day-view.c: don't allow recurring events to be resized or dragged, and don't show the resize/drag cursors. Actually it may be better to let the user do the resize/drag and then ask them what they want to do - change the single occurrence or the entire series. * gui/e-day-view-time-item.c (e_day_view_time_item_show_popup_menu): use e_auto_kill_popup_menu_on_hide() to destroy the popup menu. * gui/popup-menu.c: include e-gui-utils.h svn path=/trunk/; revision=2823
* for the long events pass E_DAY_VIEW_LONG_EVENT as the day. Fixes SEGV.Damon Chaplin2000-05-051-5/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-04 Damon Chaplin <damon@helixcode.com> * gui/e-day-view.c (e_day_view_foreach_event_with_uid): for the long events pass E_DAY_VIEW_LONG_EVENT as the day. Fixes SEGV. * gui/calendar-commands.c: when we switch views, grab the focus. * gui/gnome-cal.c (gnome_calendar_tag_calendar): (gnome_calendar_mark_gtk_calendar_day): changed this so it uses cal_client_get_events_in_range(), and doesn't load any objects. Also just return if it isn't visible. * gui/calendar-commands.c (calendar_get_events_in_range): call g_list_sort() to sort the list rather than g_list_insert_sorted() for each element. It is much more efficient. Also changed it so that the co->ev_start/end fields are copied from the CalObjInstance rather than the parameters to the function (that is right, isn't it?) Also freed the list elements, and finally the list. (calendar_iterate): changed this to use cal_client_get_events_in_range since that is more efficient than getting all the uids and then loading and parsing all the events. * pcs/cal-backend.c (save): output the '... saved' message before freeing the string! * gui/gncal-todo.c (gncal_todo_update): * gui/e-week-view.c (e_week_view_update_event): * gui/e-day-view.c (e_day_view_update_event): * gui/calendar-commands.c (calendar_get_events_in_range): (calendar_iterate): free obj_string after it is parsed. svn path=/trunk/; revision=2802
* set the active radio button here. Oops - it wasn't a Bonobo problem afterDamon Chaplin2000-05-031-16/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-02 Damon Chaplin <damon@helixcode.com> * gui/calendar-commands.c (calendar_control_activate): set the active radio button here. Oops - it wasn't a Bonobo problem after all. * gui/popup-menu.c (popup_menu): added call to e_auto_kill_popup_menu_on_hide() to destroy the menu. * gui/e-week-view.c (e_week_view_show_popup_menu): * gui/e-day-view.c (e_day_view_on_event_right_click): ico->user_data isn't useful any more, since the event editor keeps its own iCalObject. So for now we make the menu commands available even when the event is being edited in the event editor. Also corrected misspellings of 'occurance' -> 'occurrence'. * gui/eventedit.c (event_editor_destroy): destroy the iCalObject. The event editor now uses its own independent iCalObject. * gui/e-week-view.c (e_week_view_on_unrecur_appointment): * gui/e-day-view.c (e_day_view_on_unrecur_appointment): create a new uid for the new single instance. I'm not sure what we should do about the creation/last modification times of the objects. * gui/e-week-view.c (e_week_view_on_edit_appointment): * gui/e-day-view.c (e_day_view_on_edit_appointment): duplicate the iCalObject before passing it to the event editor, since it will change the fields. If we don't duplicate it we won't know what has changed when we get the "update_event" callback. * gui/e-week-view.c (e_week_view_key_press): * gui/e-day-view.c (e_day_view_key_press): set the created and last_mod times of the new iCalObject. We may want to set the default alarm as well. * cal-util/calobj.c (ical_gen_uid): made this function public so we can generate new uids if necessary. svn path=/trunk/; revision=2759
* new function to get the currently seleted time range form the currentDamon Chaplin2000-05-011-0/+23
| | | | | | | | | | | | | | | | | | | 2000-05-01 Damon Chaplin <damon@helixcode.com> * gui/gnome-cal.[hc] (gnome_calendar_get_current_time_range): new function to get the currently seleted time range form the current view. * gui/calendar-commands.c (display_objedit): use the above function to get the time for the new appointment. * gui/e-week-view.c: * gui/e-day-view.c: use a shallow copy of the ico when we update the times (when resizing/dragging). Otherwise we won't detect that the time has changed in the "update_event" callback. Also added functions to get the currently selected time range. svn path=/trunk/; revision=2712
* new function to see if the event dates have changed (including anyDamon Chaplin2000-05-011-78/+453
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-01 Damon Chaplin <damon@helixcode.com> * cal-util/calobj.c (ical_object_compare_dates): new function to see if the event dates have changed (including any recurrence rules). It is used for optimization when we get the "object_changed" signal. We have to do far less work if the dates are unchanged. * gui/e-week-view.c: * gui/e-day-view.c: only draw the selection when we have the keyboard focus, since the user expects to be able to type in a new event when the selection is shown. Also keep the selection when we lose focus, but just don't show it. Also quite a few changes to cope with the new client/server architecture. * gui/e-day-view-top-item.c (e_day_view_top_item_draw): * gui/e-day-view-main-item.c (e_day_view_main_item_draw): * gui/e-week-view-main-item.c (e_week_view_main_item_draw_day): only draw the selection if the widget has the keyboard focus. * gui/gnome-cal.c (mark_gtk_calendar_day): fixed so it works with events longer than one day. And changed the code for updating events in the new views. svn path=/trunk/; revision=2701
* allow for null icoSeth Alves2000-04-261-1/+1
| | | | | | | | * gui/e-day-view.c (e_day_view_update_event): allow for null ico * gui/e-week-view.c (e_week_view_update_event): allow for null ico svn path=/trunk/; revision=2605
* added new source files and pixmaps, and removed old source files, whichDamon Chaplin2000-04-241-0/+2265
2000-04-24 Damon Chaplin <damon@helixcode.com> * gui/Makefile.am: added new source files and pixmaps, and removed old source files, which can be deleted. * gui/e-week-view-titles-item.[hc]: * gui/e-week-view-main-item.[hc]: * gui/e-week-view-event-item.[hc]: * gui/e-week-view.[hc]: new files implementing the week/month views. * gui/yearview.xpm: * gui/monthview.xpm: * gui/weekview.xpm: * gui/workweekview.xpm: * gui/dayview.xpm: new pixmaps for the toolbar buttons. These aren't intended to be the final pixmaps. * gui/calendar-commands.c: added radio buttons to the toolbar to switch between the calendar views, and moved the am_pm_flag here so we can get rid of view-utils.c. * gui/gnome-cal.[hc]: made it a subclass of GtkVBox, rearranged the widgets into 2 notebooks, and added the selection_start_time and selection_end_time fields. * gui/goto.c: updated to use new selection time range. * gui/quick-view.c: added '#include <gtk/gtkwindow.h>' so it compiles. * gui/e-day-view.[hc]: changed the interface to support the new selection time range, got rid of a few debugging messages and changed a few bits. svn path=/trunk/; revision=2583