aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/dialogs/event-editor.c
Commit message (Collapse)AuthorAgeFilesLines
* new VOID:STRING,STRING,STRING build the new view/store/renderer/editableMike Kestner2003-10-011-33/+29
| | | | | | | | | | | | | | | | | | | | | 2003-09-30 Mike Kestner <mkestner@ximian.com> * cal-util/cal-util-marshal.list : new VOID:STRING,STRING,STRING * gui/Makefile.am : build the new view/store/renderer/editable * gui/e-select-names-renderer.* : new completion cell renderer * gui/e-select-names-editable.* : new completion cell editable * gui/e-meeting-model.* : killed. code reused in list-view/store * gui/e-meeting-store.* : port of EMeetingModel to GtkTreeModel * gui/e-meeting-list-view.* : GtkTreeView subclass for attendee lists * gui/e-meeting-time-sel.c : Use the new store/view * gui/e-meeting-time-sel-item.c : Use the new store/view * gui/dialogs/Makefile.am : don't install the etspec anymore. * gui/dialogs/event-editor.c : Use the new store/view. * gui/dialogs/meeting-page.c : Use the new store/view. * gui/dialogs/shedule-page.c : Use the new store/view. * gui/dialogs/task-editor.c : Use the new store/view. svn path=/trunk/; revision=22774
* added a GtkWindow argument for callers to specify the parent window.Rodrigo Moya2003-06-301-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* unref the model again (task_editor_edit_comp): don't allow editing if theJP Rosevear2003-05-021-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-05-01 JP Rosevear <jpr@ximian.com> * gui/dialogs/task-editor.c (task_editor_finalize): unref the model again (task_editor_edit_comp): don't allow editing if the assignee has delegated * gui/dialogs/meeting-page.c (popup_delete_cb): set the new non-delegator to be editable * gui/dialogs/event-editor.c (event_editor_edit_comp): don't allow editing if the attendee has delegated (event_editor_finalize): unref the model again * gui/e-meeting-model.c: remove e-table-without related functions (finalize): don't create without table (e_meeting_model_etable_from_model): build the table with this as model (e_meeting_model_etable_model_to_view_row): directly use the model_to_view call (e_meeting_model_etable_view_to_model_row): as above (attendee_changed_cb): make sure pre change is alwasy called * gui/e-meeting-model.h: use DECLS, remove protos for long dead functions, don't include config.h svn path=/trunk/; revision=21045
* dittoJP Rosevear2003-04-301-1/+5
| | | | | | | | | | | | | | 2003-04-29 JP Rosevear <jpr@ximian.com> * gui/dialogs/task-editor.c (task_editor_finalize): ditto * gui/dialogs/event-editor.c (event_editor_finalize): don't unref the model here * gui/e-meeting-time-sel.c (e_meeting_time_selector_destroy): null up the display_top and display_main for re-entrancy purposes svn path=/trunk/; revision=21018
* Fixes #34095Hans Petter Jansson2003-03-181-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-16/+24
| | | | svn path=/trunk/; revision=20143
* gconf settings upgradesMichael Zucci2003-02-241-8/+10
| | | | svn path=/trunk/; revision=20018
* Appease the compiler. (gnome_calendar_update_paned_quanta): Don't actuallyHans Petter Jansson2003-02-241-0/+10
| | | | | | | | | | | | | | | | | | 2003-02-23 Hans Petter Jansson <hpj@ximan.com> * gui/gnome-cal.c (backend_died_cb): Appease the compiler. (gnome_calendar_update_paned_quanta): Don't actually try to set the quantum properties. The quantum code should probably go away entirely now that the panes update during resize, but let's keep it around for a bit more. * gui/dialogs/event-editor.c (event_editor_construct): Ref & sink the pages. * gui/dialogs/task-editor.c (task_editor_construct): Ref & sink the pages. svn path=/trunk/; revision=20011
* Mainly making all views use PangoLayouts for text. When drawing aHans Petter Jansson2003-01-261-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Replace gtk_signal_disconnect_by_data() withHans Petter Jansson2002-12-191-30/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* run fix.sh over this.Not Zed2002-12-021-15/+15
| | | | | | | | | | | | | | | | | | | | 2002-11-27 Not Zed <NotZed@Ximian.com> * gui/itip-utils.[ch]: run fix.sh over this. * gui/dialogs/*.[ch]: run fix.sh over all of this. 2002-11-26 Richard Li <Richard.Li@Sun.COM> * cal-client/cal-client.c (cal_client_construct): removed extra call to CORBA_exception_init. 2002-11-22 Not Zed <NotZed@Ximian.com> * gui/dialogs/delete-comp.c (delete_component_dialog): Changed e_messagebox -> gtk_messagedialog. svn path=/trunk/; revision=18972
* Fixes #30057Rodrigo Moya2002-10-031-5/+16
| | | | | | | | | | | | | | | | | | | | | 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
* Non-Connector part of #29334 (meeting created by a delegate in theDan Winship2002-09-281-8/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | delegator's calendar should have the delegator as Organizer). * idl/evolution-calendar.idl: add Cal_getEmailAddress, to return the email address associated with a backend (if any). * pcs/cal-backend.c (cal_backend_get_email_address): New. * pcs/cal-backend-file.c (cal_backend_file_get_email_address): Return NULL (for now). * pcs/cal.c (impl_Cal_get_email_address): Implement this by calling cal_backend_get_email_address and returning a NotFound exception if it returns NULL. * cal-client/cal-client.c (cal_client_get_email_address): New. (cal_client_init, cal_client_destroy, etc): initialize/free email_address * gui/dialogs/event-editor.c (event_editor_construct): Split this out of event_editor_init. Take and set a CalClient. (event_editor_new): Take a CalClient. * gui/dialogs/task-editor.c (task_editor_construct, task_editor_new): Likewise. * gui/dialogs/meeting-page.c (meeting_page_new, meeting_page_construct): Take a CalClient and call cal_client_get_email_address to find the default organizer address. (Also fix a bug if the default account's name has non-ASCII characters.) * gui/itip-utils.c (comp_from): New. When sending a REQUEST or CANCEL, use the Organizer as the From address. (itip_send_comp): Call comp_from and pass the result to Composer_setHeaders. * gui/comp-editor-factory.c (edit_existing, edit_new): Pass the CalClient to event_editor_new/task_editor_new * gui/e-calendar-table.c (open_task): Likewise. * gui/e-tasks.c (e_tasks_new_task): Likewise. * gui/gnome-cal.c (gnome_calendar_edit_object, gnome_calendar_new_task): Likewise. svn path=/trunk/; revision=18253
* bail out if we couldn't send the cancelJP Rosevear2002-09-051-4/+10
| | | | | | | | | | | | | | | | | | | | | | 2002-09-04 JP Rosevear <jpr@ximian.com> * gui/dialogs/event-editor.c (event_editor_send_comp): bail out if we couldn't send the cancel * gui/dialogs/task-editor.c (task_editor_send_comp): ditto * gui/dialogs/comp-editor.c (save_comp_with_send): indicate send status (real_send_comp): return success/fail, only resave the component a if we successfully sent (comp_editor_send_comp): return success/fail * gui/itip-utils.h: update proto * gui/itip-utils.c (itip_send_comp): return true if we sent the message svn path=/trunk/; revision=17966
* use util function to see if the user is the organizer72002-07-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* add back protoJP Rosevear2002-06-251-12/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-06-25 JP Rosevear <jpr@ximian.com> * gui/dialogs/comp-editor-page.h: add back proto * gui/dialogs/comp-editor-page.c (comp_editor_page_notify_needs_send): add page needs_send signal * gui/e-meeting-time-sel.c (e_meeting_time_selector_on_invite_others_button_draw): check to see if the button should be sensitive when drawing (e_meeting_time_selector_construct): listen for the button draw signal * cal-util/cal-component.c (cal_component_strip_errors): remove X-LIC-ERROR x properties * cal-util/cal-component.h: new proto * gui/dialogs/meeting-page.c (change_clicked_cb): set needs_send to true (meeting_page_fill_widgets): set up gui based on if the user or someone else is the organizer (meeting_page_construct): read the addresses here for the combo box (get_widgets): explicitly set the value in list values * gui/dialogs/event-editor.c (set_menu_sens): base this on the exist org and user org values of the comp editor (event_editor_edit_comp): set up editable row restrictions on the meeting model if the user is not an organizer, and don't set needs send if we aren't the organizer initially (model_row_changed_cb): set needs_send to true (row_count_changed_cb): ditto * gui/dialogs/meeting-page.glade: update gui * gui/dialogs/comp-editor.c (save_comp_with_send): if the user is not the organizer, REPLY rather than REQUEST (comp_editor_set_existing_org): accessor (comp_editor_get_existing_org): ditto (comp_editor_set_user_org): ditto (comp_editor_get_user_org): ditto (real_edit_comp): determine if there is an existing organizer and if the organizers is a user (page_changed_cb): warn the user that changes may be discarded (page_summary_changed_cb): ditto (page_dates_changed_cb): ditto * gui/dialogs/comp-editor.h: new protos * gui/itip-utils.c (itip_organizer_is_user): determine if the organizer of a component is a user (itip_sentby_is_user): same for sentby field of organizer (comp_sentby): use above routines instead (comp_compliant): strip all X-LIC-ERROR fields generated by libical * gui/e-meeting-model.c (is_cell_editable): if there is a list of editable rows, allow only the status column of those rows to be edited (init): init edit_rows (e_meeting_model_restricted_add): add an editable row to the model (e_meeting_model_restricted_remove): remove an editable row (e_meeting_model_restricted_clear): clear all editable rows (e_meeting_model_etable_click_to_add): set the click to add arg on all tables (e_meeting_model_etable_from_model): track the tables (table_destroy_list_cb): remove the table being destroyed from the list (table_destroy_state_cb): remove the table being destroyed from the list * gui/e-meeting-model.h: new protos * gui/e-itip-control.c (update_attendee_status): kill warning svn path=/trunk/; revision=17274
* Pass the @component_pixmaps in so we give the new "Meeting" button anEttore Perazzoli2002-05-211-1/+6
| | | | | | | | | | * gui/dialogs/event-editor.c (event_editor_init): Pass the @component_pixmaps in so we give the new "Meeting" button an icon. * gui/dialogs/comp-editor.c (comp_editor_merge_ui): New arg @component_pixmaps to pass in custom pixmaps. svn path=/trunk/; revision=16955
* pass extra itip_send_comp params (send_freebusy): ditto (ok_clicked_cb):JP Rosevear2002-02-201-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Explicitly destroy the EMeetingModel. This is a hack to work aroundJon Trowbridge2001-12-071-0/+1
| | | | | | | | | | | | | | | | | | | 2001-12-06 Jon Trowbridge <trow@ximian.com> * gui/dialogs/event-editor.c (event_editor_destroy): Explicitly destroy the EMeetingModel. This is a hack to work around problems with the reference counting; we are still leaking the EMeetingModels. * gui/e-meeting-time-sel.c (e_meeting_time_selector_construct): Ref our EMeetingModel. (e_meeting_time_selector_destroy): Unref the model. * gui/e-meeting-model.c (destroy): Properly destroy corba_select_names with a call to bonobo_object_release_unref. (Fixes 14002) svn path=/trunk/; revision=14919
* make sure to remove all attendees from the model when we edit a new comp,JP Rosevear2001-11-071-5/+15
| | | | | | | | | | | | | | | | 2001-11-06 JP Rosevear <jpr@ximian.com> * gui/dialogs/event-editor.c (event_editor_edit_comp): make sure to remove all attendees from the model when we edit a new comp, append the pages if they are needed and we weren't showing them before * gui/dialogs/task-editor.c (task_editor_edit_comp): same as above * gui/dialogs/comp-editor.c (comp_editor_remove_page): check for a return value indicating the page was not found and return if so svn path=/trunk/; revision=14615
* Fix bug #10016.Federico Mena Quintero2001-10-301-3/+1
| | | | | | | | | | | | | | | | | | | 2001-10-30 Federico Mena Quintero <federico@ximian.com> Fix bug #10016. * gui/dialogs/comp-editor.c (comp_editor_merge_ui): Use bonobo_ui_util_set_ui() instead of doing things by hand. Hmmm, if only that function had a way of telling us whether it failed so that we could avoid setting the verb list... * gui/dialogs/event-editor.c (event_editor_init): Do not pass the filename with the full path so that Bonobo can find it in a smart way. * gui/dialogs/task-editor.c (task_editor_init): Likewise. svn path=/trunk/; revision=14447
* Fixing the license text.Ettore Perazzoli2001-10-281-4/+3
| | | | svn path=/trunk/; revision=14214
* return fill_component successJP Rosevear2001-10-131-9/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-12 JP Rosevear <jpr@ximian.com> * gui/dialogs/alarm-page.c: return fill_component success * gui/dialogs/task-page.c: ditto * gui/dialogs/task-details-page.c: ditto * gui/dialogs/schedule-page.c: ditto * gui/dialogs/recurrence-page.c: ditto * gui/dialogs/event-page.c: ditto * gui/dialogs/meeting-page.c: use e_notice instead of duplicate_error (meeting_page_get_cancel_comp): duh, deleted_attendees is an array now (meeting_page_fill_component): spew gui errors if there is no organizer or no attendees, return success * gui/dialogs/event-editor.c (event_editor_send_comp): always call parent method and don't send the cancellation comp if the method is publish (refresh_meeting_cmd): use the orginal comp to refresh (forward_cmd): prompt the user for the version they want to send (current, original) * gui/dialogs/task-editor.c (forward_cmd): as above (refresh_task_cmd): ditto * gui/dialogs/comp-editor-page.c (comp_editor_page_fill_component): return boolean of whether the component could be filled or not * gui/dialogs/comp-editor-page.h: update proto * gui/dialogs/comp-editor.c (prompt_to_save_changes): take a param on whether to try and send or not (comp_editor_get_current_comp): only fill component if its changed (comp_editor_save_comp): prompt user as well * gui/dialogs/comp-editor.h: change proto * gui/itip-utils.c: replace error_dialog with e_notice (comp_content_type): specify charset svn path=/trunk/; revision=13635
* fix logic checksJP Rosevear2001-10-101-3/+11
| | | | | | | | | | | | | | | | | | | | | 2001-10-10 JP Rosevear <jpr@ximian.com> * pcs/cal-factory.c (add_uri): fix logic checks * gui/dialogs/event-editor.c (event_editor_init): init the exisiting_org boolean (set_menu_sens): base sensitivity on existing_org boolean (event_editor_edit_comp): set exisiting_org boolean * gui/dialogs/task-editor.c: same as above * gui/calendar-offline-handler.c (add_connection): handle the protocol or host being unknown * cal-util/cal-component.c (cal_component_has_organizer): implement svn path=/trunk/; revision=13552
* refactor functionality into several function (comp_string): if we areJP Rosevear2001-10-041-2/+3
| | | | | | | | | | | | | | | | | | 2001-10-03 JP Rosevear <jpr@ximian.com> * gui/itip-utils.c (itip_send_comp): refactor functionality into several function (comp_string): if we are publishing, empty the attendee list * gui/dialogs/event-editor.c (schedule_meeting_cmd): when we schedule a new meeting, mark the event editor as changed * pcs/cal.c (cal_class_init): get correct parent class * gui/dialogs/comp-editor.c (comp_editor_merge_ui): use the generated ui component name svn path=/trunk/; revision=13385
* listen for model changes (task_editor_edit_comp): add the attendees to theJP Rosevear2001-09-201-12/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-19 JP Rosevear <jpr@ximian.com> * gui/dialogs/task-editor.c (init_widgets): listen for model changes (task_editor_edit_comp): add the attendees to the model and notify of need send (row_count_changed_cb): mark as changed when row added/deleted (model_row_changed_cb): mark as changed when row changes * gui/dialogs/event-editor.c (init_widgets): listen for model changes (event_editor_init): flip page order (event_editor_edit_comp): set needs send value (schedule_meeting_cmd): flip page order (row_count_changed_cb): mark as changed when row added/deleted (model_row_changed_cb): mark as changed when row changes * gui/dialogs/schedule-page.c: remove model change notification stuff (schedule_page_fill_widgets): no need to do the needs_send here because the editor handles this since it owns the model * gui/dialogs/event-editor.c (init_widgets): listen for model changes (event_editor_init): flip page order (event_editor_edit_comp): set needs send value (schedule_meeting_cmd): flip page order (row_count_changed_cb): mark as changed when row added/deleted (model_row_changed_cb): mark as changed when row changes * gui/dialogs/meeting-page.c (meeting_page_fill_widgets): no need to do the needs_send here because the editor handles this since it owns the model (invite_entry_changed): ditto * gui/dialogs/comp-editor.c (comp_editor_set_changed): new accessor (comp_editor_get_changed): ditto (comp_editor_set_needs_send): ditto (comp_editor_get_needs_send): ditto * gui/dialogs/comp-editor.h: new protos * gui/itip-utils.c (itip_addresses_get): reflect configuration path changes in the mailer * gui/e-meeting-model.c: remove commented out code, ifdef one section for later svn path=/trunk/; revision=12983
* A page that shows the meeting time selector and free/busy data forJP Rosevear2001-09-191-3/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-18 JP Rosevear <jpr@ximian.com> * gui/dialogs/schedule-page.*: A page that shows the meeting time selector and free/busy data for attendees * gui/dialogs/meeting-page.c: use the meeting model to track/edit attendees, remove table value conversion routines and simple table routines (set_attendees): take a pointer array (meeting_page_destroy): destroy the pointer array, save state (meeting_page_init): new pointer array (meeting_page_fill_widgets): don't null the deleted attendees field (popup_delegate_cb): array add (popup_delete_cb): array add (cleanup_attendees): iterate over the array to unref now (meeting_page_fill_widgets): don't null out fields, no need to add attendees here (invite_entry_changed): use e_meeting_attendee routines (popup_delegate_cb): ditto (popup_delete_cb): ditto (meeting_page_new): take new arg and pass it to construct (meeting_page_construct): take new arg, use e-meeting-model routines to construct table * gui/dialogs/task-editor.c (task_editor_init): new meeting model (task_editor_destroy): unref the model * gui/dialogs/event-editor.c (event_editor_init): make new model and pass it to meeting and schedule pages (event_editor_set_cal_client): virtual function, set meeting model client (event_editor_edit_comp): add the attendees to the model (event_editor_destroy): unref model * gui/dialogs/comp-editor.h: add virtual function * gui/dialogs/comp-editor.c (comp_editor_set_cal_client): make set_cal_client a virutal function * gui/e-meeting-types.h: generally useful type defines * gui/e-meeting-time-sel*.[hc]: Move here and use an e-table for the attendee list and extract display information from the new meeting model and attendees * gui/e-meeting-time-sel.etspec: spec for the table * gui/e-meeting-attendee.[hc]: meeting attendees for the model, with to/from conversions for CalComponentAttendee structure, emits changed signal and allows getting and setting of free busy periods * gui/e-meeting-model.[hc]: move the model out on its own * gui/e-itip-control.c (write_error_html): clean up warnings svn path=/trunk/; revision=12968
* set the attendees of a component (meeting_page_fill_component): use aboveJP Rosevear2001-08-091-1/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-08 JP Rosevear <jpr@ximian.com> * gui/dialogs/meeting-page.c (set_attendees): set the attendees of a component (meeting_page_fill_component): use above (meeting_page_get_cancel_comp): return a comp with the attendees to be cancelled * gui/dialogs/meeting-page.h: get a component that will be sent as a cancellation * gui/dialogs/event-editor.c (event_editor_class_init): override send_comp class method (event_editor_send_comp): send cancellation notices to deleted attendees (refresh_meeting_cmd): save before send (forward_cmd): ditto * gui/dialogs/comp-editor.c (comp_editor_class_init): set default send_comp method (real_send_comp): do the real work (comp_editor_send_comp): call class method (save_comp): don't do any sending (save_comp_with_send): save and send here (prompt_to_save_changes): use above (save_close_cmd): ditto * gui/dialogs/comp-editor.h: add virtual function svn path=/trunk/; revision=11803
* connect to the entry not the comboJP Rosevear2001-07-071-5/+26
| | | | | | | | | | | | | | | | | | | | 2001-07-06 JP Rosevear <jpr@ximian.com> * gui/dialogs/meeting-page.c (init_widgets): connect to the entry not the combo * gui/dialogs/event-editor.c (set_menu_sens): set menu sensitivities based on whether or not the meeting page is shown (event_editor_init): call above (event_editor_edit_comp): ditto (schedule_meeting_cmd): ditto * gui/dialogs/comp-editor.h: new proto * gui/dialogs/comp-editor.c (comp_editor_set_ui_prop): new function to allow for set of ui props (esp. "sensitive") svn path=/trunk/; revision=10861
* Add new columns for information specification (meeting_page_destroy): saveJP Rosevear2001-07-041-0/+5
| | | | | | | | | | | | | | | | | | | 2001-07-03 JP Rosevear <jpr@ximian.com> * gui/dialogs/meeting-page.c: Add new columns for information specification (meeting_page_destroy): save the table state (build_etable): load new table state * gui/dialogs/task-editor.c (task_editor_destroy): unref pages * gui/dialogs/event-editor.c (event_editor_destroy): unref pages * gui/dialogs/comp-editor.c (setup_widgets): kill warning (comp_editor_append_page): ref page passed in (close_dialog): unref pages svn path=/trunk/; revision=10777
* implementJP Rosevear2001-07-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-02 JP Rosevear <jpr@ximian.com> * gui/e-itip-control.c (send_freebusy): implement * cal-util/cal-component.c (set_attendee_list): add the delto property rather than the delfrom property twice * gui/dialogs/task-editor.c (task_editor_edit_comp): show delegation info if appropriate (delegate_task_cmd): delegate command (cancel_task_cmd): cancel command (refresh_task_cmd): refresh command * gui/dialogs/task-details-page.c: Load new widgets (task_details_page_show_delegation): show/hide delegation info widgets * gui/dialogs/task-details-page.h: new proto * gui/dialogs/event-editor.c (event_editor_edit_comp): free attendee list when finished * gui/dialogs/comp-editor.c (setup_widgets): explicitly show the widgets, update pixmaps after the verbs have been added (comp_editor_focus): don't do a show all svn path=/trunk/; revision=10697
* 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
* itip/imip send dialogJP Rosevear2001-06-201-4/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-06-19 JP Rosevear <jpr@ximian.com> * gui/dialogs/send-comp.c: itip/imip send dialog * gui/dialogs/send-comp.h: new proto * gui/dialogs/recurrence-page.c (recurrence_page_set_dates): only use the weekday picker if visible * gui/dialogs/meeting-page.c: just show the meeting list * gui/dialogs/event-editor.c (event_editor_edit_comp): remove the meeting page if no attendees (schedule_meeting_cmd): schedule a meeting menu item (refresh_meeting_cmd): refresh meeting request menu item (cancel_meeting_cmd): ditto for cancel (forward_cmd): send as attachment * gui/dialogs/comp-editor.c (comp_editor_remove_page): remove page from dialog (comp_editor_show_page): show a given page (comp_editor_get_current_comp): return a cal component representing the current widget state (comp_editor_save_comp): save the cal component (comp_editor_delete_comp): delete the cal component (comp_editor_send_comp): send the cal component (comp_editor_merge_ui): merge xml in to the bonobo gui (setup_widgets): use a bonobo window instead of a gtk window, add menus again (save_as_cmd): save to file on disk - still broken (save_close_cmd): close menu command (save_close_cmd): save and close menu command * gui/dialogs/comp-editor.h: new protos * gui/dialogs/cancel-comp.c (cancel_component_dialog): itip/imip cancellation dialog * gui/dialogs/cancel-comp.h: new proto * gui/dialogs/Makefile.am: build new files * gui/dialogs/comp-editor-page.c (comp_editor_page_notify_needs_send): emit needs_send signal * gui/dialogs/comp-editor-page.h: new signal protos * gui/itip-utils.c (itip_send_comp): new function to send cal components * gui/itip-utils.h: new proto * gui/e-itip-control.c (pstream_load): trim using cal-component wrapper stuff (accept_button_clicked_cb): use itip_send_comp (tentative_button_clicked_cb): ditto (decline_button_clicked_cb): ditto * gui/Makefile.am: compile select name idl stuff * cal-util/cal-component.c (cal_component_get_organizer): get the organizer (cal_component_set_organizer): set the organizer (cal_component_get_recurid): get the recurrence id (cal_component_set_recurid): set the recurrence id (set_attendee_list): actually set the attendee list (get_attendee_list): build the attendee list * cal-util/cal-component.h: new protos svn path=/trunk/; revision=10299
* renamed from editor-page for consistency, more complete implementationJP Rosevear2001-06-021-0/+155
2001-06-01 JP Rosevear <jpr@ximian.com> * gui/dialogs/comp-editor-page.[hc]: renamed from editor-page for consistency, more complete implementation * gui/dialogs/comp-editor.[hc]: More complete implementation * gui/dialogs/*-page.*: The various pages needed to construct the event and task dialogs * gui/dialogs/comp-editor-util.[hc]: useful utility functions for the component editor pages to use * gui/dialogs/Makefile.am: Build and install new files * gui/event-editor*: Remove, obsoleted by the new comp-editor stuff * gui/dialogs/task-editor-dialog.glade: ditto * gui/e-calendar-table.c (open_task): update to use comp editor stuff * gui/e-tasks.c (e_tasks_new_task): ditto * gui/gnome-cal.c (gnome_calendar_edit_object): ditto * gui/Makefile.am: don't build non-existent files nor try to install them svn path=/trunk/; revision=10088