aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-day-view.c
Commit message (Collapse)AuthorAgeFilesLines
...
* remove protoJP Rosevear2004-02-271-0/+2
| | | | | | | | | | | | | | | 2004-02-27 JP Rosevear <jpr@ximian.com> * gui/gnome-cal.h: remove proto * gui/gnome-cal.c (set_query): rename from gnome_calendar_set_query and make static * gui/e-day-view.h: remove proto for dead function * gui/e-day-view.c: guard config.h include svn path=/trunk/; revision=24909
* Convert the calendar_config_get_timezone andJP Rosevear2004-02-061-6/+4
| | | | | | | | | | | 2004-02-05 JP Rosevear <jpr@ximian.com> * Convert the calendar_config_get_timezone and icaltimezone_get_builtin_timezone pair to just calendar_config_get_icaltimezone, this also guarantees we will have some timezone (even if its just UTC) svn path=/trunk/; revision=24642
* Fixes #52970Rodrigo Moya2004-02-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | 2004-02-04 Rodrigo Moya <rodrigo@ximian.com> Fixes #52970 * idl/evolution-calendar.idl: added back the AlarmNotify interface. * gui/alarm-notify/GNOME_Evolution_Calendar_AlarmNotify.server.in.in: changed to have the AlarmNotify component be created via a factory. * gui/alarm-notify/alarm-notify.[ch]: converted to implement the AlarmNotify interface. * gui/alarm-notify/notify-main.c (main): register the factory with bonobo_generic_factory_new, not the object itself. Removed redundant call to bonobo_object_unref. Call e_passwords_shutdown on exit. * gui/alarm-notify/config-data.c (config_data_get_calendars_to_load): get only the selected calendars/task lists. svn path=/trunk/; revision=24613
* fixes #23281, some refactoring and list view get_selected_time_rangeRadek Doulik2004-01-151-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | implementation 2004-01-15 Radek Doulik <rodo@ximian.com> * gui/calendar-component.c (impl_requestCreateItem): merge with JP's changes 2004-01-14 Radek Doulik <rodo@ximian.com> * gui/e-cal-list-view.c (e_cal_list_view_get_selected_time_range): new implementation, use time range from selected event * gui/e-cal-view.c (e_calendar_view_get_selected_time_range): return gboolean, TRUE if requested time was set, FALSE otherwise (e_calendar_view_new_appointment_full): use current time if time range is unavailable * gui/calendar-component.c (impl_requestCreateItem): use e_calendar_view_new_appointment_full instead of cal_comp_event_new_with_current_time * gui/e-cal-view.c (e_calendar_view_new_appointment_full): new helper function * gui/comp-editor-factory.c (edit_new): use cal_comp_event_new_with_current_time * gui/calendar-component.c (impl_requestCreateItem): use cal_comp_event_new_with_current_time * gui/comp-util.c (cal_comp_event_new_with_current_time): new function, cut'n'pasted from get_default_event (calendar-component.c and comp-editor-factory.c) svn path=/trunk/; revision=24238
* added missing headers.Rodrigo Moya2004-01-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-01-10 Rodrigo Moya <rodrigo@ximian.com> * gui/alarm-notify/notify-main.c: added missing headers. * gui/alarm-notify/alarm-notify.c (alarm_notify_remove_calendar): use the correct variable when calling alarm_queue_remove_client(). * gui/calendar-component.c (impl_upgradeFromVersion): removed redundant variable declarations. * gui/migration.c (process_old_dir): * gui/e-timezone-entry.c (e_timezone_entry_mnemonic_activate): * gui/e-date-time-list.c (e_date_time_list_finalize): * gui/e-alarm-list.c (e_alarm_list_finalize): fixed warnings. * gui/e-calendar-table.c: added missing prototypes at the top to avoid warnings. * gui/e-week-view.c (e_week_view_scroll_a_step): * gui/e-day-view.c (e_day_view_event_move): directly return in the default: case. * gui/e-tasks.c (setup_widgets): connect to changes on the model. (model_row_changed_cb): callback to update the HTML detailed view when the currently selected task changes. (client_obj_updated_cb): removed unused function. (set_status_message): changed to accept a variable list of arguments. (e_tasks_add_todo_uri): display status messages and get error message from backend and display it in a dialog. (cal_opened_cb, load_error, method_error, permission_error): removed unused functions. * gui/gnome-cal.c (open_ecal): added a GnomeCalendar argument, and display status messages. (gnome_calendar_construct, gnome_calendar_add_event_source): adapted to changes in open_ecal(). svn path=/trunk/; revision=24147
* add a new signal "event_move" and its key binding.Andrew Wu2004-01-091-38/+159
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-01-09 Andrew Wu <Yang.Wu@sun.com> * gui/e-cal-view.c (e_calendar_view_class_init): add a new signal "event_move" and its key binding. * gui/e-cal-view.h: add a new type "ECalViewMoveDirection". add a new virtual method "event_move" for ECalView. * gui/e-day-view.c (e_day_view_event_move), (e_day_view_change_event_time): Use "Alt + Arrow" to move a selected event through time lines or different days. * gui/e-day-view.h: add a new property "last_edited_comp_string" for EWeekView. * gui/e-week-view.c (e_week_view_class_init), (e_week_view_init), (e_week_view_reshape_events), (e_week_view_event_move), (e_week_view_get_day_offset_of_event), (e_week_view_scroll_a_step), (e_week_view_change_event_time), (e_week_view_do_key_press), (e_week_view_move_selection_day), (e_week_view_get_adjust_days_for_move_up), (e_week_view_get_adjust_days_for_move_down), (e_week_view_get_adjust_days_for_move_left), (e_week_view_get_adjust_days_for_move_right): Use "Alt + Arrow" to move a selected event through different days. * gui/e-week-view.h: add a new property "last_edited_comp_string" for EWeekView. svn path=/trunk/; revision=24128
* add a menu item for "open appointment".Kidd Wang2003-12-291-1/+4
| | | | | | | | | | | | | | | | 2003-12-29 Kidd Wang <kidd.wang@sun.com> * gui/calendar-commands.c (file_open_event_cb): add a menu item for "open appointment". * gui/e-cal-view.[ch] (e_calendar_view_open_event): add a signal "open_event" and bind it to "ctrl+o". When the signal is delivered, a dialog will be opened to edit the selected event. * gui/e-calendar-table.c (e_calendar_table_on_key_press): press "ctrl-o" to open a dialog. svn path=/trunk/; revision=24012
* remove setting property of "handle_popup". remove setting property ofBolian Yin2003-12-091-2/+0
| | | | | | | | | 2003-12-08 Bolian Yin <bolian.yin@sun.com> * gui/e-day-view.c (e_day_view_on_editing_started): remove setting property of "handle_popup". * gui/e-week-view.c (e_week_view_on_editing_started): remove setting property of "handle_popup". svn path=/trunk/; revision=23677
* Various changes to merge in evolution-data-server reliance.JP Rosevear2003-11-071-271/+271
| | | | svn path=/trunk/; revision=23206
* add new signal "selected_time_changed" a11y initialization new publicBolian Yin2003-11-041-6/+6
| | | | | | | | | | | | | | 2003-11-04 Bolian Yin <bolian.yin@sun.com> * gui/e-cal-view.c: add new signal "selected_time_changed" * gui/e-day-view-main-item.c (e_day_view_main_item_class_init): a11y initialization * gui/e-day-view-top-item (e_day_view_top_item_get_day_label): new public function. * gui/e-day-view.c (e_day_view_ensure_rows_visible, e_day_view_update_calendar_selection_time): make static functions public (e_day_view_cursor_key_up, e_day_view_cursor_key_down, e_day_view_cursor_key_left, e_day_view_cursor_key_right): emit "selected_time_changed". svn path=/trunk/; revision=23179
* Add CAL_STATIC_CAPABILITY_NO_THISANDFUTURE andDan Winship2003-11-011-11/+13
| | | | | | | | | | | | | | | | | | | | | | | | * cal-util/cal-util.h: Add CAL_STATIC_CAPABILITY_NO_THISANDFUTURE and CAL_STATIC_CAPABILITY_NO_THISANDPRIOR * gui/dialogs/recur-comp.c (recur_component_dialog): Add a CalClient argument. Use cal_client_get_static_capability to decide whether or not to offer THISANDFUTURE and THISANDPRIOR options * gui/dialogs/comp-editor.c (prompt_to_save_changes, save_cmd, save_close_cmd): Pass a CalClient to recur_component_dialog. * gui/e-day-view.c (e_day_view_finish_long_event_resize, e_day_view_finish_resize, e_day_view_on_editing_stopped, e_day_view_on_top_canvas_drag_data_received, e_day_view_on_main_canvas_drag_data_received): Likewise * gui/e-week-view.c (e_week_view_on_editing_stopped): Likewise * gui/calendar-component.c (impl_createControls): set an exception if we fail, so evo won't crash. svn path=/trunk/; revision=23152
* fixed typo in menu item label.Rodrigo Moya2003-10-291-37/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-10-29 Rodrigo Moya <rodrigo@ximian.com> * gui/calendar-component.c (fill_popup_menu_callback): fixed typo in menu item label. * gui/e-cal-model.[ch] (e_cal_model_get_use_24_hour_format): new function. * gui/e-cal-view.[ch]: no need to keep the 'use_24_hour' setting, it's already in the model. (e_cal_view_get_use_24_hour_format, e_cal_view_set_use_24_hour_format): new functions. * gui/e-day-view.[ch] (e_day_view_get_24_hour_format, (e_day_view_set_24_hour_format): removed. (e_day_view_convert_time_to_display, e_day_view_update_event_label, e_day_view_get_time_string_width): use the ECalView's function to get the 24 hour format. * gui/e-week-view.[ch] (e_week_view_get_24_hour_format, e_week_view_set_24_hour_format): removed. (e_week_view_convert_time_to_display, e_week_view_get_time_string_width): use the ECalView's function to get the 24 hour format. * gui/e-day-view-top-item.c (e_day_view_top_item_draw_long_event): * gui/e-day-view-time-item.c (e_day_view_time_item_draw): * gui/e-week-view-event-item.c (e_week_view_draw_time): don't use the view's use_24_hour_format, but the ECalView method. svn path=/trunk/; revision=23113
* accept also text/calendar for D&D.Rodrigo Moya2003-10-241-1/+2
| | | | | | | | 2003-10-23 Rodrigo Moya <rodrigo@ximian.com> * gui/e-day-view.c: accept also text/calendar for D&D. svn path=/trunk/; revision=23046
* fix typo (e_day_view_on_main_canvas_drag_data_received): fix C99 issue,JP Rosevear2003-10-241-3/+3
| | | | | | | | | | | 003-10-23 JP Rosevear <jpr@ximian.com> * gui/e-day-view.c (e_day_view_on_top_canvas_drag_data_received): fix typo (e_day_view_on_main_canvas_drag_data_received): fix C99 issue, fix typo svn path=/trunk/; revision=23044
* remove and free op before return.Harry Lu2003-10-241-26/+152
| | | | | | | | | | | | | | | | | | | | | | 2003-10-23 Harry Lu <harry.lu@sun.com> * cal-client/cal-client.c: (cal_client_get_timezone): remove and free op before return. * gui/e-cal-view.c (e_cal_view_add_event): modified from selection_received_add_event() so that it call be called out of e-cal-view.c. (selection_received): modified to call e_cal_view_add_event(). * gui/e-cal-view.h: add declaration for e_cal_view_add_event(). * gui/e-day-view.c (e_day_view_on_drag_data_get): Provide a icalcomponent for both TARGET_CALENDAR_EVENT and TARGET_VCALENDAR. (e_day_view_on_top_canvas_drag_data_received): If dragging between different windows, make it works like a copy and paste. (e_day_view_on_main_canvas_drag_data_received): ditto. svn path=/trunk/; revision=23041
* guard against irrelevant args (ie if there was an error)JP Rosevear2003-10-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-10-23 JP Rosevear <jpr@ximian.com> * pcs/cal.c (cal_notify_object_modified): guard against irrelevant args (ie if there was an error) (cal_notify_object_removed): ditto (cal_notify_timezone_added): ditto * pcs/cal-backend-sync.c (_cal_backend_is_read_only): init value to something known (_cal_backend_get_cal_address): ditto (_cal_backend_get_alarm_email_address): ditto (_cal_backend_get_ldap_attribute): ditto (_cal_backend_get_static_capabilities): ditto (_cal_backend_modify_object): ditto (_cal_backend_remove_object): ditto (_cal_backend_get_object_list): ditto 2003-10-22 JP Rosevear <jpr@ximian.com> * gui/e-cal-list-view.c (e_cal_list_view_new): create a model and pass it as an arg during creation * gui/e-day-view.c (e_day_view_new): unref the model * gui/e-week-view.c (e_week_view_new): ditto 2003-10-22 JP Rosevear <jpr@ximian.com> * cal-client/cal-client.c (cal_client_get_object): only change to invalid object error code if we got the object but couldn't parse it, and only check for timezones if we had success * gui/comp-util.c (cal_comp_is_on_server): don't throw a warning if the object simply does not exist svn path=/trunk/; revision=23032
* Merge new-ui-branch to the trunk.Ettore Perazzoli2003-10-221-228/+124
| | | | svn path=/trunk/; revision=22965
* Use "ctrl+shift+alt+Up/Down" to change the end time of the editing event.Andrew Wu2003-09-011-0/+84
| | | | | | | | | | 2003-09-01 Andrew Wu <Yang.Wu@sun.com> * gui/e-day-view.c: (e_day_view_change_event_end_time_up): (e_day_view_change_event_end_time_down): Use "ctrl+shift+alt+Up/Down" to change the end time of the editing event. svn path=/trunk/; revision=22428
* Merged from calendar-views-with-model branchRodrigo Moya2003-08-201-421/+280
| | | | svn path=/trunk/; revision=22308
* Add a11y dependency. gui/calendar-commands.cBolian Yin2003-08-201-8/+18
| | | | | | | | | | | | | | | | | | | | | | | 2003-08-20 Bolian Yin <bolian.yin@sun.com> * gui/Makefile.am : Add a11y dependency. * gui/calendar-commands.c (calendar_get_text_for_folder_bar_label) * gui/e-cal-view.c: Add two new events: "event_changed" and "event_added" * gui/e-day-view.c (e_day_view_class_init): init a11y. (e_day_view_find_event_from_item): make it public from private (e_day_view_update_event_cb): emit "event_changed" signal (e_day_view_reshape_day_event): emit "event_added" signal (e_day_view_reshape_long_event): emit "event_added" signal * gui/e-week-view.c (e_week_view_class_init): init a11y. (e_week_view_find_event_from_item): make it public from private (e_week_view_update_event_cb): emit "event_changed" signal (e_week_view_reshape_event_span): emit "event_added" signal * gui/gnome-cal.c (gnome_calendar_class_init): init a11y. (gnome_calendar_get_e_calendar_widget), (gnome_calendar_get_search_bar_widget), (gnome_calendar_get_view_notebook_widget): new functions svn path=/trunk/; revision=22303
* In DayView, Shift+Home, Change the duration to the time that begins theAndrew Wu2003-08-131-0/+93
| | | | | | | | | | | | | | 2003-08-12 Andrew Wu <Yang.Wu@sun.com> * gui/e-day-view.c (e_day_view_change_duration_to_start_of_work_day): In DayView, Shift+Home, Change the duration to the time that begins the current work day. (e_day_view_change_duration_to_end_of_work_day): In DayView, Shift+End, Change the duration to the time that ends the current work day svn path=/trunk/; revision=22202
* Merged ECalendarTable changes from new-calendar-branchRodrigo Moya2003-08-081-1/+1
| | | | svn path=/trunk/; revision=22143
* Merge new-calendar-branch into HEADRodrigo Moya2003-08-081-3/+11
| | | | svn path=/trunk/; revision=22129
* Fixes #46847Bolian Yin2003-07-291-39/+100
| | | | | | | | | | | | | | | | | | | 2003-07-29 Bolian Yin <bolian.yin@sun.com> Fixes #46847 * gui/e-day-view.c (e_day_view_get_next_tab_event, e_day_view_focus): add day view widget in the tab loop of events. * gui/e-week-view.c (e_week_view_get_next_tab_event, e_week_view_focus): add week view widget in the tab loop of events. Also: add some comments in gui/e-day-view.c and gui/e-week-view.c remove two compile warnings in gui/e-day-view.c svn path=/trunk/; revision=22002
* new function. (e_cal_view_get_timezone, e_cal_view_set_timezone): newRodrigo Moya2003-07-251-127/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-07-24 Rodrigo Moya <rodrigo@ximian.com> * gui/e-cal-view.[ch] (e_cal_view_delete_selected_occurrence): new function. (e_cal_view_get_timezone, e_cal_view_set_timezone): new functions. (e_cal_view_class_init): added new class' signal. * gui/e-week-view.[ch] (e_week_view_delete_occurrence, e_week_view_delete_occurrence_internal): removed. (e_week_view_get_timezone): removed. (e_week_view_set_timezone): renamed to timezone_changed_cb, as the callback for timezone changes in the parent ECalView. (e_week_view_on_button_press): call gnome_calendar_new_appointment instead of the non-existant e_week_view_new_appointment. * gui/e-day-view.[ch] (e_day_view_delete_occurrence, e_day_view_delete_occurrence_internal): removed. (e_day_view_get_timezone): removed. (e_day_view_set_timezone): renamed to timezone_changed_cb, as the callback for timezone changes in the parent ECalView. * gui/gnome-cal.c (gnome_calendar_delete_selected_occurrence): made it call e_cal_view_delete_selected_occurrence. (gnome_calendar_update_config_settings): call the generic e_cal_view_set_timezone on all view widgets. * gui/e-day-view-top-item.c: * gui/e-week-view-main-item.c: * gui/e-day-view-main-item.c: removed mentions to non-existant structure fields. svn path=/trunk/; revision=21948
* define ECalViewEvent as the base struct for the other views.Rodrigo Moya2003-07-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | 2003-07-24 Rodrigo Moya <rodrigo@ximian.com> * gui/e-cal-view.h: define ECalViewEvent as the base struct for the other views. * gui/e-day-view.[ch]: EDayViewEvent is now based on ECalViewEvent. (e_day_view_get_selected_events): made it return a list of ECalViewEvent's, not CalComponent's, so that we can get more information about the events. * gui/e-week-view.[ch]: EWeekViewEvent is now based on ECalViewEvent. (e_week_view_get_selected_events): same as e_day_view_get_selected_events. * gui/e-cal-view.c (e_cal_view_cut_clipboard, e_cal_view_copy_clipboard, e_cal_view_delete_selected_event, e_cal_view_delete_selected_events, on_edit_appointment, on_save_as, on_print_event, on_meeting, on_forward, e_cal_view_create_popup_menu): * gui/calendar-commands.c (sensitize_calendar_commands): updated to read ECalViewEvent's instead of CalComponent's as returned by e_cal_view_get_selected_events(). svn path=/trunk/; revision=21946
* removed.Rodrigo Moya2003-07-241-109/+87
| | | | | | | | | | | | | | | | | | | | | | | | 2003-07-24 Rodrigo Moya <rodrigo@ximian.com> * gui/e-day-view.c (e_day_view_delete_event, e_day_view_delete_event_internal): * gui/e-week-view.c (e_week_view_delete_event, e_week_view_delete_event_internal): removed. * gui/e-cal-view.[ch] (e_cal_view_delete_selected_event): renamed from e_cal_view_delete_event_internal. (e_cal_view_delete_selected_events): new function. * gui/gnome-cal.c (gnome_calendar_delete_selection): call e_cal_view_delete_selected_events(). * gui/e-week-view-event-item.c (e_week_view_event_item_get_position, e_week_view_event_item_button_press): * 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): adapted to changes in E*ViewPosition. svn path=/trunk/; revision=21943
* moved the duplicated popup menu code here. (e_cal_view_create_popup_menu):Rodrigo Moya2003-07-231-588/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-07-23 Rodrigo Moya <rodrigo@ximian.com> * gui/e-cal-view.[ch]: moved the duplicated popup menu code here. (e_cal_view_create_popup_menu): new function to create the popup menu for all views. (on_new_appointment, on_new_event, on_new_meeting, on_new_task, on_goto_today, on_goto_date, on_edit_appointment, on_print, on_save_as, on_print_event, on_meeting, on_forward, on_publish, on_settings, on_delete_appointment, on_cut, on_copy, on_paste, on_unrecur_appointment): callbacks for the popup menu items. * gui/e-week-view.c (e_week_view_on_new_appointment, e_week_view_new_appointment, e_week_view_on_new_event, e_week_view_on_new_meeting, e_week_view_on_new_task, e_week_view_on_goto_today, e_week_view_on_goto_date, e_week_view_on_edit_appointment, e_week_view_on_print, e_week_view_on_save_as, e_week_view_on_print_event, e_week_view_on_meeting, e_week_view_on_forward, e_week_view_on_publish, e_week_view_on_settings, e_week_view_on_delete_appointment, e_week_view_delete_event_internal, e_week_view_on_cut, e_week_view_on_copy, e_week_view_on_paste): * gui/e-day-view.c (e_day_view_on_new_appointment, e_day_view_on_new_event, e_day_view_on_new_meeting, e_day_view_on_new_task, e_day_view_on_goto_today, e_day_view_on_goto_date, e_day_view_on_edit_appointment, e_day_view_on_print, e_day_view_on_save_as, e_day_view_on_print_event, e_day_view_on_meeting, e_day_view_on_forward, e_day_view_on_publish, e_day_view_on_settings, e_day_view_on_delete_appointment, e_day_view_delete_event_internal, e_day_view_on_cut, e_day_view_on_copy, e_day_view_on_paste): removed duplicated code. * gui/gnome-cal.[ch] (gnome_calendar_unrecur_selection): new function. svn path=/trunk/; revision=21908
* removed unneeded prototypes.Rodrigo Moya2003-07-231-17/+17
| | | | | | | | | | | | | | | | | | | | | | 2003-07-23 Rodrigo Moya <rodrigo@ximian.com> * gui/e-day-view.h: * gui/e-week-view.h: removed unneeded prototypes. * gui/e-cal-view.[ch] (e_cal_view_get_visible_time_range): new function. (selection_received): deal correctly with the selected time range. * gui/e-week-view.c (e_week_view_get_visible_time_range): made it private as the implementation of the 'get_visible_time_range' virtual method. * gui/e-day-view.c (e_day_view_get_visible_time_range): ditto. * gui/gnome-cal.c (gnome_calendar_direction): merged redundant 'case'. (focus_current_view): removed redundant code. svn path=/trunk/; revision=21897
* manage the case where the selected events are the popup menu ones.Rodrigo Moya2003-07-231-10/+20
| | | | | | | | | | 2003-07-22 Rodrigo Moya <rodrigo@ximian.com> * gui/e-day-view.c (e_day_view_get_selected_events): * gui/e-week-view.c (e_week_view_get_selected_events): manage the case where the selected events are the popup menu ones. svn path=/trunk/; revision=21895
* added "get_selected_events", and "update_query" virtual methods.Rodrigo Moya2003-07-231-536/+190
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-07-22 Rodrigo Moya <rodrigo@ximian.com> * gui/e-cal-view.[ch]: added "get_selected_events", and "update_query" virtual methods. (e_cal_view_class_init): initialize new virtual methods. (e_cal_view_destroy): destroy new private members. (e_cal_view_get_selected_events, e_cal_view_set_cal_client, e_cal_view_get_cal_client): new functions. (e_cal_view_cut_clipboard, e_cal_view_copy_clipboard, e_cal_view_paste_clipboard): merged clipboard stuff. * gui/e-day-view.c (e_day_view_cut_clipboard, e_day_view_copy_clipboard, e_day_view_paste_clipboard): removed. (e_day_view_get_selected_events): made these private as the implementation of the 'get_selected_events' base class virtual method. * gui/e-week-view.c (e_week_view_get_selected_events): ditto. (e_week_view_cut_clipboard, e_week_view_copy_clipboard, e_week_view_paste_clipboard): removed. * gui/calendar-commands.c (sensitize_calendar_commands): call e_cal_view_get_selected_events. * gui/gnome-cal.c: removed a lot of redundant code thanks to the above changes. svn path=/trunk/; revision=21893
* removed e_day_view_set_calendar prototype.Rodrigo Moya2003-07-221-48/+7
| | | | | | | | | | | | | | | | 2003-07-21 Rodrigo Moya <rodrigo@ximian.com> * gui/e-day-view.[ch]: removed e_day_view_set_calendar prototype. (e_day_view_set_status_message): removed. * gui/e-week-view.[ch] (e_week_view_set_status_message): removed. * gui/e-cal-view.[ch] (e_cal_view_set_status_message): new functions. (e_cal_view_destroy): unref activity client. * gui/gnome-cal.c: updated to e_*_view/e_cal_view. svn path=/trunk/; revision=21890
* moved duplicated code to...Rodrigo Moya2003-07-181-61/+37
| | | | | | | | | | | | | | | 2003-07-18 Rodrigo Moya <rodrigo@ximian.com> * gui/e-day-view.[ch]: * gui/e-week-view.[ch]: moved duplicated code to... * gui/e-cal-view.[ch]: ...here. (e_cal_view_get_calendar, e_cal_view_set_calendar): new functions. * gui/e-week-view-event-item.c (e_week_event_item_double_click): * gui/gnome-cal.c (setup_widgets): adapted to changes in views. svn path=/trunk/; revision=21865
* new base class for calendar views.Rodrigo Moya2003-07-171-1/+1
| | | | | | | | | | | | | 2003-07-17 Rodrigo Moya <rodrigo@ximian.com> * gui/e-cal-view.[ch]: new base class for calendar views. * gui/e-day-view.[ch]: * gui/e-week-view.[ch]: base these classes on ECalView. * gui/Makefile.am: added new files. svn path=/trunk/; revision=21854
* Fixes #45774Andrew Wu2003-07-161-0/+67
| | | | | | | | | | | | | 2003-07-16 Andrew Wu <Yang.Wu@sun.com> Fixes #45774 * gui/e-day-view.c (e_day_view_goto_start_of_work_day): implemented select the time that begins a work day. (e_day_view_goto_end_of_work_day): implemented select the time that ends a work day. svn path=/trunk/; revision=21839
* Fixes #45328, #45329Bolian Yin2003-07-021-1/+3
| | | | | | | | | | | | | | | | | 2003-06-30 Bolian Yin <bolian.yin@sun.com> Fixes #45328, #45329 * gui/e-day-view.c (e_day_view_do_key_press): Do not process PageUp/PageDown, .. when the Alt key is pressed (give key binding set the chance). * gui/gnome-cal.h : define new enum type, GNOME_CAL_GOTO_DATE_TYPE. * gui/gnome-cal.c (gnome_calendar_class_init): define new signal "goto_date". Add key bindings for "Alt+PageUp/PageDown", "Alt+Home/End". (gnome_calendar_goto_date): Impl. signal handler for "goto_date". svn path=/trunk/; revision=21717
* added a GtkWindow argument for callers to specify the parent window.Rodrigo Moya2003-06-301-13/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-06-27 Rodrigo Moya <rodrigo@ximian.com> * gui/dialogs/send-comp.[ch] (send_component_dialog): * gui/dialogs/cancel-comp.[ch] (cancel_component_dialog): added a GtkWindow argument for callers to specify the parent window. * gui/dialogs/changed-comp.[ch] (changed_component_dialog): added 'parent' argument and use GtkMessageDialog instead of gnome_question_dialog. * gui/e-calendar-table.c (e_calendar_table_delete_selected): * gui/e-day-view.c (e_day_view_delete_event_internal, e_day_view_on_cut, e_day_view_finish_long_event_resize, e_day_view_finish_resize, e_day_view_on_editting_stopped, e_day_view_on_top_canvas_drag_data_received, selection_received): * gui/e-week-view.c (e_week_view_delete_event_internal, e_week_view_on_cut, e_week_view_on_editing_stopped, selection_received): * gui/dialogs/event-editor.c (cancel_meeting_cmd): * gui/dialogs/task-editor.c (cancel_task_cmd): * gui/dialogs/comp-editor.c (delete_cmd, obj_removed_cb): pass the parent window to the *_component_dialog() functions. * gui/dialogs/delete-comp.c (delete_component_dialog): use the 'widget' argument to get the parent window for the dialog. svn path=/trunk/; revision=21684
* Fixes #45276Bolian Yin2003-06-301-0/+2
| | | | | | | | | | | | | 2003-06-26 Bolian Yin <bolian.yin@sun.com> Fixes #45276 * gui/e-day-view.c (e_day_view_on_text_item_event): set focus to dayview when editing is canceled. * gui/e-week-view.c (e_week_view_on_text_item_event): set focus to weekview when editing is canceled svn path=/trunk/; revision=21682
* 2003-06-25 Bolian Yin <bolian.yin@sun.comRodrigo Moya2003-06-251-4/+232
| | | | | | | | Fixes #45273 * gui/e-day-view.c: implemented tabbing though events in day view. svn path=/trunk/; revision=21535
* Fixes #44682, Shift+F10 to active popup menu on day/week viewBolian Yin2003-06-191-11/+50
| | | | | | | | | | | | | | | | | | 2003-06-10 Bolian Yin <bolian.yin@sun.com> Fixes #44682, Shift+F10 to active popup menu on day/week view * gui/e-day-view.c (e_day_view_key_press, e_day_view_do_key_press): When the key press is not handled, give keybindings the chance. (e_day_view_popup_menu, e_day_view_show_popup_menu, e_day_view_on_event_right_click ): popup menu will be activated from both keyboard and mouse. * gui/e-week-view.c (e_week_view_key_press, e_week_view_do_key_press): When the key press is not handled, give keybindings the chance. (e_week_view_popup_menu): popup menu can be activated from keyboard svn path=/trunk/; revision=21473
* Fixes #43763Rodrigo Moya2003-06-021-2/+2
| | | | | | | | | | | | | | | | | 2003-05-29 Rodrigo Moya <rodrigo@ximian.com> Fixes #43763 * gui/e-week-view.c (e_week_view_init): use g_signal_connect_after for "button_press_event" callback. * gui/e-day-view.c (e_day_view_init): ditto. 2003-05-29 JP Rosevear <jpr@ximian.com> Fixes #43775 svn path=/trunk/; revision=21362
* Fixes #43775JP Rosevear2003-05-311-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-05-29 JP Rosevear <jpr@ximian.com> Fixes #43775 * gui/weekday-picker.c (get_day_text): calculate the characters to display correctly (configure_items): use it (weekday_picker_style_set): ditto * gui/print.c (format_date): use e_utf8_strftime (print_week_view_background): ditto (print_month_summary): ditto (range_selector_new): ditto (print_comp_item): ditto * gui/itip-utils.c (comp_description): the translation is already utf8 * gui/e-itip-control.c (write_label_piece): the string is already in utf8 * gui/e-day-view.c (e_day_view_style_set): use e_utf8_strftime (e_day_view_recalc_cell_sizes): ditto * gui/e-day-view-top-item.c (e_day_view_top_item_draw): use e_utf8_strftime * gui/e-cell-date-edit-text.c (ecd_get_text): return the duplicated buffer (its already utf8) (show_date_warning): use e_utf8_strftime * gui/calendar-model.c (date_value_to_string): return the duplicated buffer (its already utf8) (calendar_model_value_to_string): the translations should already be in utf8 * gui/calendar-config.c (calendar_config_locale_supports_12_hour_format): use e_utf8_strftime * gui/calendar-commands.c (calendar_set_folder_bar_label): use e_utf8_strftime svn path=/trunk/; revision=21355
* Fixes #43103JP Rosevear2003-05-191-48/+48
| | | | | | | | | | | | | | | | | | 2003-05-19 JP Rosevear <jpr@ximian.com> Fixes #43103 * gui/e-day-view.c (e_day_view_init): connect normally instead of after so that our boolean return values afffect the action signal emmissions properly (e_day_view_on_top_canvas_drag_motion): fix proto to be a gboolean (e_day_view_on_main_canvas_drag_motion): ditto * gui/e-week-view.c (e_week_view_init): connect normally instead of after so that our boolean return values afffect the action signal emmissions properly svn path=/trunk/; revision=21250
* Fixes #42220Rodrigo Moya2003-05-181-11/+11
| | | | | | | | | | | 2003-05-16 Rodrigo Moya <rodrigo@ximian.com> Fixes #42220 * gui/e-day-view.c (e_day_view_finish_resize): hide canvas items and update internal fields before updating the object. svn path=/trunk/; revision=21233
* Fixes #41935JP Rosevear2003-05-161-34/+40
| | | | | | | | | | | | | | | | | | | 2003-05-15 JP Rosevear <jpr@ximian.com> Fixes #41935 * gui/e-week-view.c (e_week_view_init): listen for scroll events on the canvas (e_week_view_on_button_press): don't scroll here (e_week_view_on_scroll): scroll here * gui/e-day-view.c (e_day_view_init): listen for scroll events on the time and main canvases (e_day_view_on_main_canvas_button_press): don't scroll here (e_day_view_on_main_canvas_scroll): scroll here (e_day_view_on_time_canvas_scroll): and here svn path=/trunk/; revision=21210
* Fixes #43029JP Rosevear2003-05-161-19/+30
| | | | | | | | | | | | | | | | | | | | | | | | 2003-05-15 JP Rosevear <jpr@ximian.com> Fixes #43029 * gui/e-week-view.c (e_week_view_init): don't listen for destroy signal (e_week_view_destroy): check for NULL and make invisible NULL after we destroy it, unref cursors and NULL them out as well, guard against freeing events multiple times * gui/e-day-view.c (e_day_view_destroy): check for NULL and make invisible NULL after we destroy it, unref cursors and NULL them out as well, guard against freeing events multiple times (e_day_view_init): don't listen for destroy signal * gui/e-calendar-table.c (e_calendar_table_init): don't listen for destroy signal (e_calendar_table_destroy): check for NULL and make invisible NULL after we destroy it svn path=/trunk/; revision=21208
* guard against multiple destroysJP Rosevear2003-05-151-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-05-14 JP Rosevear <jpr@ximian.com> * gui/e-tasks.c (e_tasks_destroy): guard against multiple destroys * cal-client/cal-client.c (cal_client_finalize): unref the bonobo listener * gui/gnome-cal.c (gnome_calendar_destroy): guard against multiple destroy calls * gui/e-week-view.c (e_week_view_init): connect after destroy (invisible_destroyed): don't unref, its already destroyed * gui/e-day-view.c (e_day_view_init): connect after destroy (invisible_destroyed): don't unref, its already destroyed * gui/e-calendar-table.c (e_calendar_table_class_init): make sure we set the parent class (e_calendar_table_init): connect after the destroy handler runs (e_calendar_table_destroy): guard against multiple destroys (invisible_destroyed): don't unref the invisible, its already being destroyed * gui/calendar-offline-handler.c (backend_cal_set_mode): unref the client, we are done with it now (backend_cal_opened_online): ditto (impl_dispose): unref our main client * gui/calendar-commands.c (control_util_set_folder_bar_label): release/unref the shell view once we are done with it (control_util_show_settings): ditto svn path=/trunk/; revision=21180
* Fixes #37552JP Rosevear2003-04-251-9/+7
| | | | | | | | | | | | | | | | | | | | | | | | 2003-04-24 JP Rosevear <jpr@ximian.com> Fixes #37552 * gui/dialogs/Makefile.am: build delete-error.[hc] * gui/e-tasks.c: wrap calls to cal_client_remove_object with delete_error_dialog * gui/e-itip-control.c: ditto * gui/e-calendar-table.c: ditto * gui/e-week-view.c: ditto * gui/e-day-view.c: ditto * gui/dialogs/delete-error.[hc]: gemerate an error message based on result svn path=/trunk/; revision=20961
* removed unused variable..Rodrigo Moya2003-04-251-1/+0
| | | | | | | | | 2003-04-23 Rodrigo Moya <rodrigo@ximian.com> * gui/e-day-view.c (e_day_view_on_delete_occurrence): removed unused variable.. svn path=/trunk/; revision=20958
* Fixes #41641Hans Petter Jansson2003-04-241-16/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | 2003-04-23 Hans Petter Jansson <hpj@ximian.com> Fixes #41641 * gui/e-day-view.c (e_day_view_focus_in): Remove assert an old input method code. (e_day_view_focus_out): Ditto. (e_day_view_reshape_long_event): Set input method context. (e_day_view_reshape_day_event): Ditto. (e_day_view_on_editing_started): Let EText handle the context popup. (e_day_view_on_editing_stopped): Turn off EText's handling of context popup. * gui/e-week-view.c (e_week_view_reshape_event_span): Set input method context. (e_week_view_on_text_item_event): Let the EText item handle right-click context popup if we're editing it. (e_week_view_on_editing_started): Let the EText item handle the context popup. (e_weeK_view_on_editing_stopped): Turn off EText's handling of context popup. svn path=/trunk/; revision=20947
* Fixes #22444Rodrigo Moya2003-04-231-34/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-04-21 Rodrigo Moya <rodrigo@ximian.com> Fixes #22444 * gui/calendar-commands.c: added new verbs for occurrence-related menu items. (delete_occurrence_cmd): added callback for "Delete this occurrence" menu item. "Delete all occurrences" is just the same as "Delete". (sensitize_calendar_commands): sensitive ocurrence-related menu items. * gui/gnome-cal.[ch] (gnome_calendar_delete_selected_occurrence): new function. (gnome_calendar_get_current_view_widget): made this public. * gui/e-week-view.[ch] (e_week_view_get_selected_event): (e_week_view_delete_occurrence): new functions. (e_week_view_delete_occurrence_internal): real implementation of the 'Delete Occurrence' logic. (e_week_view_on_delete_occurrence): call delete_instance_internal. * gui/e-day-view.[ch] (e_day_view_get_selected_event): (e_day_view_delete_occurrence): new functions. (e_week_view_delete_occurrence_internal): real implementation of the 'Delete Occurrence' logic. (e_week_view_on_delete_occurrence): call delete_occurrence_internal. svn path=/trunk/; revision=20917
* If we already have an evolution_dir, free the old one before setting itHans Petter Jansson2003-04-161-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-04-15 Hans Petter Jansson <hpj@ximian.com> * gui/calendar-component.c (owner_set_cb): If we already have an evolution_dir, free the old one before setting it anew. * gui/e-day-view-time-item.c (e_day_view_time_item_draw): Unref the metrics. * gui/e-day-view.c (e_day_view_style_set): Unref the metrics. (e_day_view_recalc_cell_sizes): We don't need font metrics here. (e_day_view_reshape_long_event): Ditto. * gui/e-meeting-model.c (init): Don't dup the string passed to e_table_without_hide(). * gui/e-meeting-time-sel.c (e_meeting_time_selector_style_set): Unref the metrics. (e_meeting_time_selector_recalc_date_form): Doesn't need metrics. * gui/e-week-view-main-item.c (e_week_view_main_item_draw_day): Unref the metrics. * gui/e-week-view.c (e_week_view_style_set): Unref metrics. (e_week_view_recalc_cell_sizes): Ditto. (e_week_view_reshape_event_span): Move Pango stuff to where it can't be leaked due to an early return. Unref metrics. * gui/weekday-picker.c (weekday_picker_style_set): Unref metrics. * gui/dialogs/meeting-page.c (meeting_page_finalize): Free default address. svn path=/trunk/; revision=20857
* Nuke GdkFont and use Pango's font measuring.Hans Petter Jansson2003-04-021-89/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-04-01 Hans Petter Jansson <hpj@ximian.com> * gui/e-day-view-main-item.c (e_day_view_main_item_draw): Nuke GdkFont and use Pango's font measuring. * gui/e-day-view-time-itme.c (e_day_view_time_item_get_column_width) (e_day_view_time_item_draw): Ditto. * gui/e-day-view-top-item.c (e_day_view_top_item_draw) (e_day_view_top_item_draw_long_event): Ditto. * gui/e-day-view.c (e_day_view_style_set) (e_day_view_recalc_cell_sizes) (e_day_view_reshape_long_event) (e_day_view_update_top_canvas_drag) (e_day_view_update_main_canvas_drag): Ditto. * gui/e-meeting-time-sel.c (e_meeting_time_selector_style_set) (e_meeting_time_selector_recalc_date_form): Ditto. * gui/e-week-view-event-item.c (e_week_view_draw_time): Ditto. * gui/e-week-view-main-item.c (e_week_view_main_item_draw_day): Ditto. * gui/e-week-view-titles-item.c (e_week_view_titles_item_draw): Ditto. * gui/e-week-view.c (e_week_view_style_set) (e_week_view_recalc_cell_sizes) (e_week_view_reshape_event_span): Ditto. * gui/weekday-picker.c (weekday_picker_style_set): Ditto. svn path=/trunk/; revision=20627
* Fixes #39895Not Zed2003-03-301-0/+4
| | | | | | | | | | | | | | | | | | | 2003-03-29 Not Zed <NotZed@Ximian.com> Fixes #39895 * gui/e-day-view.h (EDayViewColors): add an unfocussed colour to draw the selection in when we're not focussed. * gui/e-day-view.c (e_day_view_realize): Initialise E_DAY_VIEW_COLOR_BG_SELECTED_UNFOCUSSED to be 1/2 saturation of the focussed colour. * gui/e-day-view-main-item.c (e_day_view_main_item_draw): Use the UFOCUSSED colour if we aren't focussed, rather than just not drawing anything. svn path=/trunk/; revision=20579
* Hold weak references to the CalComponent instead of connecting to theHans Petter Jansson2003-03-291-24/+13
| | | | | | | | | | | | | | | | | | 2003-03-28 Hans Petter Jansson <hpj@ximian.com> * gui/e-day-view.c (comp_destroy_cb) (e_day_view_on_long_event_button_press) (e_day_view_on_event_button_press) (e_day_view_on_long_event_click) (e_day_view_on_event_click) (e_day_view_on_event_double_click) (e_day_view_on_delete_appointment): Hold weak references to the CalComponent instead of connecting to the "destroy" signal. * gui/e-week-view.c (comp_destroy_cb) (e_week_view_on_text_item_event): Ditto. svn path=/trunk/; revision=20566
* Fixes #34095Hans Petter Jansson2003-03-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-03-17 Hans Petter Jansson <hpj@ximian.com> Fixes #34095 * gui/e-meeting-model.c (append_row): Don't leak meeting attendees; unref the attendee after it's assigned to model. * gui/dialogs/meeting-page.c (meeting_page_destroy): Free the actual array of deleted attendees. * gui/dialogs/event-editor.c (event_editor_destroy): Free the private structure. * gui/itip-utils.c (comp_description): Rework free/busy information composer so we can free date/time information after use. Then free it. (itip_send_comp): Free the allocated CORBA buffer for attachment data. * gui/dialogs/comp-editor-util.c (comp_editor_contacts_to_component): Free the destination contacts string once we're done with it. * gui/e-calendar-table.c (invisible_destroyed): Unref the invisible. * gui/e-day-view.c (invisible_destroyed): Ditto. * gui/e-week-view.c (invisible_destroyed): Ditto. svn path=/trunk/; revision=20329
* Fixes #39736Hans Petter Jansson2003-03-181-1/+1
| | | | | | | | | | | 2003-03-17 Hans Petter Jansson <hpj@ximian.com> Fixes #39736 * gui/e-day-view.c: Reduce the size of the large-digits font so it's en par with the one in 1.2. svn path=/trunk/; revision=20327
* If only the pipe wouldn't break.JP Rosevear2003-03-051-38/+127
| | | | svn path=/trunk/; revision=20143
* Fixes Ximian #37895.Hans Petter Jansson2003-02-271-2/+2
| | | | | | | | | | | | | | 2003-02-26 Hans Petter Jansson <hpj@ximian.com> Fixes Ximian #37895. * gui/e-day-view.c (e_day_view_destroy): g_object_unref () -> pango_font_description_free (). (e_day_view_style_set): Ditto. * gui/e-week-view.c (e_week_view_destroy): Ditto. svn path=/trunk/; revision=20078
* GObject, not GtkObject. (calendar_model_destroy): ->Hans Petter Jansson2003-02-221-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-02-21 Hans Petter Jansson <hpj@ximian.com> * gui/calendar-model.c (calendar_model_class_init): GObject, not GtkObject. (calendar_model_destroy): -> calendar_model_finalize (). * gui/calendar-view.c (calendar_view_class_init): GObject, not GtkObject. (calendar_view_destroy): -> calendar_view_finalize (). * gui/comp-editor-factory.c (comp_editor_factory_class_init): GObject, not GtkObject. (comp_editor_factory_destroy): -> comp_editor_factory_finalize (). * gui/e-day-view.c (e_day_view_long_event_button_press): gtk_signal_disconnect () -> g_signal_handler_disconnect (). (e_day_view_on_event_button_press): Ditto. (e_day_view_on_long_event_click): Ditto. (e_day_view_on_event_click): Ditto. (e_day_view_on_event_double_click): Ditto. (e_day_view_on_delete_appointment): Ditto. * gui/e-week-view.c (e_week_view_on_text_item_event): gtk_signal_disconnect () -> g_signal_handler_disconnect (). * gui/alarm-notify/alarm-notify.c (AlarmNotify_RemoveCalendar): Don't cast to GtkObject. svn path=/trunk/; revision=19995
* Remove cruft. Rename ICONSDIR to IMAGESDIR. (gladedir, etspecdir,Dan Winship2003-02-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gui/Makefile.am (INCLUDES): Remove cruft. Rename ICONSDIR to IMAGESDIR. (gladedir, etspecdir, serverdir): Remove definitions (libevolution_calendar_la_LDFLAGS): Remove -export-dynamic, add -module. * gui/calendar-config.c: #include <string.h> * gui/calendar-component.c (add_creatable_item): s/ICONSDIR/IMAGESDIR/ * gui/comp-util.c: #include <string.h> * gui/e-alarm-list.c: #include e-time-utils.h (row_deleted): Remove unused variable. (e_alarm_list_append): Likewise. * gui/e-date-time-list.c: #include e-time-utils.h, timeutil.h, calendar-config.h (row_deleted): Remove unused variable (e_date_time_list_append): Likewise. * gui/e-day-view.c (e_day_view_unrealize): Remove unused var (e_day_view_style_set): Likewise. (e_day_view_set_event_font_cb): Likewise. * gui/e-day-view-time-item.c: #include <string.h> (e_day_view_time_item_get_column_width): Remove unused variable. * gui/e-itip-control.c: #include <unistd.h> (url_requested_cb): s/ICONSDIR/IMAGESDIR/ * gui/e-week-view.c (e_week_view_unrealize): Remove unused variable (e_week_view_style_set): Likewise * gui/e-week-view-titles-item.c: #include string.h * gui/itip-bonobo-control.c: Likewise * gui/print.c: Likewise svn path=/trunk/; revision=19794
* Skip setting the "font_gdk" arg for now.Hans Petter Jansson2003-02-021-0/+4
| | | | | | | | | | | | | | | | | | | | 2003-02-02 Hans Petter Jansson <hpj@ximian.com> * gui/e-day-view.c (e_day_view_set_event_font_cb): Skip setting the "font_gdk" arg for now. (e_day_view_update_main_canvas_drag): Ditto. * gui/e-week-view.c (e_week_view_style_set): Ditto. * gui/weekday-picker.c (configure_items): Ditto. * gui/dialogs/event-page.c (get_widgets): Show custom widgets manually, since the visibility specified in the Glade XML appears to not have any effect. * gui/dialogs/recurrence-page.c (get_widgets): Ditto. svn path=/trunk/; revision=19706
* Make clicks, drags and resizes work, and pangoize remaining strings. FixHans Petter Jansson2003-01-271-29/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-01-26 Hans Petter Jansson <hpj@ximian.com> Make clicks, drags and resizes work, and pangoize remaining strings. Fix EText placement. * gui/e-day-view-top-item.c (e_day_view_top_item_draw_long_event): Use Pango. * gui/e-day-view.c (e_day_view_on_top_canvas_button_press): Don't add scroll offset, it's already factored in. (e_day_view_on_main_canvas_button_press): Ditto. (e_day_view_on_top_canvas_motion): Ditto. (e_day_view_on_main_canvas_motion): Ditto. (e_day_view_reshape_long_event): Don't set the "font_gdk" property. Its non-existence will prevent the other properties from being set as well. (e_day_view_reshape_day_event): Ditto. (e_day_view_update_top_canvas_drag): Ditto. (e_day_view_start_editing_event): ETextEventProcessor is a GObject now. So use g_signal_stuff. (e_day_view_check_auto_scroll): Factor out scroll offset before checking the pointer's position relative to widget. (e_day_view_auto_scroll_handler): Don't freeze the canvas when scrolling - it will fail to update the canvas. If this is not intended behaviour, it's a bug in the canvas, I think. (e_day_view_on_main_canvas_drag_motion): Factor in the scroll offset before checking for auto-scroll, since the function requires this. * gui/e-week-view.c (e_week_view_reshape_event_span): Don't set the "font_gdk" property. Its non-existence will prevent the other properties from being set as well. (e_week_view_start_editing_event): ETextEventProcessor is a GObject now. So use g_signal_stuff. svn path=/trunk/; revision=19641
* Mainly making all views use PangoLayouts for text. When drawing aHans Petter Jansson2003-01-261-15/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-01-25 Hans Petter Jansson <hpj@ximian.com> Mainly making all views use PangoLayouts for text. When drawing a PangoLayout, the draw offset is the top left corner of the layout, not the text's baseline. Keep this in mind when viewing the changes. I'll be brief about the exact changes, since they speak better for themselves. * gui/e-day-view-time-item.c (e_day_view_time_item_get_column_width): Use Pango. (e_day_view_time_item_draw): Use Pango. * gui/e-day-view-top-item.c (e_day_view_top_item_draw): Use Pango. (e_day_view_top_item_draw_long_event): Add some FIXME text so we can see when this is being used. Is it in use at all? * gui/e-day-view.c: No longer specify an explicit X font string for the large font. Use the main font, and change the point size. (e_day_view_init): Use Pango. (e_day_view_style_set): Use Pango. Comment out the gdk_font setting for the drag text items for now. * gui/e-day-view.h: Use Pango. * gui/e-week-view-event-item.c (e_week_view_draw_time): Use Pango. * gui/e-week-view-main-item.c (e_week_view_main_item_draw_day): Use Pango. * gui/e-week-view-titles-item.c (e_week_view_titles_item_draw): Use Pango. * gui/e-week-view.c: No longer specify an explicit X font string for the small font. Use the main font, and change the point size. (e_week_view_init): Use Pango. (e_week_view_destroy): Use Pango. (get_string_width): Implemented for convenience. (get_digit_width): Implemented for convenience. (e_week_view_style_set): Use Pango. (e_week_view_recalc_cell_sizes): Use Pango. (e_week_view_get_time_string_width): Use Pango. * gui/e-week-view.h: Use Pango. Following are some random UTF-8 fixes and a crash fix. * gui/itip-utils.c (comp_description): Use g_locale_to_utf8 (). * gui/dialogs/comp-editor.c (make_title_from_comp): Return a UTF-8 string. * gui/dialogs/alarm-page.c (alarm_page_set_summary): Pass UTF-8 directly to GTK. * gui/dialogs/delete-comp.c (delete_component_dialog): Ditto. * gui/dialogs/meeting-page.c (meeting_page_fill_widgets): Ditto. (meeting_page_construct): Ditto. * gui/dialogs/recurrence-page.c (recurrence_page_set_summary): Ditto. * gui/dialogs/event-editor.c (event_editor_finalize): Fix crash caused by gtk_object_destroy()-ing a non-GtkObject. svn path=/trunk/; revision=19628
* Don't insist appointment is updated if both old and new summary are blank.Hans Petter Jansson2003-01-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-01-24 Hans Petter Jansson <hpj@ximian.com> * gui/e-day-view.c (e_day_view_on_editing_stopped): Don't insist appointment is updated if both old and new summary are blank. * gui/e-week-view.c (e_week_view_on_editing_stopped): Ditto. * gui/e-timezone-entry.c (on_button_clicked): Timezone dialog is now a GtkDialog. Treat it as such. * gui/goto.c (ecal_event): Goto dialog is now a GtkDialog. Treat it as such. (goto_dialog): Ditto. * gui/goto-dialog.glade: Set the return IDs from the dialog buttons. * gui/dialogs/meeting-page.c (popup_delegate_cb): Enable the delegate dialog. It's now a GtkDialog, so treat it like one. (right_click_cb): Use GTK stock item, not GNOME (that doesn't work anymore). * gui/e-delegate-dialog.glade: Set the return IDs from dialog buttons. * gui/print.c (print_calendar): Correct the print dialog init. Code is still not enabled, though. * gui/tasks-control.c (print_tasks): Add a warning about printing being disabled. svn path=/trunk/; revision=19624
* Silence warnings caused by missing casts.Hans Petter Jansson2003-01-161-22/+22
| | | | | | | | | | 2003-01-15 Hans Petter Jansson <hpj@ximian.com> * gui/e-day-view.c: Silence warnings caused by missing casts. * gui/e-week-view.c: Silence warnings caused by missing casts. svn path=/trunk/; revision=19491
* Work around canvas crashes by ensuring rectangles have an initial width.Hans Petter Jansson2003-01-151-0/+3
| | | | | | | | | 2003-01-14 Hans Petter Jansson <hpj@ximian.com> * gui/e-day-view.c (e_day_view_init): Work around canvas crashes by ensuring rectangles have an initial width. svn path=/trunk/; revision=19441
* 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-18/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-26/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-115/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-17/+24
| | | | | | | | 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-28/+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-7/+10
| | | | | | | | | | | | | | | | | | | | | 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-40/+11
| | | | | | | | | | | | | | | | | | | 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/+14
| | | | | | | | | | | | 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
* kill warningJP Rosevear2002-09-071-23/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* added support for text/x-calendar targets, in which case a VCALENDARRodrigo Moya2002-09-051-8/+26
| | | | | | | | | | 2002-09-05 Rodrigo Moya <rodrigo@ximian.com> * gui/e-day-view.c (e_day_view_on_drag_data_get): added support for text/x-calendar targets, in which case a VCALENDAR component, with full timezone information is returned. svn path=/trunk/; revision=17984
* select the top canvas if the user right-clicks on itJP Rosevear2002-08-301-1/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* make sure that the work week view goes to the current work week if the dayJP Rosevear2002-07-311-4/+9
| | | | | | | | | | 2002-07-29 JP Rosevear <jpr@ximian.com> * gui/e-day-view.c (e_day_view_find_work_week_start): make sure that the work week view goes to the current work week if the day selected is before the start of the work week svn path=/trunk/; revision=17645
* 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
* set large_font to NULL (e_day_view_style_set): calculate large font, fallJP Rosevear2002-07-261-6/+11
| | | | | | | | | | 2002-07-25 JP Rosevear <jpr@ximian.com> * gui/e-day-view.c (e_day_view_init): set large_font to NULL (e_day_view_style_set): calculate large font, fall back to the style->font if necessary svn path=/trunk/; revision=17594
* use proper meeting icon32002-07-241-1/+2
| | | | | | | | 2002-07-23 <jpr@ximian.com> * gui/e-day-view.c (e_day_view_realize): use proper meeting icon svn path=/trunk/; revision=17553
* use util function to see if the user is the organizer72002-07-181-16/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-4/+20
| | | | | | | | | | | | | | | | 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-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* modify the start and end hours to accomodate all the events in the dayJP Rosevear2002-05-021-0/+4
| | | | | | | | | | | | 2002-05-01 JP Rosevear <jpr@ximian.com> * gui/print.c (print_day_details): modify the start and end hours to accomodate all the events in the day * gui/e-day-view.c (free_view_popup): only discard the popup if we created one svn path=/trunk/; revision=16655
* 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-22/+22
| | | | | | | | | | | | | | | | | | | | | | | | 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/+32
| | | | | | | | | | | | | | | | | | 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/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-8/+234
| | | | | | | | | | | | | | | | | | | | | | | | 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-19/+19
| | | | | | | | | | | | 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-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-6/+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
* remove needs send signal related cruft (save_comp_with_send): withJP Rosevear2001-12-221-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-8/+30
| | | | | | | | | | | | | | | | | 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-10/+96
| | | | | | | | | | | | | | | | | | | | 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-19/+8
| | | | | | | | | | | | | | 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
* 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
* updated code to handle DATE values.Damon Chaplin2001-10-301-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-30 Damon Chaplin <damon@ximian.com> * gui/dialogs/schedule-page.c: * gui/dialogs/event-page.c: * gui/dialogs/comp-editor-util.c: updated code to handle DATE values. * gui/gnome-cal.c (gnome_calendar_new_appointment_for): * gui/e-day-view.c (e_day_view_key_press): updated DATE code. * gui/e-cell-date-edit-text.c: * gui/calendar-model.c: updated to support DATE values. * cal-util/cal-recur.c (cal_recur_generate_instances_of_rule): updated to use DATE values in same way as Outlook - i.e. the DTEND date is not included entirely. Though I did make it so that if the DTSTART and DTEND used the same DATE value, it includes the entire day. So 1-day events should be the same. Long All-Day events will be 1 day shorter. * cal-util/cal-component.c (cal_component_get_start_plus_duration): don't subtract a day from the end date. * gui/tasks-control.c: updated the EPixmap paths for Cut/Copy etc. Removed Print & Print Preview paths, since we don't have menu commands for these any more. svn path=/trunk/; revision=14456
* Use an EMessageBox instead of a gnome_dialog_question so that the labelFederico Mena Quintero2001-10-301-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/+34
| | | | | | | | | | | | | 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-2/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-22/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* moved to a common place (cal_backend_file_open): check if "uristr != NULL"Rodrigo Moya2001-10-101-0/+1
| | | | | | | | | | | | | | 2001-10-09 Rodrigo Moya <rodrigo@ximian.com> * pcs/cal-backend-file.c (mail_account_*): moved to a common place (cal_backend_file_open): check if "uristr != NULL" and not "uri != NULL" * pcs/cal-backend-util.c: moved to here * gui/e-day-view.c: add missing header file svn path=/trunk/; revision=13517
* added comparison functions for these special cell types. But the date andDamon Chaplin2001-09-271-1/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-33/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 new e-sexp operator. We don't currently use it though.Damon Chaplin2001-08-221-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-21 Damon Chaplin <damon@ximian.com> * pcs/query.c (func_is_completed): added new e-sexp operator. We don't currently use it though. * gui/dialogs/cal-prefs-dialog.glade: Changed '_Overdue' to 'O_verdue' since we have an '_Other' notebook tab. Added '_Hide' accel. * gui/dialogs/cal-prefs-dialog.c: hooked up config options to dialog. * gui/calendar-config.c: added config options for hiding completed tasks. * gui/e-week-view-event-item.c (e_week_view_event_item_draw): * gui/e-day-view-top-item.c (e_day_view_top_item_draw_long_event): * gui/e-day-view.c (e_day_view_reshape_long_event): added 2 pixels extra space between icons and text for long events, and 1 pixel space between icons in all events. (e_day_view_realize): changed the background color to match the EGrayBar in the shell. svn path=/trunk/; revision=12347
* added support for the Contacts field. Note that I'm not sure what weDamon Chaplin2001-08-151-6/+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/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Stop editing any event. Fixes bug #5949.Federico Mena Quintero2001-08-091-0/+2
| | | | | | | | | 2001-08-08 Federico Mena Quintero <federico@ximian.com> * gui/e-day-view.c (update_query): Stop editing any event. Fixes bug #5949. svn path=/trunk/; revision=11807
* added 'different_timezone' fields to EDayViewEvent and EWeekViewEvent, toDamon Chaplin2001-08-071-6/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1/+13
| | | | | | | | | | | 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-8/+0
| | | | | | | | | | | | 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-19/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-6/+64
| | | | | | | | | | | | | | | | 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-4/+0
| | | | svn path=/trunk/; revision=11183
* Really fixes #4380. The previous fix was necessary but not sufficient; itFederico Mena Quintero2001-07-181-0/+3
| | | | | | | | | | | | | | | | | | | | | | | 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
* Fixes bug #4380 as well as some leftovers from the days of struct tm andFederico Mena Quintero2001-07-121-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-5/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Pass the parent vCalendar component as the timezone closure ofFederico Mena Quintero2001-07-111-0/+9
| | | | | | | | | | | | | | | 2001-07-09 Federico Mena Quintero <federico@ximian.com> * pcs/cal-backend-file.c (generate_alarms_for_comp): Pass the parent vCalendar component as the timezone closure of cal_recur_generate_instances(). * gui/dialogs/alarm-page.c (get_alarm_string): Make the string consistent with the option menu text. (get_alarm_string): Removed extra spaces from the last part of the alarm string. svn path=/trunk/; revision=10961
* Use e_utf8_from_gtk_event_key() so that we can input utf8 text properly.Federico Mena Quintero2001-07-101-7/+10
| | | | | | | | | | | | | | | | | | | | | | | | 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
* fix warning, and added some debug messages.Damon Chaplin2001-07-031-1/+4
| | | | | | | | | | | | | 2001-07-03 Damon Chaplin <damon@ximian.com> * gui/e-day-view.c (query_obj_updated_cb): fix warning, and added some debug messages. * gui/dialogs/comp-editor-util.c (write_label_piece): * gui/e-day-view-top-item.c (e_day_view_top_item_draw): call mktime() to set the weekday, though this is a temporary fix. svn path=/trunk/; revision=10737
* cal-client/cal-client.[hc] cal-util/cal-component.cDamon Chaplin2001-07-031-42/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/+12
| | | | | | | | | | | | | | | | | | | | | | 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-6/+50
| | | | | | | | | | | | | 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/+20
| | | | | | | | | | | | | | | | | | | | | | | | | 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-2/+2
| | | | | | 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-24/+0
| | | | | | | | | | | | | 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=10244
* finished implementation of Paste stuffRodrigo Moya2001-06-151-5/+38
| | | | | | | | | | | 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-4/+59
| | | | | | | | | | 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-1/+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-331/+38
| | | | | | | | | | | | | | | | | | | | | | | | 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-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-13/+13
| | | | svn path=/trunk/; revision=9191
* Fix headers. Same here. Same here. Same here. Same here. Same here. SameKjartan Maraas2001-04-051-0/+9
| | | | | | | | | | | | | | | | | | | | | 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/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-10/+56
| | | | | | | | | | | | | | | | | | | | | | | | 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-2/+2
| | | | | | | | | | | | 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-68/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Pull up from 0.9 branchJP Rosevear2001-02-091-6/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-02-08 JP Rosevear <jpr@ximian.com> * gui/event-editor.c: Remove assorted menu/bonobo stuff * gui/dialogs/task-editor.c: Remove assorted menu/bonobo stuff (task_editor_construct): no longer suck out the glade contents into a bonobo win, listen for apply and close signals (tedit_apply_event_cb): listen for apply signal and save object (tedit_close_event_cb): listen for close signal and prompt to save if need be (task_editor_focus): new function to bring the dialog to the front * gui/dialogs/task-editor.h: new prototype * gui/e-meeting-edit.c (schedule_button_clicked_cb): no need to update widgets in the event editor since the event editor won't be open (e_meeting_editor_new): don't need the event editor reference any more * gui/e-meeting-edit.h: Change prototype * gui/e-day-view.c (e_day_view_on_event_right_click): Make schedule meeting a new contextual menu item (e_day_view_on_schedule_meet): new routine to schedule a meeting from the contextual menu * gui/e-calendar-table.c (e_calendar_table_open_task): Call task_editor_focus * gui/event-editor-dialog.glade: Update to be a property box * gui/dialogs/task-editor-dialog.glade: Update to be a property box svn path=/trunk/; revision=8115
* Pulling stuff up from the branchJP Rosevear2001-02-071-7/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-16/+16
| | | | | | | | 2001-01-23 JP Rosevear <jpr@ximian.com> * libical import cleanup svn path=/trunk/; revision=7753
* New files with a simple sequence to migrate the task components from theFederico Mena Quintero2001-01-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-18 Federico Mena Quintero <federico@ximian.com> * gui/tasks-migrate.[ch]: New files with a simple sequence to migrate the task components from the old calendar folder into the new tasks folder. * gui/component-factory.c (owner_set_cb): Call tasks_migrate() once evolution_dir is set. It sucks to have to do this here. * cal-client/cal-client.c (cal_client_get_uids): In the inline docs, indicate how to free the return value. (cal_opened_cb): Ahem, moved assertion to the right place. Also, ref() and unref() around our own signal emission because we are not inside a signal handler, rather a simple callback from the listener object; we want to have a chance to clean up even if the client is unrefed during the emission. * gui/Makefile.am (evolution_calendar_SOURCES): Added tasks-migrate.[ch] to the list of sources. 2001-01-17 Federico Mena Quintero <federico@ximian.com> * gui/event-editor.c (init_widgets): Use e_calendar_item_set_max_days_sel() instead of setting GTK+ object arguments. * gui/e-day-view.c (e_day_view_set_cal_client): Oops, we had a reversed test for the client being loaded. * gui/tag-calendar.c (tag_calendar_by_client): Fixed similarly reversed test. svn path=/trunk/; revision=7622
* gui/e-week-view*.c don't use the theme colors at all within the graphicalDamon Chaplin2001-01-181-24/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Set draw background to FALSE. (e_day_view_reshape_long_event): ditto.Miguel de Icaza2000-12-251-0/+4
| | | | | | | | | | 2000-12-25 Miguel de Icaza <miguel@helixcode.com> * gui/e-day-view.c (e_day_view_init): Set draw background to FALSE. (e_day_view_reshape_long_event): ditto. (e_day_view_reshape_day_event): ditto. svn path=/trunk/; revision=7166
* 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-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* added changed flags and added calls to a new functionDamon Chaplin2000-12-111-14/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-12-11 Damon Chaplin <damon@helixcode.com> * gui/event-editor.c: added changed flags and added calls to a new function event_editor_set_changed() to set & reset this flag. Added prompt_to_save_changed() which is called when the user selects File/Close or the window's close button. Fixed the 'All day event' toggle button. Made the 'Alarm' page sensitive as appropriate when filling widgets. (Though note that the alarm widgets are not being set yet.) * gui/dialogs/task-editor.c: added changed flag as above. * gui/event-editor-dialog.glade: used good names for all the classification radio buttons so we can access them in the code. * gui/event-editor.c (init_widgets): use the "show week numbers" config option in the recurrence preview calendar. * gui/e-day-view.c (e_day_view_update_event_label): use 9:00 instead of 09:00 in the main view, as we do everywhere else now. It means the times won't line up, but they are easier to read which I think is better. Added support for Page Up/Down, though I think it should move the selection rather than just scroll the canvas. * cal-util/cal-recur.c (generate_instances_for_chunk): removed the end parameter since we should be using the chunk end time now. Added single_rule parameter for when we are generating the occurrences of a single RRULE, in which case the event's start date is not included in the occurrences output (unless it results from the RRULE expansion). Both of these fix problems when using COUNT. * gui/gnome-cal.c (gnome_calendar_on_date_navigator_selection_changed): fixed bug when checking if the new start day starts on the week start day. If you select a complete week it should now show the Week view. svn path=/trunk/; revision=6896
* 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-44/+77
| | | | | | | | | | | 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
* == instead of =.Damon Chaplin2000-11-271-1/+1
| | | | | | | | 2000-11-26 Damon Chaplin <damon@helixcode.com> * gui/e-day-view.c (e_day_view_set_days_shown): == instead of =. svn path=/trunk/; revision=6676
* added more support for config settings.Damon Chaplin2000-11-271-44/+381
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-28/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-9/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-0/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-34/+8
| | | | | | | | | | | | | | | | | | | 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
* updated to support RDATE end times or durations. Note that if you have twoDamon Chaplin2000-09-301-26/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-09-29 Damon Chaplin <damon@helixcode.com> * cal-util/cal-recur.c: updated to support RDATE end times or durations. Note that if you have two RDATEs with the same start times, but with different end dates/durations set, the results are unpredictable. So the event editor dialog should check for this. * gui/e-week-view-main-item.c (e_week_view_main_item_draw_day): make strftime() strings translatable, and changed the formats a bit. * NOTE: someone needs to check print.c to make sure strftime strings are OK for i18n. * gui/e-day-view.h: Changed EDayViewDateFormat enum. We now try to include the weekday if possible. Also changed EDayView struct so we store the month & weekdays with the longest names rather than the actual widths. This helps i18n. * gui/e-day-view.c (e_day_view_recalc_cell_sizes): used _() for strftime strings, tried to see if weekday fits, and rearranged a bit to make i18n easier. * gui/e-day-view-top-item.c (e_day_view_top_item_draw): used _() for strftime strings, and updated to use new formats. * gui/calendar-model.c: added use_24_hour_format boolean to CalendarModelPrivate so we can display dates in 12-hour format if requested. This meant adding a CalendarModel argument to a few functions. Also added get/set functions to set use_24_hour_format. I suppose ideally we should have an ECellDate renderer and this option should go there. svn path=/trunk/; revision=5646
* 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 a warning (removed unused variable gfloat width fromChristopher James Lahey2000-09-111-1/+0
| | | | | | | | | 2000-09-11 Christopher James Lahey <clahey@helixcode.com> * gui/e-day-view.c: Fixed a warning (removed unused variable gfloat width from e_day_view_get_event_position.) svn path=/trunk/; revision=5318
* changed to use EDateEdit.Damon Chaplin2000-09-111-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-09-11 Damon Chaplin <damon@helixcode.com> * gui/dialogs/task-editor.c: changed to use EDateEdit. * gui/dialogs/task-editor-dialog.glade: added "None" option to Classification option menu, and used custom widgets for the date entries so we can use EDateEdit widgets. * gui/event-editor.c: changed to use EDateEdit. Note that this needs to be fixed at some point to handle invalid dates, i.e. when e_date_edit_get_time returns -1. * gui/calendar-model.c (ensure_task_complete): (ensure_task_not_complete): new functions to set the related properties to make sure a task is marked as complete on not, i.e. "Date Completed" "Status" and "Percent" properties. 2000-09-08 Damon Chaplin <damon@helixcode.com> * gui/calendar-model.c (get_is_complete): use the status field rather than the completed date, as it is more reliable. (get_is_overdue): use get_is_complete(). (calendar_model_mark_task_complete): check if it is already complete, and if so don't update it. * cal-util/cal-component.c (cal_component_get_status): (cal_component_set_status): added functions to support the STATUS property. Also added the property to CalComponentPrivate and set it to NULL in free_icalcomponent(). Someone should check my code as I've mainly done a Cut & Paste job. svn path=/trunk/; revision=5305
* 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-22/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* The exdate and rdate lists are a list of icaltimetypes, notJP Rosevear2000-09-061-5/+4
| | | | | | | | | | | | | | 2000-09-05 JP Rosevear <jpr@helixcode.com> * cal-util/cal-recur.c (generate_instances_for_year): The exdate and rdate lists are a list of icaltimetypes, not CalComponentPeriods *gui/e-day-view.c (e_day_view_on_delete_occurrence): The exdate list is a list of icaltimetypes, not CalComponentDateTimes svn path=/trunk/; revision=5211
* Append the exdate to the list AFTER we create the date value.JP Rosevear2000-09-061-3/+3
| | | | | | | | | 2000-09-05 JP Rosevear <jpr@helixcode.com> * gui/e-day-view.c (e_day_view_on_delete_occurrence): Append the exdate to the list AFTER we create the date value. svn path=/trunk/; revision=5204
* No need to spit a warning if removal fails. (event_editor_destroy): FreeFederico Mena Quintero2000-09-011-2/+5
| | | | | | | | | | | | | | | | | | | | | | | 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-118/+288
| | | | | | | | | | | | | | 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
* Oops, set the dtstart/dtend on the component before adding it.Federico Mena Quintero2000-08-301-15/+21
| | | | | | | | | | | 2000-08-30 Federico Mena Quintero <federico@helixcode.com> * gui/e-day-view.c (e_day_view_key_press): Oops, set the dtstart/dtend on the component before adding it. (e_day_view_on_editing_stopped): No need to check for an UID. Update the summary properly. svn path=/trunk/; revision=5113
* Make sure the is_utc flag is always FALSE for icaltime_from_timetJP Rosevear2000-08-301-34/+39
| | | | | | | | | | | | | | | 2000-08-30 JP Rosevear <jpr@helixcode.com> * gui/e-day-view.c: Make sure the is_utc flag is always FALSE for icaltime_from_timet (e_day_view_on_unrecur_appointment): Use icaltimetype struct from the stack and make sure tzid is always NULL (e_day_view_finish_long_event_resize): ditto (e_day_view_finish_resize): 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=5111
* Now the views monitor the client by themselves; it does not make sense toFederico Mena Quintero2000-08-301-102/+152
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Properly append to listJP Rosevear2000-08-251-2/+2
| | | | | | | | | | | | | | | 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-14/+14
| | | | | | | | 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-0/+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
* Make signal names saner (released_event_object_cb): dittoJP Rosevear2000-08-251-7/+1
| | | | | | | | | | | | | | | | | | | | | | | 2000-08-24 JP Rosevear <jpr@helixcode.com> * gui/gnome-cal.c (save_event_object_cb): Make signal names saner (released_event_object_cb): ditto (gnome_calendar_edit_object): ditto * gui/event-editor.h: Make signal names saner * gui/event-editor.c (event_editor_class_init): Make signal names saner now that we don't use ical object (save_event_object): ditto with callback names (file_save_cb): ditto (tb_save_and_close_cb): ditto (event_editor_set_ical_object): ditto * gui/e-day-view.c (e_day_view_update_event): Umm, != CAL_COMPONENT_EVENT (I hope that wasn't me!) svn path=/trunk/; revision=5006
* Do not alloc the struct icaltimetype but point to one on the stack. MoreFederico Mena Quintero2000-08-241-2/+5
| | | | | | | | | | 2000-08-24 Federico Mena Quintero <federico@helixcode.com> * gui/e-day-view.c (e_day_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=5003
* Remove status barJP Rosevear2000-08-241-0/+2
| | | | | | | | | | | | | | | 2000-08-23 JP Rosevear <jpr@helixcode.com> * gui/event-editor-dialog.glade: Remove status bar * cal-util/cal-component.c (cal_component_set_rrule_list): Allow a null list (cal_component_set_rdate_list): Allow a null list * gui/e-day-view.c (e_day_view_on_new_appointment): Commit the CalComponent sequence svn path=/trunk/; revision=4995
* #include <e-util/e-cursors.h>Federico Mena Quintero2000-08-241-2/+4
| | | | | | | | | | | | | | | | | | | | | | 2000-08-23 Federico Mena Quintero <federico@helixcode.com> * gui/main.c: #include <e-util/e-cursors.h> * gui/e-day-view-time-item.c (e_day_view_time_item_draw): Initialize time_min_x1 and hour_r to keep gcc happy. * gui/e-day-view.c (e_day_view_update_event_label): Warning fix. (e_day_view_update_main_canvas_drag): Initialize start_row. * gui/e-week-view-event-item.c (e_week_view_event_item_draw): Initialize time_y_small_min, icon_x. * Makefile.am (SUBDIRS): Re-enable the gui directory. * gui/prop.c (prop_store_alarm_default_values): Temporarily #if 0 out. svn path=/trunk/; revision=4993
* Set vtype of new CalComponent (e_week_view_on_new_appointment): dittoJP Rosevear2000-08-241-0/+1
| | | | | | | | | | | | 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-5/+7
| | | | | | | | | | | | | | 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-221-161/+284
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-08-21 JP Rosevear <jpr@helixcode.com> * gui/e-day-view.c (e_day_view_update_event): Use CalComponent instead of iCalObject. Work around not having a compare dates routine for two CalComponents. (e_day_view_reshape_long_event): Use CalComponent instead of iCalObject, #if some alarm stuff (e_day_view_reshape_day_event): ditto (e_day_view_reload_events): Use revamped CalClient (e_day_view_update_event_cb): Use CalComponent instead of iCalObject (e_day_view_foreach_event_with_uid): ditto (e_day_view_remove_event_cb): ditto (e_day_view_update_event_label): ditto (e_day_view_find_event_from_uid): ditto (e_day_view_on_event_click): ditto (e_day_view_on_event_right_click): ditto (e_day_view_on_new_appointment): ditto (e_day_view_on_edit_appointment): ditto (e_day_view_on_delete_occurrence): ditto (e_day_view_on_delete_appointment): ditto (e_day_view_on_unrecur_appointment): ditto (e_day_view_on_top_canvas_motion): ditto (e_day_view_on_main_canvas_motion): ditto (e_day_view_finish_long_event_resize): ditto (e_day_view_finish_resize): ditto (e_day_view_free_event_array): ditto (e_day_view_add_event): ditto (e_day_view_key_press): ditto (e_day_view_on_editing_stopped): ditto (e_day_view_update_top_canvas_drag): ditto (e_day_view_update_main_canvas_drag): ditto (e_day_view_on_drag_data_get): 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=4900
* Add mouse wheel scrolling support to the calendar day and week viewsAnders Carlsson2000-07-081-1/+47
| | | | svn path=/trunk/; revision=3971
* Sync - FedericoFederico Mena Quintero2000-06-231-12/+29
| | | | svn path=/trunk/; revision=3693
* set event before using it! (e_day_view_init): used new colors from tigert.Damon Chaplin2000-06-211-8/+9
| | | | | | | | | | 2000-06-21 Damon Chaplin <damon@helixcode.com> * gui/e-day-view.c (e_day_view_reshape_long_event): set event before using it! (e_day_view_init): used new colors from tigert. svn path=/trunk/; revision=3671
* Remove the usage of the "x" and "y" arguments.Christopher James Lahey2000-06-211-8/+11
| | | | | | | | | 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
* got rid of some debug messagesDamon Chaplin2000-06-211-18/+0
| | | | svn path=/trunk/; revision=3666
* changed so it keeps the selection range. It just moves it on one day/weekDamon Chaplin2000-06-211-19/+347
| | | | | | | | | | | | | | | | 2000-06-21 Damon Chaplin <damon@helixcode.com> * gui/gnome-cal.c (gnome_calendar_direction): changed so it keeps the selection range. It just moves it on one day/week etc. This makes it very handy for the keyboard shortcut code. * gui/calendar-commands.c (calendar_control_activate): fixed bug setting the radio button active. * gui/e-day-view.[hc]: added support for keyboard navigation and selection of the time range. svn path=/trunk/; revision=3665
* fixed a DnD bug.Damon Chaplin2000-06-191-3/+5
| | | | | | | | | 2000-06-18 Damon Chaplin <damon@helixcode.com> * gui/e-day-view.c (e_day_view_on_top_canvas_drag_data_received): fixed a DnD bug. svn path=/trunk/; revision=3628
* added little buttons which are shown when there are more events than willDamon Chaplin2000-06-171-0/+2
| | | | | | | | | | | | | | | | | | | | * 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
* Took out some debugging code.Damon Chaplin2000-06-161-1/+1
| | | | | | Took out some debugging code. svn path=/trunk/; revision=3592
* updated.Damon Chaplin2000-06-161-4/+23
| | | | | | | | | | | 2000-06-16 Damon Chaplin <damon@helixcode.com> * cal-util/test-recur.c: updated. * cal-util/cal-recur.[hc]: mostly finished, though it depends on the iCalObject struct being updated to support more of iCalendar. svn path=/trunk/; revision=3591
* 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/+12
| | | | | | | | | | | | | | | | | 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-4/+11
| | | | | | | | | | | | | | | | | | | | | | 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-18/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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-37/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-10/+7
| | | | svn path=/trunk/; revision=3280
* new files to implement iCalendar recurrence rules. These are only partDamon Chaplin2000-05-201-90/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Alarm stuff I had not cvs added, sigh - FedericoFederico Mena Quintero2000-05-161-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-05-14 Federico Mena Quintero <federico@helixcode.com> * gui/gnome-cal.c (display_notification): Use the alarm notification dialog. (display_notification_cb): New callback for the result of the alarm notification dialog. * gui/dialogs/alarm-notify.glade: New file with the alarm notification dialog. * gui/dialogs/alarm-notify-dialog.[ch]: New file. * gui/dialogs/Makefile.am: New file. * gui/Makefile.am (SUBDIRS): Added the dialogs directory. 2000-05-13 Federico Mena Quintero <federico@helixcode.com> * gui/gnome-cal.c (trigger_alarm_cb): Better error checking, and plug leaks of str_ico and ico. * gui/evolution-calendar-control.c (main): Initialize libglade. svn path=/trunk/; revision=3072
* gladeified replacement for eventedit.cSeth Alves2000-05-161-2/+2
| | | | | | | | | | * gui/event-editor.[ch]: gladeified replacement for eventedit.c * gui/event-editor-utils.[ch]: utilities used by event-editor.c * gui/event-editor-dialog.glade: glade file used by event-editor.c svn path=/trunk/; revision=3046
* call e_day_view_stop_editing_event here to avoid a divide by zero a bitSeth Alves2000-05-091-0/+6
| | | | | | | | * gui/e-day-view.c (e_day_view_on_delete_appointment): call e_day_view_stop_editing_event here to avoid a divide by zero a bit further on. i'm not sure if this is the best fix for this. svn path=/trunk/; revision=2922
* don't set the ico->uid to NULL or we won't find any other occurrences ofDamon Chaplin2000-05-091-4/+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
* show the EText item, just in case it hasn't moved, otherwise it won'tDamon Chaplin2000-05-081-0/+10
| | | | | | | | | | | | | | 2000-05-07 Damon Chaplin <damon@helixcode.com> * gui/e-day-view.c (e_day_view_on_main_canvas_drag_data_received): (e_day_view_on_top_canvas_drag_data_received): show the EText item, just in case it hasn't moved, otherwise it won't appear. * gui/e-day-view.h (E_DAY_VIEW_BAR_WIDTH): increased from 6 to 8 to make it easier to drag an event. Also increased E_DAY_VIEW_GAP_WIDTH since it must be >= the BAR_WIDTH. svn path=/trunk/; revision=2878
* finish editing event when user hits Return key.Damon Chaplin2000-05-071-10/+15
| | | | | | | | | | | | | | | | | | | | | | | | | 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-45/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-42/+84
| | | | | | | | | | | | | | | | | | | 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-50/+252
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* compare iCalObjects by their UIDs instead of by their pointers.Seth Alves2000-04-261-1/+4
| | | | | | | * gui/e-day-view.c (e_day_view_find_event_from_ico): compare iCalObjects by their UIDs instead of by their pointers. svn path=/trunk/; revision=2617
* 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-167/+330
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* build test-calendar-widget and evolution-calendar, common stuff is in aSeth Alves2000-04-061-2/+2
| | | | | | | | | | | | | | | * gui/Makefile.am: build test-calendar-widget and evolution-calendar, common stuff is in a library * gui/gnome-cal.c (gnome_calendar_get_type): made the calendar widget based on a gtk_frame rather than a gnome_app * gui/calendar-commands.c: split out some of main.c * gui/evolution-calendar-control.c: bonobo bung so evolution can use the calendar widget svn path=/trunk/; revision=2294
* Fix includes. (e_day_view_on_delete_occurance): Do not callFederico Mena Quintero2000-03-231-13/+4
| | | | | | | | | | | | | | | | | 2000-03-17 Federico Mena Quintero <federico@helixcode.com> * gui/e-day-view.c: Fix includes. (e_day_view_on_delete_occurance): Do not call save_default_calendar(). (e_day_view_on_delete_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_editing_stopped): Likewise. (e_day_view_on_top_canvas_drag_data_received): Likewise. (e_day_view_on_main_canvas_drag_data_received): Likewise. svn path=/trunk/; revision=2140
* New widget for Day/Work-Week views. Unfinished.Damon Chaplin2000-03-141-0/+4585
svn path=/trunk/; revision=2115