aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-meeting-model.h
Commit message (Collapse)AuthorAgeFilesLines
* Various changes to merge in evolution-data-server reliance.JP Rosevear2003-11-071-3/+3
| | | | svn path=/trunk/; revision=23206
* Merge new-ui-branch to the trunk.Ettore Perazzoli2003-10-221-0/+116
| | | | svn path=/trunk/; revision=22965
* new VOID:STRING,STRING,STRING build the new view/store/renderer/editableMike Kestner2003-10-011-116/+0
| | | | | | | | | | | | | | | | | | | | | 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
* unref the model again (task_editor_edit_comp): don't allow editing if theJP Rosevear2003-05-021-18/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* add back protoJP Rosevear2002-06-251-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* remove unneeded parameter from print_text_size everywhereJP Rosevear2002-03-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-03-05 JP Rosevear <jpr@ximian.com> * gui/print.c: remove unneeded parameter from print_text_size everywhere (get_font_for_size): calculate a font size based on the available height (print_text): calculate the top of where the font should be drawn (print_text_size): use get_font_for_size (print_day_background): use get_font_for_size 2002-03-05 JP Rosevear <jpr@ximian.com> * gui/e-meeting-time-sel-item.c (e_meeting_time_selector_item_draw): pass the real table to e_meeting_model_etable_view_to_model_row (e_meeting_time_selector_item_paint_busy_periods): ditto * gui/dialogs/meeting-page.c (right_click_cb): ditto * gui/e-meeting-model.h: update protos * gui/e-meeting-model.c (e_meeting_model_etable_model_to_view_row): take in to account the fact the table used the without model (e_meeting_model_etable_view_to_model_row): ditto svn path=/trunk/; revision=15926
* use new column enums (set_value_at): emit pre-change/cell change signalsJP Rosevear2002-02-161-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-02-14 JP Rosevear <jpr@ximian.com> * gui/e-meeting-model.c: use new column enums (set_value_at): emit pre-change/cell change signals (destroy): destroy refresh_queue and refresh_data (init): init new elements (refresh_queue_add): if the attendee is being refreshed already, possibly update the start/end times to look for and update the callback info, otherwise add it to the queue (refresh_queue_remove): remove a refreshing attende from the queue (process_callbacks): make all the callbacks and remove the attendee from the queue (process_free_busy): process the callbacks immediately if parsing fails or on successful completion of processing (async_close): process free busy (cursor_cb): we're only looking for one at a time now (refresh_busy_periods): idle callback to start processing the queue (e_meeting_model_refresh_all_busy_periods): add every row to the queue (e_meeting_model_refresh_busy_periods): add a single row to the queue * gui/e-meeting-model.h: new protos, enum the columns * gui/e-meeting-time-sel.c: use new compare time function (e_meeting_time_selector_construct): listen for a cell changed signal and use separate callbacks for rows_inserted and rows_deleted (e_meeting_time_selector_refresh_free_busy): util function to refresh free busy info (e_meeting_time_selector_on_update_free_busy): use above (rows_inserted_cb): refresh free busy on the new rows (cell_changed_cb): refresh free busy on the row when the address changes (rows_deleted_cb): redraw * gui/e-meeting-utils.[hc]: a holding spot for a meeting time comparison function * gui/Makefile.am: compile new files svn path=/trunk/; revision=15741
* properly convert the dtstart and dtend times if they are UTC (cursor_cb):JP Rosevear2001-12-121-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | 2001-12-11 JP Rosevear <jpr@ximian.com> * gui/e-meeting-model.c (process_free_busy_comp): properly convert the dtstart and dtend times if they are UTC (cursor_cb): if we don't have anybody to get f/b info for, process the callbacks immediately (e_meeting_model_refresh_busy_periods): take start/end times, calculate the timet values with object timezone (e_meeting_model_etable_model_to_view_row): proper cast (e_meeting_model_etable_view_to_model_row): ditto (async_open): bail out if we couldn't open properly * gui/e-meeting-time-sel.c (e_meeting_time_selector_on_update_free_busy): use defines for determining the number of days before and after of free busy to request (e_meeting_time_selector_update_dates_shown): use defines for the number of days shown * gui/e-meeting-model.h: update proto svn path=/trunk/; revision=15000
* new protosJP Rosevear2001-11-121-0/+3
| | | | | | | | | | | | | | | | | 001-11-11 JP Rosevear <jpr@ximian.com> * gui/e-meeting-model.h: new protos * gui/e-meeting-model.c (e_meeting_model_get_zone): accessor (e_meeting_model_set_zone): ditto (init): init to the calendar default zone (process_free_busy_comp): take the zone to convert to as a param (e_meeting_model_refresh_busy_periods): redraw properly * gui/dialogs/schedule-page.c (update_time): set the zone of the model svn path=/trunk/; revision=14669
* count the actual attendees (doesn't include people delegatingJP Rosevear2001-10-311-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-30 JP Rosevear <jpr@ximian.com> * gui/e-meeting-model.c (e_meeting_model_count_actual_attendees): count the actual attendees (doesn't include people delegating * gui/e-meeting-time-sel.c: use e_meeting_model_count_actual_attendees (renamed) * gui/e-meeting-time-sel-item.c: use e_meeting_model_etable_view_to_model_row calls instead of calling on the model directly, use e_meeting_model_count_actual_attendees * gui/e-meeting-model.c (e_meeting_model_etable_model_to_view_row): get the real mapping (e_meeting_model_etable_view_to_model_row): ditto (get_key): e-table-without callback (duplicate_key): ditto (free_gotten_key): ditto (free_duplicated_key): ditto (init): create without model (e_meeting_model_etable_from_model): build etable from without model * gui/e-meeting-model.h: update protos * gui/dialogs/meeting-page.c (right_click_cb): convert row from view to model row svn path=/trunk/; revision=14462
* 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
* call the invite others dialog in the modelJP Rosevear2001-10-191-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-18 JP Rosevear <jpr@ximian.com> * gui/e-meeting-time-sel.c (e_meeting_time_selector_on_invite_others_button_clicked): call the invite others dialog in the model * gui/e-meeting-attendee.c (e_meeting_attendee_get_atype): pick attendee type based on role and cutype * gui/e-meeting-attendee.h: remove proto * gui/Makefile.am: compile select names idl * gui/e-meeting-model.h: new proto * gui/dialogs/meeting-page.c: remove invite others dialogs bits from here * gui/e-meeting-model.c (e_meeting_model_invite_others_dialog): and put them here * gui/dialogs/Makefile.am: compile corba bits in parent dir * gui/dialogs/comp-editor-util.h: reflect above in includes * gui/dialogs/e-delegate-dialog.c: ditto * gui/dialogs/schedule-page.c: ditto and clean includes svn path=/trunk/; revision=13775
* A page that shows the meeting time selector and free/busy data forJP Rosevear2001-09-191-0/+91
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