aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/dialogs/alarm-page.c
Commit message (Collapse)AuthorAgeFilesLines
* This commit was manufactured by cvs2svn to create tag 'GDM2_2_4_4_0'.GDM2_2_4_4_0nobody2003-06-291-867/+0
| | | | svn path=/tags/GDM2_2_4_4_0/; revision=21592
* Fixes #44723Rodrigo Moya2003-06-271-0/+42
| | | | | | | | | | | | | | | 2003-06-25 Rodrigo Moya <rodrigo@ximian.com> Fixes #44723 * gui/dialogs/alarm-page.c: added a new field to the private structure to keep track of the old summary. (alarm_page_init): initialize new field. (alarm_page_finalize): free new field. (alarm_page_set_summary): iterate over the list of alarms to change their description if it was the same as the event's summary. svn path=/trunk/; revision=21561
* added missing capabilities.Rodrigo Moya2003-04-111-5/+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-1/+4
| | | | | | | | | | | | | | | | | | | | | | 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
* Fixes #39757Hans Petter Jansson2003-03-181-6/+10
| | | | | | | | | | | | 2003-03-17 Hans Petter Jansson <hpj@ximian.com> Fixes #39757 * gui/dialogs/alarm-page.c (sensitize_buttons): Somehow this code reverted to thinking it was dealing with a GtkCList, when in reality it's a GtkTreeView. Fix that, so the buttons are sensitized correctly. svn path=/trunk/; revision=20328
* If only the pipe wouldn't break.JP Rosevear2003-03-051-176/+66
| | | | 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
* Remove cruft. Rename ICONSDIR to IMAGESDIR. (gladedir, etspecdir): RemoveDan Winship2003-02-061-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* GTK_OBJECT -> G_OBJECT cast.Hans Petter Jansson2003-01-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | 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
* Implement EAlarmList as CalComponentAlarm list with a GtkTreeModelHans Petter Jansson2003-01-171-40/+90
| | | | | | | | | | | | | | | | | | 2003-01-16 Hans Petter Jansson <hpj@ximian.com> * gui/e-alarm-list.[ch]: Implement EAlarmList as CalComponentAlarm list with a GtkTreeModel interface. * gui/Makefile.am: Add e-alarm-list.[ch]. * gui/dialogs/alarm-page.[ch]: Use GtkTreeView with the new EAlarmList as model for the alarm list. Update copyright. * gui/dialogs/recurrence-page.[ch]: Update copyright. (free_exception_date_time): Removed. (fill_exception_widgets): Kill a lingering clist operation. svn path=/trunk/; revision=19499
* Replace gtk_signal_disconnect_by_data() withHans Petter Jansson2002-12-191-32/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-13/+13
| | | | | | | | | | | | | | | | | | | | 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
* adapted to to new glade_xml_new signature.Rodrigo Moya2002-11-071-2/+1
| | | | | | | | | | | | | | | 2002-11-05 Rodrigo Moya <rodrigo@ximian.com> * gui/dialogs/alarm-options.c (alarm_options_dialog_run): adapted to to new glade_xml_new signature. * gui/calendar-model.h: * gui/dialogs/comp-editor-page.h: * gui/dialogs/alarm-page.[ch]: removed non-existant header files. * gui/dialogs/comp-editor-util.h: added missing headers. svn path=/trunk/; revision=18615
* Fixes #15710Rodrigo Moya2002-10-011-0/+10
| | | | | | | | | | | | | | | | | 2002-10-01 Rodrigo Moya <rodrigo@ximian.com> Fixes #15710 * gui/dialogs/alarm-page.c (alarm_page_init): added a X-EVOLUTION-NEEDS-DESCRIPTION property, so that we later set it correctly if it hasn't been set in the meanwhile (editing options for the alarm). * gui/dialogs/alarm-options.c (dalarm_widgets_to_alarm, palarm_widgets_to_alarm): removed X-EVOLUTION-NEEDS-DESCRIPTION property from alarms every time we set the description of the alarm. svn path=/trunk/; revision=18277
* Fixes #15710Rodrigo Moya2002-08-081-0/+23
| | | | | | | | | | | | | | | | | | | 2002-08-08 Rodrigo Moya <rodrigo@ximian.com> Fixes #15710 * cal-util/cal-component.[ch] (cal_component_alarm_get_icalcomponent): new function for getting the icalcomponent from a CalComponentAlarm. * gui/comp-util.c (cal_comp_event_new_with_defaults): added X-EVOLUTION-NEEDS-DESCRIPTION property to the default reminder alarm, so that we can identify it when saving the component. * gui/dialogs/alarm-page.c (alarm_page_fill_component): if the alarm has the X-EVOLUTION-NEEDS-DESCRIPTION property, set the description to be the same as of the component. svn path=/trunk/; revision=17744
* save the alarm string in the correct variable (str), so it actually getsDamon Chaplin2002-01-181-2/+1
| | | | | | | | | | 2002-01-17 Damon Chaplin <damon@ximian.com> * gui/dialogs/alarm-page.c (get_alarm_string): save the alarm string in the correct variable (str), so it actually gets shown for alarms with specific trigger times. Fixes bug #18801. svn path=/trunk/; revision=15352
* 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
* Fixes bug #5282.Federico Mena Quintero2001-10-251-10/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-24 Federico Mena Quintero <federico@ximian.com> Fixes bug #5282. * cal-util/timeutil.c (icaltimetype_to_tm_with_zone): New function to avoid copying the same code all over the place. (icaltimetype_to_tm): Also set the tm.tm_wday. * gui/alarm-notify/alarm-queue.c (queue_midnight_refresh): Use time_day_end_with_zone(). (load_alarms_for_today): Likewise. And oops, we were only computing the times and not loading the alarms. (obj_updated_cb): Likewise. (load_alarms): Removed assertion that is no longer valid because we may load the alarms for a client in two stages. * gui/dialogs/alarm-page.c (get_alarm_string): Convert absolute trigger times to the local timezone. * gui/alarm-notify/alarm-notify-dialog.c (write_html_heading): Convert the times to the local timezone. (alarm_notify_dialog): Likewise, for the window title. (alarm_notify_dialog): Set the window layer to WIN_LAYER_ONTOP. * gui/e-cell-date-edit-text.c (ecd_get_text): Use icaltimetype_to_tm_with_zone(). * gui/alarm-notify/save.c (get_config_db): Made public. (discard_config_db): Made public. * gui/alarm-notify/config-data.[ch]: New files with functions to fetch the calendar configuration data used by the alarm daemon. svn path=/trunk/; revision=13986
* return fill_component successJP Rosevear2001-10-131-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* added comparison functions for these special cell types. But the date andDamon Chaplin2001-09-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-26 Damon Chaplin <damon@ximian.com> * gui/e-calendar-table.c (date_compare_cb): (percent_compare_cb): (priority_compare_cb): added comparison functions for these special cell types. But the date and percent ones don't work yet due to the use of static text buffers for return cell values. (e_calendar_table_init): added the comparison functions to the ETableExtras. NOTE: task_compare_cb() never seems to be called. I'm not sure why it is there. * gui/e-calendar-table.etspec: set the comparison function names for the date/percent/priority fields. * cal-util/cal-util.c (cal_util_priority_to_string): (cal_util_priority_from_string): new utility functions. * gui/calendar-model.c (get_priority): (set_priority): used above utility functions, and removed the warning dialog which isn't useful now that the field isn't editable. * gui/dialogs/event-page.c (times_updated): handle timezones and for all-day events make sure it stays an all-day event after adjusting. Fixes bugs #5945 and #10222. * gui/calendar-commands.c (pixmaps): fixed the E_PIXMAP paths - the edit items were moved beneath 'EditPlaceholder'. This gets rid of those long Bonobo warnings! (and we get the icons back) * gui/dialogs/comp-editor.c (pixmaps): removed the PrintPreview toolbar icon, since it doesn't appear in the xml file. Gets rid of warning. * gui/dialogs/event-page.c (notify_dates_changed): new function to emit the notification signal when the dates are changed. It also handles timezones now. * gui/dialogs/comp-editor-page.h (CompEditorPageDates): used CalComponentDateTime for start/end/due so we have the timezone as well as the time. * gui/dialogs/comp-editor-util.c (comp_editor_dates): updated to get the timezones as well as the times. (comp_editor_free_dates): new function needed to free all the structs. * gui/dialogs/recurrence-page.c (recurrence_page_set_dates): added call to preview_recur() to make sure the preview gets updated. * gui/dialogs/alarm-page.c (alarm_page_fill_widgets): free the CompEditorPageDates struct after use. * gui/tag-calendar.c (tag_calendar_by_comp): added 'comp_is_on_server' argument. If FALSE, we try to use builtin timezones first. This is needed for the recurrence page of the event editor, because the timezones may not have been added to the server yet. This and the changes to the notification stuff should fix bug #5034. * gui/gnome-cal.c (dn_query_obj_updated_cb): call above tag_calendar_by_comp() with TRUE since the events will be on the server in this case. * gui/e-day-view-layout.c: * gui/e-day-view.c: made sure an event always takes up at least one row, even when the start & end times are the same. Fixes bug #5944. I don't know if we should try to also handle events with the end time before the start time. * gui/e-week-view.c (e_week_view_style_set): check that the small font is actually smaller than the normal font. If it isn't, don't use it. Hopefully fixes bug #6876. (e_week_view_on_new_appointment): if only one day is selected, then we set the initial time of the event to 1/2-hour from the start of the working day, to differentiate 'New Appointment' from 'New All Day Event'. Fixes bug #8892. * gui/e-day-view.c (e_day_view_on_new_appointment): do the same as the above. svn path=/trunk/; revision=13186
* Fixes the GUI part of bug #7892.Federico Mena Quintero2001-09-271-38/+86
| | | | | | | | | | | | | | | | 2001-09-26 Federico Mena Quintero <federico@ximian.com> Fixes the GUI part of bug #7892. * gui/dialogs/alarm-page.c (get_alarm_duration_string): Return NULL if the duration is zero. (get_alarm_string): Handle duration of zero. Also, hopefully make the strings be more l10n-friendly. * gui/alarm-notify/alarm.c (alarm_ready_cb): I am a moron. Fix reversed test. svn path=/trunk/; revision=13182
* Display a notification message always, in addition to playing the sound.Federico Mena Quintero2001-09-201-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | 2001-09-19 Federico Mena Quintero <federico@ximian.com> * gui/alarm-notify/alarm-queue.c (audio_notification): Display a notification message always, in addition to playing the sound. (procedure_notification): Present a confirmation dialog before actually running the alarm's program. (procedure_notification): Use gnome_execute_shell() instead of gnome_execute_async() so that we handle multiple arguments properly. Plus, it is most likely what the user expects. (mail_notification): Display a message about unsupported email reminders instead of blindly dropping the alarm. * gui/dialogs/alarm-options.glade: Added an explanatory message about mail alarms not being supported. * gui/dialogs/alarm-page.glade: Removed the "Send an email" option. * gui/dialogs/alarm-page.c (action_map): Removed CAL_ALARM_EMAIL. svn path=/trunk/; revision=13004
* don't call calendar_config_check_timezone_set() now, since the startupDamon Chaplin2001-09-041-36/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* If the component has no alarms remember to set the priv->updating flag toFederico Mena Quintero2001-08-171-1/+3
| | | | | | | | | | 2001-08-16 Federico Mena Quintero <federico@ximian.com> * gui/dialogs/alarm-page.c (alarm_page_fill_widgets): If the component has no alarms remember to set the priv->updating flag to FALSE before returning. svn path=/trunk/; revision=12128
* Set the default-to-add notification to be display a message 15 minutesFederico Mena Quintero2001-08-171-41/+48
| | | | | | | | | | 2001-08-16 Federico Mena Quintero <federico@ximian.com> * gui/dialogs/alarm-page.c (clear_widgets): Set the default-to-add notification to be display a message 15 minutes before the start of the appointment. Fixes bug #7175. svn path=/trunk/; revision=12123
* Duuuh, set the alarm_copy on the component, not the original alarm. FixesFederico Mena Quintero2001-08-091-1/+1
| | | | | | | | | | 2001-08-08 Federico Mena Quintero <federico@ximian.com> * gui/dialogs/alarm-page.c (alarm_page_fill_component): Duuuh, set the alarm_copy on the component, not the original alarm. Fixes bug #5214. svn path=/trunk/; revision=11806
* Pass the parent vCalendar component as the timezone closure ofFederico Mena Quintero2001-07-111-5/+5
| | | | | | | | | | | | | | | 2001-07-09 Federico Mena Quintero <federico@ximian.com> * pcs/cal-backend-file.c (generate_alarms_for_comp): Pass the parent vCalendar component as the timezone closure of cal_recur_generate_instances(). * gui/dialogs/alarm-page.c (get_alarm_string): Make the string consistent with the option menu text. (get_alarm_string): Removed extra spaces from the last part of the alarm string. svn path=/trunk/; revision=10961
* 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
* New files with the alarm options dialog; this configures theFederico Mena Quintero2001-07-031-2/+40
| | | | | | | | | | | | | | | | | | | | | | 2001-07-02 Federico Mena Quintero <federico@ximian.com> * gui/dialogs/alarm-options.[ch]: New files with the alarm options dialog; this configures the repeat/duration properties and the options specific to each alarm action type. * gui/dialogs/alarm-page.c (AlarmPagePrivate): Added the alarm options button. Also, keep an alarm structure which we are editing and an alarm options dialog. (init_widgets): Connect to the options button. (add_clicked_cb): Clone the component we are editing instead of creating a new one so that we preserve the data from the alarm options dialog. (button_options_clicked_cb): Pop up the alarm options dialog. * cal-util/cal-component.c (cal_component_alarm_new): Doh, initialize the other fields in the new alarm. svn path=/trunk/; revision=10731
* 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
* renamed from editor-page for consistency, more complete implementationJP Rosevear2001-06-021-91/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Finished porting from the old event-editor.c. Made it store a clone of theFederico Mena Quintero2001-05-241-5/+5
| | | | | | | | | | | | | | | | | | | 2001-05-23 Federico Mena Quintero <federico@ximian.com> * gui/dialogs/recurrence-page.c: Finished porting from the old event-editor.c. Made it store a clone of the component for when we need to expand the recurrence set. 2001-05-22 Federico Mena Quintero <federico@ximian.com> * gui/dialogs/event-page.c (event_page_get_dates): New function. * gui/dialogs/editor-page.c (editor_page_set_dates): Renamed from editor_page_set_dtstart(); now sets both DTSTART and DTEND. * gui/dialogs/alarm-page.c (alarm_page_set_dates): Ahem, it is a svn path=/trunk/; revision=9953
* Split the event and task editors into different objects for the separateFederico Mena Quintero2001-05-171-0/+778
2001-05-16 Federico Mena Quintero <federico@ximian.com> Split the event and task editors into different objects for the separate pages; this way they can be shared by both editors. * gui/dialogs/editor-page.[ch]: New abstract class for a page in a calendar component editor. * gui/dialogs/event-page.[ch]: Main page of an event editor. * gui/dialogs/alarm-page.[ch]: Alarm page of a calendar component editor. * gui/dialogs/recurrence-page.[ch]: Recurrence page of a calendar component editor. * gui/dialogs/event-page.c (event_page_fill_widgets): Eeek, this was missing a bunch of break statements. (event_page_fill_component): Use a temporary variable rather than allocating a struct icaltimetype. * gui/dialogs/alarm-page.c (get_alarm_string): Do not use fixed-size buffers. (alarm_page_fill_widgets): Use cal_obj_uid_list_free(). (append_reminder): Now the list stores the plain CalComponentAlarm structures in the row data. We do *NOT* want to be frobbing the component's data directly. Rather, we clone the alarms from the component and maintain them on our own. (alarm_page_fill_component): Clone the alarms before adding them to the component so that we maintain the invariant that the alarm structures in the list did *not* come from the component. * cal-util/cal-component.c (cal_component_add_alarm): Added documentation. (cal_component_remove_alarm): Added documentation. (cal_component_remove_alarm): Do a lookup in our hash table of alarms instead of scanning the whole component. (CalComponentAlarm): Removed the `parent' field, since it was unused. (cal_component_free_alarm_uids): Removed function, since cal_component_get_alarm_uids() is documented so that the user will know that he must use cal_obj_uid_list_free(). (cal_component_alarm_clone): New function. svn path=/trunk/; revision=9861