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
2001-10-22 Damon Chaplin <damon@ximian.com>
* idl/evolution-calendar.idl: added setDefaultTimezone() method.
* pcs/cal-backend.c (cal_backend_get_default_timezone):
(cal_backend_set_default_timezone): new functions to call class
methods.
* pcs/cal-backend-file.c: lots of changes to handle the default
timezone and use it.
* pcs/query.c: use the default timezone.
* gui/dialogs/task-details-page.c (date_changed_cb): initialized
completed_tt.
* gui/dialogs/event-page.c: changed it to handle DATE values. The
'All Day Event' checkbox is only set now when the DTSTART and DTEND
are DATE values.
* gui/dialogs/comp-editor-util.c (comp_editor_free_dates): free the
CalComponentDateTime structs as well.
* gui/e-tasks.c: set the default timezone on the server.
* gui/tag-calendar.c:
* gui/gnome-cal.c:
* gui/e-week-view.c:
* gui/e-day-view.c: updates to handle DATE values.
* gui/e-calendar-table.c (date_compare_cb): updated to use the new
ECellDateEditValue values, so it now works.
(percent_compare_cb): updated to use GPOINTER_TO_INT values.
(e_calendar_table_init): use an ECellPercent for the percent field
and an ECellDateEditText for the date fields.
* gui/comp-util.c (cal_comp_util_compare_event_timezones): return TRUE
if the DTSTART or DTEND is a DATE value. We don't want to show the
timezone icons for DATE values.
* gui/comp-editor-factory.c (resolve_pending_requests): set the default
timezone on the server.
* gui/calendar-model.c: major changes to support sorting properly.
For date and percent fields we now use subclasses of ECellText, so
we don't use a char* as the model value. For the percent field we now
use a GINT_TO_POINTER. For the date fields we now use a
ECellDateEditValue* as the value.
* gui/calendar-config.c (calendar_config_configure_e_cell_date_edit):
set the timezone and use_24_hour flags of the new ECellDateEditText.
* conduits/todo/todo-conduit.c (pre_sync):
* conduits/calendar/calendar-conduit.c (pre_sync): set the default
timezone on the server.
* cal-util/timeutil.c (time_days_in_month): removed debug message.
* cal-util/test-recur.c: try to handle timezones in the iCalendar
file properly, and updated to pass default timezone.
* cal-util/cal-util.c (cal_util_generate_alarms_for_comp):
(cal_util_generate_alarms_for_list): added default timezone argument.
* cal-util/cal-recur.c: changed many of the functions to take a default
timezone, to use to resolve DATE and floating DATE-TIME values.
* cal-client/cal-client.c (cal_client_set_default_timezone): new
function to set the default timezone.
(cal_client_ensure_timezone_on_server): new function to ensure that
a given timezone is on the server.
* gui/e-cell-date-edit-text.c: new subclass of ECellText to display
and edit a date value.
* cal-util/cal-recur.c (cal_obj_byday_expand_monthly): changed week_num
to -week_num when calculating the weeks to go back from the end of the
month for things like BYDAY=-2WE. Fixes bug #11525.
(cal_recur_generate_instances_of_rule): only go up to MAX_YEAR (2037).
We can't really handle anything past that anyway.
(cal_recur_ensure_rule_end_date): initialize cb_date.end_date to 0,
so if the RULE doesn't generate COUNT instances we save 0 as the
time_t.
svn path=/trunk/; revision=13920
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
2001-10-21 JP Rosevear <jpr@ximian.com>
* gui/dialogs/schedule-page.c (init_widgets): listen for changes
in the date editors
(schedule_page_set_dates): update the times when they change
elsewhere
(update_time): set the time in the dialog
(time_changed_cb): notify of changed times
* gui/dialogs/comp-editor.c (page_dates_changed_cb): don't call
the set dates function on the page that noted the change
(page_summary_changed_cb): same for set summary function
* gui/dialogs/event-page.c (update_time): move time setting stuff
to util function
(event_page_set_dates): use it
(event_page_fill_component): ditto
* gui/e-meeting-time-sel.h: fix comment
svn path=/trunk/; revision=13863
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
2001-10-15 Damon Chaplin <damon@ximian.com>
* gui/dialogs/cal-prefs-dialog.glade: removed Help button. Do we have
any others?
svn path=/trunk/; revision=13692
2001-10-13 Larry Ewing <lewing@ximian.com>
* gui/dialogs/comp-editor.c (real_edit_comp): call
set_icon_from_comp.
(set_icon_from_comp): set the window icon from the comp.
(make_icon_from_comp): get the icon path based on comp type.
* gui/dialogs/Makefile.am (iconsdir): EVOLUTION_ICONSDIR bits.
svn path=/trunk/; revision=13666
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
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
2001-10-03 JP Rosevear <jpr@ximian.com>
* gui/itip-utils.c (itip_send_comp): refactor functionality into
several function
(comp_string): if we are publishing, empty the attendee list
* gui/dialogs/event-editor.c (schedule_meeting_cmd): when we
schedule a new meeting, mark the event editor as changed
* pcs/cal.c (cal_class_init): get correct parent class
* gui/dialogs/comp-editor.c (comp_editor_merge_ui): use the
generated ui component name
svn path=/trunk/; revision=13385
2001-10-03 Damon Chaplin <damon@ximian.com>
* gui/comp-util.c (cal_comp_util_add_exdate): save the EXDATE as a
DATE-TIME value, since we know the exact time. Fixes bug #11278.
(Before we were setting is_date, but icaltime_from_timet_with_zone()
didn't convert it properly. We need to figure out how to handle DATEs
when using time_t's.)
* gui/dialogs/recurrence-page.c (get_exception_string): use
e_time_format_date_and_time() so we show the time as well, if the
exception is a DATE-TIME value.
* cal-util/timeutil.c: removed time_add_month(), time_year_begin(),
time_month_begin() & time_week_begin() - old pre-timezone functions
which we no longer use.
* cal-util/cal-recur.c (cal_recur_from_icalproperty): set
ir.until.is_date to FALSE before converting to a time_t.
Hopefully fixes bug #5034.
svn path=/trunk/; revision=13366
* e-shell-view.c (e_shell_view_construct): Use
`bonobo_ui_component_new_default()', not
`bonobo_ui_component_new()'.
* mail-account-gui.c (launch_signature_editor): Use
`bonobo_ui_component_new_default()', not
`bonobo_ui_component_new()'.
* e-msg-composer.c (setup_ui): Use
`bonobo_ui_component_new_default()', not
`bonobo_ui_component_new()'.
* gui/dialogs/comp-editor.c (setup_widgets): Use
`bonobo_ui_component_new_default()', not
`bonobo_ui_component_new()'.
svn path=/trunk/; revision=13306
2001-10-01 Damon Chaplin <damon@ximian.com>
* gui/dialogs/comp-editor.c (comp_editor_destroy): unref the page
objects here, instead of in close_dialog(). (This was fixed a while
ago, but accidentally reverted.) Fixes bug #7543.
svn path=/trunk/; revision=13278
001-09-28 Damon Chaplin <damon@ximian.com>
* gui/print.c (print_comp_item): use bound_text to print the summary,
so it wraps instead of being clipped to 1 line. Fixes part 3 of bug
#10285, I think.
* gui/dialogs/alarm-page.glade: left-aligned the Date/Time label.
Also set the width of the Summary & Date/Time labels to 10, and set
expand to TRUE, to make sure that the dialog doesn't keep getting
wider as the summary text on the main page gets longer. Could possibly
use an EClippedLabel here instead, so we get a '...' at the end if it
is clipped.
* gui/dialogs/recurrence-page.glade: changed Summary & Date/Time
widths as above.
* gui/print.c (print_calendar): use landscape mode for the month
preview.
(print_border_with_triangles): use EPSILON to account for floating
point errors. Hopefully fixes part 2b of bug #10285.
svn path=/trunk/; revision=13246
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
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
2001-09-25 JP Rosevear <jpr@ximian.com>
* pcs/cal.c: use bonobo-exception stuff to clean code
* pcs/cal-factory.c (add_uri): add uri to the list if the type
matches
(impl_CalFactory_uriList): implement uriList method
* pcs/cal-backend.h: new virtual function member
* pcs/cal-backend.c (cal_backend_is_remote): call virtual function
* pcs/cal-backend-file.c (cal_backend_file_class_init): override
virtual function
(cal_backend_file_is_remote): new virtual function, always return
FALSE
* idl/evolution-calendar.idl: uriList factory call, with flags for
types to get
* gui/dialogs/comp-editor.c (comp_editor_destroy): cast to remove
warning
* gui/e-itip-control.c (write_label_piece): kill warnings by take
const char *
* gui/component-factory.c (create_object): aggregate offline
interface
* gui/Makefile.am: compile new files
* calobj.[hc]: Remove obsolete files
* cal-util/cal-util.h: enum URI types for uriList call
* cal-client/cal-client.c (build_uri_list): build list from string
sequence
(cal_client_uri_list): factory call to get uri list
* cal-client/cal-client.h: new proto
* cal-client/cal-client.c: use bonobo exception stuff to clean
code
* gui/calendar-offline-handler.[hc]: Start some skeleton routines
for online/offline handling
* pcs/cal-factory.c (launch_backend_for_uri): use accessor and
remove FIXME
svn path=/trunk/; revision=13110
2001-09-20 Larry Ewing <lewing@ximian.com>
* gui/dialogs/recurrence-page.c (recurrence_page_destroy): make
sure to release the ref on priv->comp.
* gui/dialogs/comp-editor.c (real_edit_comp): make sure to release
the ref on priv->comp.
svn path=/trunk/; revision=13008
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
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
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
2001-09-18 Federico Mena Quintero <federico@ximian.com>
Fixes bug #2830.
* gui/calendar-config.c (calendar_config_get_confirm_delete): New
function.
(calendar_config_set_confirm_delete): New function.
(config_read): Get the default value for the ConfirmDelete option.
(calendar_config_write): Set the value of ConfirmDelete.
* gui/dialogs/delete-comp.c (delete_component_dialog): Handle the
configuration option for confirmation.
* gui/dialogs/cal-prefs-dialog.c (CalPrefsDialogPrivate): Added
the fields for the Other page.
(get_widgets): Handle the new widgets.
(cal_prefs_dialog_show_config): Likewise.
(cal_prefs_dialog_update_config): Likewise.
svn path=/trunk/; revision=12953
2001-09-17 Damon Chaplin <damon@ximian.com>
* gui/calendar-model.c: added a timeout to refresh the list every
10 minutes. Not ideal, as the user may be editing a task when it gets
refreshed.
(adjust_query_sexp): use the 'completed-before?' operator to filter
out tasks according to the config settings.
* gui/dialogs/task-details-page.c (task_details_page_fill_widgets):
added support for the 'Completed' date. This code must have got lost
somewhere, as it used to work.
(date_changed_cb): set the priv->updating flag while updating the other
widgets.
* pcs/cal-backend-file.c (cal_backend_file_update_objects): made sure
we freed the components.
* pcs/query.c (func_completed_before): added 'completed-before?'
operator.
* gui/calendar-config.c (calendar_config_configure_e_cell_date_edit):
don't set the lower & upper hour. Use 0-24 like the EDateEdit does.
* gui/dialogs/cal-prefs-dialog.c (cal_prefs_dialog_show_config): set
the 12/24-hour time format options sensitive only if we support both.
* gui/calendar-config.c (config_read): if the locale doesn't define
'am' and 'pm' strings then we must use 24-hour format.
* gui/calendar-commands.c (calendar_set_folder_bar_label): don't
translate the '%d' as it doesn't make much sense. Resolves bug #8027.
svn path=/trunk/; revision=12925
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
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
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
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
2001-08-31 Damon Chaplin <damon@ximian.com>
* gui/dialogs/comp-editor-util.c (comp_editor_contacts_to_widget):
(comp_editor_contacts_to_component): fix debugging messages so they
use "" rather than NULL. Fixes bug #8559.
svn path=/trunk/; revision=12539
2001-08-22 Federico Mena Quintero <federico@ximian.com>
* gui/dialogs/recurrence-page.c (recurrence_page_fill_widgets):
Unset the priv->updating flag before returning in the case the
component has no recurrence information. Fixes bug #6850.
svn path=/trunk/; revision=12413
2001-08-22 Federico Mena Quintero <federico@ximian.com>
* gui/alarm-notify/alarm-queue.c (QueuedAlarm): Added a snooze
flag to differentiate snoozed alarms from real occurrences.
(add_component_alarms): Do not specify a destroy function for the
alarm trigger. We handle this in the callbacks now.
(alarm_trigger_cb): Just remove the alarms for the unimplemented
notification types.
(create_snooze): Implemented snooze.
(notify_dialog_cb): Snooze as appropriate.
svn path=/trunk/; revision=12412
2001-08-21 Federico Mena Quintero <federico@ximian.com>
* gui/dialogs/alarm-options.c (alarm_to_palarm_widgets): Handle
the case where there is no attachment. Fixes bug #7257.
svn path=/trunk/; revision=12368
2001-08-21 Damon Chaplin <damon@ximian.com>
* pcs/query.c (func_is_completed): added new e-sexp operator. We
don't currently use it though.
* gui/dialogs/cal-prefs-dialog.glade: Changed '_Overdue' to 'O_verdue'
since we have an '_Other' notebook tab. Added '_Hide' accel.
* gui/dialogs/cal-prefs-dialog.c: hooked up config options to dialog.
* gui/calendar-config.c: added config options for hiding completed
tasks.
* gui/e-week-view-event-item.c (e_week_view_event_item_draw):
* gui/e-day-view-top-item.c (e_day_view_top_item_draw_long_event):
* gui/e-day-view.c (e_day_view_reshape_long_event): added 2 pixels
extra space between icons and text for long events, and 1 pixel space
between icons in all events.
(e_day_view_realize): changed the background color to match the
EGrayBar in the shell.
svn path=/trunk/; revision=12347
2001-08-20 Damon Chaplin <damon@ximian.com>
* gui/dialogs/comp-editor.c (pixmaps): use Delete icon in menu, and
change to bigger Save icon in toolbar.
svn path=/trunk/; revision=12280
2001-08-18 Damon Chaplin <damon@ximian.com>
* gui/dialogs/cal-prefs-dialog.glade: added option to hide completed
tasks after a given number of minutes/hours/days. Unfinished.
* gui/dialogs/event-page.c (event_page_fill_component): initialize
zone to NULL to avoid a warning.
(contacts_clicked_cb): work around a bug in SelectNames by notifying
that the page has changed when you click the 'Contacts' button.
Otherwise it is easy to lose changes.
* gui/dialogs/task-page.c (contacts_clicked_cb): ditto.
svn path=/trunk/; revision=12215
2001-08-18 Damon Chaplin <damon@ximian.com>
* gui/dialogs/comp-editor.c (pixmaps): used new Save/Save As icons.
* gui/tasks-control.c:
* gui/calendar-commands.c (pixmaps): added new Cut/Copy/Paste icons,
and changed the 'New Task' icon to use the bigger one I made.
svn path=/trunk/; revision=12214
2001-08-05 Zbigniew Chyla <cyba@gnome.pl>
* gui/dialogs/task-page.c (summary_changed_cb):
Use e_dialog_editable_get instead of gtk_editable_get_chars (we need
UTF-8 string).
svn path=/trunk/; revision=12209
2001-08-16 Damon Chaplin <damon@ximian.com>
* gui/dialogs/event-page.c: hide the timezone fields for all-day
events. We will use DATE values for these eventually, and these
don't have timezones associated with them. Currently we just use the
default timezone for all-day events, as a workaround until we have
DATE values working.
* gui/dialogs/comp-editor-util.c (comp_editor_new_date_edit): added
make_time_insensitive flag. Though we may not use it.
* gui/dialogs/event-page.glade: made the 'All day event' toggle
right-aligned, so it doesn't move when the other widgets are shown
and hidden.
* gui/e-timezone-entry.c (e_timezone_entry_set_default_timezone): new
function to set the default timezone of the widget. If the current
timezone setting matches the default then the entry field is hidden.
Most people won't use timezones so this makes the GUI simpler.
* gui/dialogs/event-page.c (init_widgets):
* gui/dialogs/task-page.c (init_widgets): set the default timezone
using the above function.
* gui/dialogs/task-page.c (task_page_fill_widgets): if the start date
or due date is not set, we use the default timezone, so the user
doesn't have to set this each time they set the date.
svn path=/trunk/; revision=12137
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
2001-08-16 JP Rosevear <jpr@ximian.com>
* gui/dialogs/e-delegate-dialog.c
(e_delegate_dialog_get_delegate_name): get the destinations
property, not the text property
svn path=/trunk/; revision=12126
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
2001-08-16 Federico Mena Quintero <federico@ximian.com>
* gui/dialogs/comp-editor-util.c (comp_editor_strip_categories):
New function to strip surrounding whitespace from a string of
categories entered by the user.
* gui/dialogs/task-page.c (task_page_fill_component): Use
comp_editor_strip_categories().
* gui/dialogs/event-page.c (event_page_fill_component): Likewise.
svn path=/trunk/; revision=12122