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