aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/dialogs/meeting-page.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove a bunch of gal includes that are no longer neededJP Rosevear2003-11-201-4/+0
| | | | | | | | 2003-11-20 JP Rosevear <jpr@ximian.com> * Remove a bunch of gal includes that are no longer needed svn path=/trunk/; revision=23457
* Cleanup some ref/unref callsJP Rosevear2003-11-181-8/+8
| | | | | | | | 2003-11-17 JP Rosevear <jpr@ximian.com> * Cleanup some ref/unref calls svn path=/trunk/; revision=23412
* Various changes to merge in evolution-data-server reliance.JP Rosevear2003-11-071-22/+22
| | | | svn path=/trunk/; revision=23206
* Make the scrolled window have a GTK_SHADOW_IN shadow. Likewise.Ettore Perazzoli2003-10-231-0/+1
| | | | | | | | * gui/calendar-component.c (impl_createControls): Make the scrolled window have a GTK_SHADOW_IN shadow. * gui/dialogs/meeting-page.c (meeting_page_construct): Likewise. svn path=/trunk/; revision=22994
* Merge new-ui-branch into the trunk.Ettore Perazzoli2003-10-221-3/+9
| | | | svn path=/trunk/; revision=22966
* new VOID:STRING,STRING,STRING build the new view/store/renderer/editableMike Kestner2003-10-011-138/+44
| | | | | | | | | | | | | | | | | | | | | 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
* ** Fixes #47464.Harry Lu2003-08-121-1/+1
| | | | | | | | | | | 2003-08-12 Harry Lu <harry.lu@sun.com> ** Fixes #47464. * gui/dialogs/meeting-page.c: (get_widgets): The Organizer's value need not match one of the values in the list. svn path=/trunk/; revision=22183
* unref the model again (task_editor_edit_comp): don't allow editing if theJP Rosevear2003-05-021-1/+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
* Fixes part of #41148, #41216 and #41235Rodrigo Moya2003-04-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | 2003-04-22 Rodrigo Moya <rodrigo@ximian.com> Fixes part of #41148, #41216 and #41235 * gui/e-itip-control.c (init): * gui/e-meeting-time-sel.c (e_meeting_time_selector_construct, e_meeting_time_selector_add_key_color): * gui/e-timezone-entry.c (e_timezone_entry_init): * gui/gnome-cal.c (setup_widgets): * gui/tasks-control.c (confirm_expunge): * gui/dialogs/comp-editor.c (setup_widgets): * gui/dialogs/e-delegate-dialog.c (e_delegate_dialog_construct): * gui/dialogs/meeting-page.c (meeting_page_construct): * gui/dialogs/recurrence-page.c (make_weekly_special, make_monthly_special, make_ending_count_special): * gui/dialogs/schedule-page.c (schedule_page_construct): use HIG-suggested spacing. svn path=/trunk/; revision=20927
* Fixes #41459JP Rosevear2003-04-171-1/+4
| | | | | | | | | | 2003-04-17 JP Rosevear <jpr@ximian.com> Fixes #41459 * gui/dialogs/meeting-page.c: comment out delegation stuff svn path=/trunk/; revision=20880
* If we already have an evolution_dir, free the old one before setting itHans Petter Jansson2003-04-161-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* added missing capabilities.Rodrigo Moya2003-04-111-2/+6
| | | | | | | | | | | | | | | | | | | 2003-04-11 Rodrigo Moya <rodrigo@ximian.com> * cal-util/cal-util.h: added missing capabilities. * cal-client/cal-client.c (cal_client_get_one_alarm_only, cal_client_get_organizer_must_attend, cal_client_get_save_schedules): * gui/itip-utils.c (itip_organizer_is_user): * gui/e-calendar-table.c (e_calendar_table_on_right_click): * gui/dialogs/task-editor.c (set_menu_sens): * gui/dialogs/event-page.c (event_page_fill_widgets): * gui/dialogs/meeting-page.c (meeting_page_fill_widgets): * gui/dialogs/alarm-page.c (button_options_clicked_cb): use the macros defined in cal-util.h for static capabilities. svn path=/trunk/; revision=20815
* unref the main widget since we ref it when we un-parent itJP Rosevear2003-04-111-0/+3
| | | | | | | | | | | | | | | | | | | | | | 2003-04-11 JP Rosevear <jpr@ximian.com> * gui/dialogs/schedule-page.c (schedule_page_finalize): unref the main widget since we ref it when we un-parent it * gui/dialogs/alarm-page.c (alarm_page_finalize): ditto * gui/dialogs/task-page.c (task_page_finalize): ditto * gui/dialogs/event-page.c (event_page_finalize): ditto * gui/dialogs/task-details-page.c (task_details_page_finalize): ditto * gui/dialogs/recurrence-page.c (recurrence_page_finalize): ditto * gui/dialogs/meeting-page.c (meeting_page_finalize): ditto svn path=/trunk/; revision=20811
* init new members (get_current_account): get a matching account for theJP Rosevear2003-03-281-56/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-03-28 JP Rosevear <jpr@ximian.com> * gui/dialogs/meeting-page.c (meeting_page_init): init new members (get_current_account): get a matching account for the currently selected user in the combo (meeting_page_finalize): unref the meeting attendee if there is one (meeting_page_fill_widgets): don't set the combo list here (clear_widgets): set the default organizer here and if we don't have an organizer, add the default organizer as an attendee (meeting_page_fill_component): use get_current_account (org_changed_cb): if this is a new meeting and the organizer changes, change the attendee (change_clicked_cb): no need to set the default here (init_widgets): reflect changed callback name (meeting_page_construct): set the combo strings here (popup_delete_cb): remove the organizer attendee if the user explicitly deletes it * gui/e-meeting-model.c (attendee_changed_cb): set row properly * gui/itip-utils.c (comp_to_list): skip the user themselves if cancelling or requesting svn path=/trunk/; revision=20557
* Update for e_notice moveDan Winship2003-03-251-3/+4
| | | | | | | | | | | | | | | | | | * gui/itip-utils.c: Update for e_notice move * gui/tasks-control.c (confirm_expunge): Move the code that used to be e_gnome_dialog_set_parent here, since it was marked deprecated and this was the only place using it. * gui/dialogs/comp-editor.c: Update for e_notice move (page_changed_cb, page_summary_changed_cb, page_dates_changed_cb): Pass a parent_window to e_notice. * gui/dialogs/meeting-page.c: Update for e_notice move. (meeting_page_fill_component, meeting_page_fill_component, popup_delegate_cb): Pass a parent_window to e_notice svn path=/trunk/; revision=20503
* Fixes #34095Hans Petter Jansson2003-03-181-1/+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
* don't let the user change to an email organizer if the back end is not anJP Rosevear2003-03-051-0/+2
| | | | | | | | | | 2003-03-04 JP Rosevear <jpr@ximian.com> * gui/dialogs/meeting-page.c (meeting_page_fill_widgets): don't let the user change to an email organizer if the back end is not an email addres svn path=/trunk/; revision=20162
* call cal_client_get_cal_address instead of cal_client_get_email_addressJP Rosevear2003-03-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-03-04 JP Rosevear <jpr@ximian.com> * gui/itip-utils.c (itip_organizer_is_user): call cal_client_get_cal_address instead of cal_client_get_email_address * gui/dialogs/meeting-page.c (meeting_page_construct): ditto * pcs/cal.c (impl_Cal_get_cal_address): implement updated method name (cal_class_init): set method implementation * pcs/cal-backend.c (cal_backend_class_init): init get_cal_address virtual function (cal_backend_get_cal_address): call proper function * pcs/cal-backend.h: update proto, rename get_email_address virtual function to get_cal_address virtual function * pcs/cal-backend-file.c (cal_backend_file_class_init): match get_cal_address call (cal_backend_file_get_cal_address): rename from cal_backend_file_get_email_address * cal-client/cal-client.c: rename email_address private member to cal_address (cal_client_init): init cal_address (cal_client_destroy): free cal_address and properly free alarm_email_address (cal_client_get_cal_address): rename from cal_client_get_email_address and call proper corba function svn path=/trunk/; revision=20151
* If only the pipe wouldn't break.JP Rosevear2003-03-051-4/+11
| | | | svn path=/trunk/; revision=20143
* gui/dialogs/alarm-page.c gui/dialogs/event-page.cHans Petter Jansson2003-03-041-1/+1
| | | | | | | | | | | | | | | | 2003-03-03 Hans Petter Jansson <hpj@ximian.com> * gui/dialogs/alarm-page.c * gui/dialogs/event-page.c * gui/dialogs/meeting-page.c * gui/dialogs/recurrence-page.c * gui/dialogs/schedule-page.c * gui/dialogs/task-details-page.c * gui/dialogs/task-page.c (get_widgets): gtk_widget_unparent() -> gtk_container_remove(). The former caused crashes in the addressbook's name-selector. svn path=/trunk/; revision=20130
* Don't warn if calendar isn't loaded... Doesn't seem to hurt, but thisHans Petter Jansson2003-02-241-1/+4
| | | | | | | | | | | | | | | | | | | | | | 2003-02-23 Hans Petter Jansson <hpj@ximian.com> * cal-client/cal-client.c (cal_client_is_read_only): Don't warn if calendar isn't loaded... Doesn't seem to hurt, but this should probably be investigated further. * gui/dialogs/comp-editor-util.c (comp_editor_contacts_to_widget): If we have no contacts, don't bother trying to set them in the widget. Used to pass a NULL list, which would lead to much anxiety in callees. * gui/dialogs/meeting-page.c (meeting_page_fill_widgets): If we have no potential organizers, emit a sensible warning. * gui/dialogs/task-page.c (init_widgets): Don't try to connect to the "changed" signal of the GtkTextView -- we listen to the GtkTextBuffer now. svn path=/trunk/; revision=20019
* gconf settings upgradesMichael Zucci2003-02-241-23/+33
| | | | svn path=/trunk/; revision=20018
* Use e_auto_kill_popup_menu_on_selection_done() instead ofEttore Perazzoli2003-02-071-1/+1
| | | | | | | | | | * gui/e-day-view-time-item.c (e_day_view_time_item_show_popup_menu): Use e_auto_kill_popup_menu_on_selection_done() instead of e_auto_kill_popup_menu_on_hide(). * gui/dialogs/meeting-page.c (right_click_cb): Likewise. svn path=/trunk/; revision=19835
* Remove cruft. Rename ICONSDIR to IMAGESDIR. (gladedir, etspecdir): RemoveDan Winship2003-02-061-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gui/dialogs/Makefile.am (INCLUDES): Remove cruft. Rename ICONSDIR to IMAGESDIR. (gladedir, etspecdir): Remove definitions * gui/dialogs/alarm-page.c: #include gtktreeselection.h and gtkcellrenderertext.h (append_reminder): Remove unused variable. (alarm_page_fill_component): Likewise. (alarm_page_set_summary): Likewise. (delete_clicked_cb): Likewise. * gui/dialogs/comp-editor.c (make_icon_from_comp): s/ICONSDIR/IMAGESDIR/ * gui/dialogs/event-page.c: #include <string.h> * gui/dialogs/meeting-page.c (meeting_page_construct): Remove unused variable. (meeting_page_fill_widgets): Likewise * gui/dialogs/recurrence-page.c: #include gtktreeselection.h and gtkcellrenderertext.h (append_exception): Remove unused variable (fill_component): Likewise (recurrence_page_set_summary): Likewise. (exception_delete_cb): Likewise svn path=/trunk/; revision=19792
* Mainly making all views use PangoLayouts for text. When drawing aHans Petter Jansson2003-01-261-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-9/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* GTK_OBJECT -> G_OBJECT cast.Hans Petter Jansson2003-01-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | 2003-01-23 Hans Petter Jansson <hpj@ximian.com> * gui/dialogs/event-page.c (get_widgets): GTK_OBJECT -> G_OBJECT cast. * gui/dialogs/alarm-page.c (get_widgets): Ditto. * gui/dialogs/meeting-page.c (get_widgets): Ditto. * gui/dialogs/recurrence-page.c (get_widgets): Ditto. * gui/dialogs/schedule-page.c (get_widget): Ditto. * gui/dialogs/task-details-page.c (get_widget): Ditto. * gui/dialogs/task-page.c (get_widget): Ditto. * gui/e-meeting-time-sel.c (e_meeting_time_selector_construct): Add a FIXME comment to think about. svn path=/trunk/; revision=19610
* Removed. Removed.Ettore Perazzoli2003-01-141-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gui/config-control-factory.h: Removed. * gui/config-control-factory.c: Removed. * gui/itip-bonobo-control.c: Renamed from itip-control-factory.c. (itip_bonobo_control_new): New. (itip_control_factory_init): Removed. * gui/itip-bonobo-control.h: Renamed from itip-control-factory.h. * gui/tasks-control-factory.c: Removed. * gui/tasks-control-factory.h: Removed. * gui/control-factory.c (control_factory_init): Removed. * gui/Makefile.am: Updated to build everything as libevolution-calendar.so and install in the COMPONENTDIR. * gui/GNOME_Evolution_Calendar.server.in.in: Updated to build the component as a shared library. * gui/main.c (main): Removed. * gui/calendar-component.c (calendar_component_get_object): New. (owner_set_cb): Do not store the shell pointer in shells. (owner_unset_cb): Do not remove the shell pointer from shells; instead, just set global_shell_client to NULL. * gui/calendar-component.h: Renamed from component-factory.h. * gui/calendar-component.c: Renamed from component-factory.c. svn path=/trunk/; revision=19430
* Replace gtk_signal_disconnect_by_data() withHans Petter Jansson2002-12-191-32/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-26/+26
| | | | | | | | | | | | | | | | | | | | 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
* Initial port of gui/ subdir to GNOME 2JP Rosevear2002-11-081-4/+5
| | | | | | | | 2002-11-07 JP Rosevear <jpr@ximian.com> * Initial port of gui/ subdir to GNOME 2 svn path=/trunk/; revision=18648
* Non-Connector part of #29334 (meeting created by a delegate in theDan Winship2002-09-281-5/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* set the deleted attendees array to size 0 after we clean it upJP Rosevear2002-09-201-1/+2
| | | | | | | | | | | 002-09-20 JP Rosevear <jpr@ximian.com> * gui/dialogs/meeting-page.c (meeting_page_fill_widgets): set the deleted attendees array to size 0 after we clean it up Fixes #30479 svn path=/trunk/; revision=18135
* add back protoJP Rosevear2002-06-251-91/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Bumped required gal version number to 0.19.99.11.Christopher James Lahey2002-04-181-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Updated to use new EPopupMenu API.Jeffrey Stedfast2002-03-161-5/+8
| | | | | | | | | | | | 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
* remove unneeded parameter from print_text_size everywhereJP Rosevear2002-03-061-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Convert strings to GTK+ encoding. (meeting_page_destroy): Free allocatedChyla Zbigniew2001-11-101-2/+5
| | | | | | | | | * gui/dialogs/meeting-page.c (meeting_page_fill_widgets): Convert strings to GTK+ encoding. (meeting_page_destroy): Free allocated strings before freeing the list itself. svn path=/trunk/; revision=14647
* Add _() to a string that was missing it.Federico Mena Quintero2001-10-311-1/+1
| | | | | | | | | 2001-10-30 Federico Mena Quintero <federico@ximian.com> * gui/dialogs/meeting-page.c (meeting_page_fill_component): Add _() to a string that was missing it. svn path=/trunk/; revision=14491
* Commit the ETable click-to-add for if the dialog is being destroyed.Federico Mena Quintero2001-10-311-1/+23
| | | | | | | | | | 2001-10-30 Federico Mena Quintero <federico@ximian.com> * gui/dialogs/meeting-page.c (table_canvas_focus_out_cb): Commit the ETable click-to-add for if the dialog is being destroyed. Should fix bug #13959. svn path=/trunk/; revision=14481
* count the actual attendees (doesn't include people delegatingJP Rosevear2001-10-311-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* get the management object by idJP Rosevear2001-10-301-1/+0
| | | | | | | | | | | | 2001-10-29 JP Rosevear <jpr@ximian.com> * conduits/todo/todo-conduit-config.h (todoconduit_load_configuration): get the management object by id * conduits/calendar/calendar-conduit-config.h (calconduit_load_configuration): ditto svn path=/trunk/; revision=14353
* Fixing the license text.Ettore Perazzoli2001-10-281-4/+3
| | | | svn path=/trunk/; revision=14214
* subtract 1 from any positive BYSETPOS value, since our array is 0-based.Damon Chaplin2001-10-261-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-25 Damon Chaplin <damon@ximian.com> * cal-util/cal-recur.c (cal_obj_bysetpos_filter): subtract 1 from any positive BYSETPOS value, since our array is 0-based. * gui/dialogs/recurrence-page.c (simple_recur_to_comp): (recurrence_page_fill_widgets): Outlook (2000) will not accept monthly recurrences like BYDAY=2TU. Instead it uses BYDAY=TU;BYSETPOS=2. So to be compatable with it we now do the same, although we still accept and convert the old format. * cal-client/cal-client.c (cal_client_get_component_as_string): new function to return a complete VCALENDAR string containing a VEVENT or VTODO with all the VTIMEZONEs it uses. * gui/dialogs/comp-editor.c (save_as_ok): use above function so we save the VTIMEZONE data with the VEVENT/VTODO. Fixes bug #????. Also made sure we output "METHOD:PUBLISH" since Outlook (2000) will not import it otherwise. * gui/dialogs/comp-editor.c (page_mapped_cb): (page_unmapped_cb): install/uninstall the GtkAccelGroup for the page. (comp_editor_append_page): connect to the map/unmap signals to install/uninstall the accelerators. (This is all for bug #11609, though of course it doesn't work too well in GTK+ 1.2 anyway.) * gui/dialogs/task-page.c (get_widgets): * gui/dialogs/task-details-page.c (get_widgets): * gui/dialogs/schedule-page.c (get_widgets): * gui/dialogs/recurrence-page.c (get_widgets): * gui/dialogs/meeting-page.c (get_widgets): * gui/dialogs/event-page.c (get_widgets): * gui/dialogs/alarm-page.c (get_widgets): got the GtkAccelGroup from the original window, ref'ed it and placed it in the CompEditorPage struct. * gui/dialogs/comp-editor-page.c (comp_editor_page_destroy): unref any GtkAccelGroup for the page. * gui/dialogs/task-page.glade: changed '_Confidential' to 'Con_fidential' as it clashed with '_Contacts'. It now matches the event editor as well. * gui/dialogs/event-page.glade: * gui/dialogs/task-page.glade: Set CAN_FOCUS to TRUE for the custom EDateEdit widgets, and set them as the accel targets of the labels. svn path=/trunk/; revision=14108
* we don't need to save the stateJP Rosevear2001-10-221-8/+0
| | | | | | | | | | | | | | | | 2001-10-22 JP Rosevear <jpr@ximian.com> * gui/dialogs/meeting-page.c (meeting_page_destroy): we don't need to save the state * gui/e-meeting-time-sel.c (e_meeting_time_selector_destroy): ditto * gui/e-meeting-model.c (build_etable): listen for the etable being destroyed (table_destroy_cb): save the state when the etable is destroyed svn path=/trunk/; revision=13872
* call the invite others dialog in the modelJP Rosevear2001-10-191-146/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* return fill_component successJP Rosevear2001-10-131-17/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* util function to get address (itip_addresses_get_default): get only theJP Rosevear2001-10-101-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-09 JP Rosevear <jpr@ximian.com> * gui/itip-utils.c (get_address): util function to get address (itip_addresses_get_default): get only the default address (itip_address_free): free single address (itip_addresses_free): use above (comp_limit_attendees): limit the number of attendees to one, the user (comp_sentby): set the sentby parameter if the user is not the organizer (comp_minimal): remove extraneous info for send (for refresh and declinecounter) (comp_compliant): remove all alarms, do various things to make the components comply with itip spec based on method (itip_send_comp): use comp_compliant method * gui/itip-utils.h: new protos * gui/e-itip-control.c: rescan the component when necessary (get_next): don't get stuck in infinite loop if there are no viewable components (e_itip_control_set_data): if there are no viewable components, spit an error message * gui/dialogs/meeting-page.h: tidy * gui/dialogs/meeting-page.c (meeting_page_fill_widgets): use organizer's cn if possible (other_clicked_cb): no longer doing the sent by stuff directly, hide more widgets * pcs/query.c: use bonobo exception stuff * cal-util/cal-component.c (cal_component_rescan): have the comp rescan its libical component (for when you change things directly) (free_icalcomponent): take a param on whether to free the component or just clean up the mappings (cal_component_has_attendees): util function * cal-util/cal-component.h: new protos svn path=/trunk/; revision=13525
* listen for model changes (task_editor_edit_comp): add the attendees to theJP Rosevear2001-09-201-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-738/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Updated required version of gal to 0.11.99.4.Christopher James Lahey2001-09-171-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-16 Christopher James Lahey <clahey@ximian.com> * configure.in: Updated required version of gal to 0.11.99.4. From calendar/ChangeLog: 2001-09-16 Christopher James Lahey <clahey@ximian.com> * gui/dialogs/meeting-page.c (build_etable): Updated this to match the new ETableSimple interface. From mail/ChangeLog: 2001-09-16 Christopher James Lahey <clahey@ximian.com> * message-list.c (ml_get_node_by_id): Made save_id const here. From shell/ChangeLog: 2001-09-16 Christopher James Lahey <clahey@ximian.com> * e-storage-set-view.c (etree_get_node_by_id): Made save_id const here. svn path=/trunk/; revision=12870
* use ical partstat, role, cutypes directlyJP Rosevear2001-09-141-47/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-13 JP Rosevear <jpr@ximian.com> * cal-util/cal-component.h: use ical partstat, role, cutypes directly * cal-util/cal-component.c: ditto * gui/e-itip-control.c (find_my_address): set my addresses if the addresses match (find_attendee): strstr returns non-null on a match (write_html): use new icon, select the name displayed (organizer or attendee) based on method, (ok_clicked_cb): when rsvp'ing strip off all but the attendee being replied for as is specified in the spec (find_attendee_partstat): new util function to extract the partstat of an attendee (update_attendee_status): updates the partstat of a specific attendee in the reply message * gui/dialogs/meeting-page.c: use ical partstat, role, cutypes directly (popup_delegate_cb): if we delegate, notify of needs send and changed (popup_delete_cb): notify of needs send and changed for each deletion svn path=/trunk/; revision=12806
* free the destination vector when we finish with it, if we actually addJP Rosevear2001-09-121-5/+4
| | | | | | | | | | | 2001-09-11 JP Rosevear <jpr@ximian.com> * gui/dialogs/meeting-page.c (invite_entry_changed): free the destination vector when we finish with it, if we actually add anyone, notify listeners of the needs send and changed info. Fixes bug #8632. svn path=/trunk/; revision=12771
* don't call calendar_config_check_timezone_set() now, since the startupDamon Chaplin2001-09-041-8/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* set the attendees of a component (meeting_page_fill_component): use aboveJP Rosevear2001-08-091-27/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Mark strings for translationJP Rosevear2001-07-311-67/+64
| | | | | | | | 2001-07-30 JP Rosevear <jpr@ximian.com> * gui/dialogs/meeting-page.c: Mark strings for translation svn path=/trunk/; revision=11480
* when an entry has changed, iterate over the elements of the entry and addJP Rosevear2001-07-271-175/+248
| | | | | | | | | | | 2001-07-26 JP Rosevear <jpr@ximian.com> * gui/dialogs/meeting-page.c (invite_entry_changed): when an entry has changed, iterate over the elements of the entry and add them to the list if need be (get_select_name_dialog): add a Chair Persons section svn path=/trunk/; revision=11443
* free a list of attendees (meeting_page_fill_widgets): clean up attendeeJP Rosevear2001-07-271-15/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-26 JP Rosevear <jpr@ximian.com> * gui/dialogs/meeting-page.c (cleanup_attendees): free a list of attendees (meeting_page_fill_widgets): clean up attendee lists and fix typo (find_match): add ability to return pos of match (popup_delete_cb): if deletion happens, make sure to tidy up delegation chain * gui/dialogs/e-delegate-dialog.c (e_delegate_dialog_construct): use the destination rather than text property (e_delegate_dialog_get_delegate): ditto (e_delegate_dialog_new): take name/address pair for dialog default * gui/dialogs/e-delegate-dialog.h: update protos * gui/e-itip-control.c (clean_up): only unref the object if we have one * gui/itip-control-factory.c (stream_read): make sure we null terminate the final buffer * gui/itip-utils.c (itip_send_comp): strip the mailto: from the organizer address if necessary svn path=/trunk/; revision=11440
* see if the address is already in the list of attendees (duplicate_error):JP Rosevear2001-07-261-16/+57
| | | | | | | | | | | | | | | 2001-07-25 JP Rosevear <jpr@ximian.com> * gui/dialogs/meeting-page.c (is_duplicate): see if the address is already in the list of attendees (duplicate_error): throw up an error dialog (popup_delegate_cb): if the attendee has already delegated, delete the old delegatee (value_at): cast to kill warnings (append_row): don't add the new attendee if they are already in the list svn path=/trunk/; revision=11406
* stip the delto and delfrom (popup_delegate_cb): show a delegate dialog andJP Rosevear2001-07-251-38/+96
| | | | | | | | | | | | | | | | | | | | 2001-07-24 JP Rosevear <jpr@ximian.com> * gui/dialogs/meeting-page.c (value_at): stip the delto and delfrom (popup_delegate_cb): show a delegate dialog and add the new delegatee and update the delegator (add_section): listen for changes in a more direct manner (get_select_name_dialog): add_section now takes a limit argument * gui/dialogs/e-delegate-dialog.[hc]: New dialog to query the user for a person to delegate to * gui/dialogs/Makefile.am: build/install new files * gui/Makefile.am: add ldadd line for ebook svn path=/trunk/; revision=11364
* Print a g_message when the list of invited people changes in theJon Trowbridge2001-07-171-2/+11
| | | | | | | | | | | | | 2001-07-17 Jon Trowbridge <trow@ximian.com> * gui/dialogs/meeting-page.c (invite_entry_changed): Print a g_message when the list of invited people changes in the SelectNames control. (add_section): #if 0/#endif out some (broken?) code. (get_select_name_dialog): Listen for changes in the SelectNames control. svn path=/trunk/; revision=11151
* fix typo breaking compilationJP Rosevear2001-07-131-1/+1
| | | | | | | | | | | | | | | 2001-07-12 JP Rosevear <jpr@ximian.com> * gui/e-calendar-table.c (e_calendar_table_copy_clipboard): fix typo breaking compilation * gui/dialogs/meeting-page.c: fix include * gui/dialogs/Makefile.am: build select names idl here * gui/Makefile.am: remove select names compilation from here svn path=/trunk/; revision=11050
* be careful about adding and stripping MAILTO:'s properlyJP Rosevear2001-07-121-11/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-11 JP Rosevear <jpr@ximian.com> * gui/dialogs/meeting-page.c: be careful about adding and stripping MAILTO:'s properly * gui/dialogs/meeting-page.etspec: add missing columns * gui/itip-utils.c (itip_strip_mailto): point to the real start of the email address * gui/itip-utils.h: add proto * gui/itip-control-factory.c: get rid of the my address property * gui/e-itip-control.c: use the users real identity to figure out which attendee they are (find_my_address): figure out who the user is among the attendees * gui/e-itip-control.h: remove protos * gui/dialogs/Makefile.am: extra dist etspecs * gui/Makefile.am: ditto svn path=/trunk/; revision=11020
* [Fix bug #4388: ETableSpecification still in .c file]Jason Leach2001-07-111-46/+4
| | | | | | | | | | | | | | | | | 2001-07-10 Jason Leach <jleach@ximian.com> [Fix bug #4388: ETableSpecification still in .c file] * gui/dialogs/meeting-page.etspec: New file containing the spec that was previously in meeting-page.c as a string. * gui/dialogs/meeting-page.c: One line change to get it to use this spec file instead of a string. * gui/dialogs/Makefile.am: Necessary changes to get the new meeting-page.etspec installed. svn path=/trunk/; revision=10985
* Add popup support so you can delete users from the listJP Rosevear2001-07-111-6/+130
| | | | | | | | | | | 2001-07-10 JP Rosevear <jpr@ximian.com> * gui/dialogs/meeting-page.c: Add popup support so you can delete users from the list * gui/dialogs/comp-editor.c (setup_widgets): fix typo svn path=/trunk/; revision=10982
* connect to the entry not the comboJP Rosevear2001-07-071-1/+1
| | | | | | | | | | | | | | | | | | | | 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
* actually clear some widgets and hide/show widgets in the default setupJP Rosevear2001-07-071-13/+164
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-06 JP Rosevear <jpr@ximian.com> * gui/dialogs/meeting-page.c (clear_widgets): actually clear some widgets and hide/show widgets in the default setup (meeting_page_destroy): destroy the address lists (meeting_page_fill_widgets): allow the user to select among their identities as a new organizer, or show the existing organizer as label (meeting_page_fill_component): set the "MAILTO:" bit of the organizer to match spec, set CN properly if we know it (get_widgets): load new widgets (other_clicked_cb): handle "Other Organizer" click (change_clicked_cb): handle "Change Organizer" click (init_widgets): listen for clicks on new buttons * gui/dialogs/comp-editor.c (comp_editor_remove_page): remove the page from our internal list and unref it * gui/itip-utils.c (itip_addresses_get): get the configure mail identities (itip_addresses_free): free a list of identities returned by itip_addresses_get * gui/itip-utils.h: remove obsolete protos, and new protos * gui/gnome-cal.html: Remove ancient file svn path=/trunk/; revision=10856
* Fixes bug #4018 and what would be the analogous bugs for the otherFederico Mena Quintero2001-07-051-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-04 Federico Mena Quintero <federico@ximian.com> Fixes bug #4018 and what would be the analogous bugs for the other component editors. * gui/dialogs/comp-editor-page.h (CompEditorPageClass): New virtual method "::focus_main_widget()". * gui/dialogs/comp-editor-page.c (comp_editor_page_focus_main_widget): New function. * gui/dialogs/comp-editor.c (comp_editor_append_page): If we are inserting the main page, ask it to focus its main widget. * gui/dialogs/alarm-page.c (alarm_page_focus_main_widget): Implemented. * gui/dialogs/event-page.c (event_page_focus_main_widget): Implemented. #include "e-util/e-categories-config.h". * gui/dialogs/meeting-page.c (meeting_page_focus_main_widget): Implemented. * gui/dialogs/recurrence-page.c (recurrence_page_focus_main_widget): Implemented. * gui/dialogs/task-details-page.c (task_details_page_focus_main_widget): Implemented. * gui/dialogs/task-page.c (task_page_focus_main_widget): Implemented. svn path=/trunk/; revision=10784
* Add new columns for information specification (meeting_page_destroy): saveJP Rosevear2001-07-041-13/+48
| | | | | | | | | | | | | | | | | | | 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
* cal-client/cal-client.[hc] cal-util/cal-component.cDamon Chaplin2001-07-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* publish free/busy information for the currently viewed time rangeJP Rosevear2001-07-031-8/+91
| | | | | | | | | 2001-07-02 JP Rosevear <jpr@ximian.com> * gui/calendar-commands.c (publish_freebusy_cmd): publish free/busy information for the currently viewed time range svn path=/trunk/; revision=10723
* Renamed the occur field to occur_start; added an occur_end field. This wayFederico Mena Quintero2001-06-271-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-06-26 Federico Mena Quintero <federico@ximian.com> * idl/evolution-calendar.idl (CalAlarmInstance): Renamed the occur field to occur_start; added an occur_end field. This way we can present the complete times for the occurrence from the server. * cal-util/cal-component.h (CalAlarmInstance): Likewise. * pcs/cal-backend-file.c (add_alarm_occurrences_cb): Fill the new fields appropriately. (generate_absolute_triggers): Likewise; we use -1 in case the component has no DTSTART or DTEND because there are no meaningful occurrence dates here. (fill_alarm_instances_seq): Fill in the new fields. * cal-client/cal-client.c (build_alarm_instance_list): Likewise. * gui/alarm-notify/alarm-notify-dialog.c (alarm_notify_dialog): Take in both the occur_start and occur_end times. * gui/goto.c (goto_dialog): Free the dlg structure on the bail-out cases. * gui/dialogs/event-page.c (get_widgets): Do not assert if we cannot find the main widget; just return FALSE. * gui/dialogs/alarm-page.c (get_widgets): Likewise. * gui/dialogs/task-page.c (get_widgets): Likewise. * gui/dialogs/task-details-page.c (get_widgets): Likewise. * gui/dialogs/meeting-page.c (get_widgets): Likewise. svn path=/trunk/; revision=10517
* itip/imip send dialogJP Rosevear2001-06-201-204/+535
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Sync from laptop.JP Rosevear2001-06-071-0/+587
svn path=/trunk/; revision=10134