2001-10-23 <NotZed@Ximian.com>
* mail-display.c (mail_display_destroy): Remove the idle_id when
we're destroyed so the idle func doesn't run on an invalid object.
svn path=/trunk/; revision=13966
* e-local-storage.c (async_xfer_folder_callback): Handle the
return codes properly, and invoke the result callback too.
svn path=/trunk/; revision=13965
2001-10-23 Damon Chaplin <damon@ximian.com>
* e-search-bar.c (copy_subitems): copy the translate field over as
well. Should fix an uninitialized memory read.
svn path=/trunk/; revision=13964
2001-10-23 Jon Trowbridge <trow@ximian.com>
* gui/component/select-names/e-select-names-completion.c: Removed
our cancelled flag and e_select_names_completion_cancel function,
since we were just duplicating stuff that had ended up in
ECompletion.
(match_name): Form our menu_text properly on an additional-name
match.
(e_select_names_completion_got_book_view_cb): Store handles for
our signals, disconnect them properly when we switch book views.
(e_select_names_completion_stop_query): Disconnect signals when we
stop our query.
(check_capabilities): Spew if we are using LDAP for completion.
(e_select_names_completion_destroy): Disconnect our signals when
we destroy.
This all should fix bug #10241.
svn path=/trunk/; revision=13961
* e-shell-view.c (storage_set_removed_folder_callback): Explicitly
deactivate the control frame, and display the default URI before
destroying the dead one.
* e-shell.c (e_shell_component_maybe_crashed): If the URI is of a
folder that doesn't exist anymore, don't assume that the
corresponding component has crashed. Also, try pinging the
component first; if the component responds, don't pop up the
dialog.
svn path=/trunk/; revision=13960
2001-10-23 Damon Chaplin <damon@ximian.com>
* src/libical/icalrecur.c (icalrecur_two_byrule): use
sizeof(test_array) for the memset call. It was clearing 9 bytes but
the array uses shorts.
svn path=/trunk/; revision=13958
2001-10-23 Damon Chaplin <damon@ximian.com>
* cal-util/cal-component.c (cal_component_event_dates_match): make sure
we free all the CalComponentDateTime's when we are finished.
* gui/gnome-cal.c (gnome_calendar_notify_dates_shown_changed): just
return if no time range is set.
svn path=/trunk/; revision=13957
2001-10-23 Damon Chaplin <damon@ximian.com>
* e-cell-combo.c (e_cell_combo_set_popdown_strings): save the UTF-8
strings inside the listitem widgets, but convert to the locale to use
in the label.
(e_cell_combo_select_matching_item):
(e_cell_combo_update_cell): use the UTF-8 strings instead of the
listitem labels. Hopefully fixes bug #7037.
svn path=/trunk/; revision=13954
2001-10-23 <NotZed@Ximian.com>
* mail-mt.c (mail_user_message):
(mail_get_password): Removed, all functionality moved to
mail-session.
* mail-config.c (mail_config_write_on_exit): Check
threaded/preview hash is null before using it, its setup on demand
so itmight nto be initialised here.
* mail-session.c (request_password): Remove password_current
stuff.
(alert_user): Redont, similar to get_pass. Do things as async as
possible, and dont even wait for a response if we're not asking
for the cancel button (this may or may not be right behaviour -
need to check). mail_user_message() code replaced from the stuff
in mail-mt.c
(MailSession): Added a lock field.
(init): Setup lock.
(finalise): fRee lock.
(register_timeout): Redone. We now allocate our own 'timeoutid's,
and <> to the real things asynchronously. Use async_event's so we
can make sure we have no outstanding ones after shutdown.
(mail_session_enable_interaction): If interaction has been
disabled, and we have either a message-box open, or a password
request open and/or any pending message boxes/passwords, blow 'em
away.
(main_register_timeout): If we have pending remove of this same
timeout, dont do anything.
(timeout_timeout): Properly honour the result, remove the timout
if it returns false.
svn path=/trunk/; revision=13952
2001-10-23 Christopher James Lahey <clahey@ximian.com>
* e-table-field-chooser-item.c: Got rid of the gc argument to
e_table_header_draw_button.
(etfci_font_load): Just use the style font here.
* e-table-group-container.c (e_table_group_container_construct):
Changed this to just use the font from the style. Fixes Ximian
bug #11882.
* e-table-header-item.c: Got rid of the gc argument to
e_table_header_draw_button.
(ethi_font_load): Changed this to just fallback on the font from
the style if the fontname is NULL or doesn't load to a font.
Fixes Ximian bug #11882.
* e-table-header-utils.c, e-table-header-utils.h
(e_table_header_draw_button): Got rid of the gc parameter here and
changed to use the gc from the style of a button created for this
purpose, but not shown. Fixes Ximian bug #13251.
svn path=/trunk/; revision=13949
2001-10-23 JP Rosevear <jpr@ximian.com>
* gui/e-meeting-model.c (build_etable): no longer set the
scrollbar policy here
* gui/e-meeting-time-sel.c
(e_meeting_time_selector_update_main_canvas_scroll_region): add an
extra row to the height so the click to add row can be properly
seen
(e_meeting_time_selector_construct): set the scrollbar policy for
the etable scrolled
svn path=/trunk/; revision=13948
2001-10-23 JP Rosevear <jpr@ximian.com>
* cal-util/timeutil.c (icaltimetype_to_tm): convert an
icaltimetype to a tm
(tm_to_icaltimetype): vice versa
* cal-util/timeutil.h: new protos
* conduits/calendar/calendar-conduit.c: replace all mktime and
localtime calls (except for debugging calls)
* conduits/todo/todo-conduit.c: ditto
(comp_from_remote_record): make sure the completed time is in UTC
svn path=/trunk/; revision=13946
2001-10-23 <NotZed@Ximian.com>
* mail-mt.c: Added missing errno.h
(mail_msg_new): Fix the logic a bit, dont try to open the log file
unless logging is actually requested.
svn path=/trunk/; revision=13944
* mail-mt.c (mail_msg_new): If the fopen() fails (eg, because
evolution-mail was started by oafd with PWD=/), don't try to use
the NULL file handle.
svn path=/trunk/; revision=13943
* camel-mime-utils.c (mail_list_magic): Remove an extra * in one
of the regexps that glibc apparently doesn't mind but bsd does.
svn path=/trunk/; revision=13942
2001-10-23 Rodrigo Moya <rodrigo@ximian.com>
* cal-client/cal-query.c (cal_query_construct) set priv->corba_query
to CORBA_OBJECT_NIL if there was an error
svn path=/trunk/; revision=13939
2001-10-23 Christopher James Lahey <clahey@ximian.com>
* gal/e-text/e-text.c (e_text_draw): Use the widget's style's
text_gc for drawing text if either draw_background or draw_button
is on.
svn path=/trunk/; revision=13937
2001-10-23 Christopher James Lahey <clahey@ximian.com>
* e-table-header-item.c, e-table-header-item.h: Got rid of the gc
field here and just use the fg_gc from the style for drawing the
buttons.
svn path=/trunk/; revision=13936
2001-10-23 Christopher James Lahey <clahey@ximian.com>
* configure.in: Bumped required GAL to 0.15.99.3 so EEntry's
"draw_button" argument can be used in
addressbook/gui/component/select-names/e-select-names.c.
From addressbook/ChangeLog:
2001-10-23 Christopher James Lahey <clahey@ximian.com>
* gui/component/select-names/e-select-names.c
(e_select_names_add_section): Set "draw_button" argument to TRUE
on this EEntry.
svn path=/trunk/; revision=13935
2001-10-23 Christopher James Lahey <clahey@ximian.com>
* configure.in: Bumped version to 0.15.99.3 for EText's
"draw_button" argument.
* gal/e-text/e-entry.c: Forward the "draw_button" argument to the
contained EText.
* gal/e-text/e-text.c, gal/e-text/e-text.h (e_text_draw): Added
new "draw_button" argument. If this is turned on and the first
widget that's a parent of the containing canvas with GTK_NO_WINDOW
turned off above the current one is a button, EText draws a button
underneath itself to match the containing button.
From gal/shortcut-bar/ChangeLog:
2001-10-23 Christopher James Lahey <clahey@ximian.com>
* e-shortcut-bar.c (e_shortcut_bar_add_group): Turn on
"draw_button" argument to EEntry.
svn path=/trunk/; revision=13934
2001-10-23 <NotZed@Ximian.com>
* mail-session.c (get_password): Completely re-done. We now hae a
completely async dialogue when requested from antoehr thread, and
dont use gtk_main() if we can avoid it (which is normally the
case). This stuff is only partially finished, and will mena the
removal of the same from mail-mt.c, and the mail_user_message()
code will be moved here and changed to work in a similar way.
* mail-callbacks.c (empty_trash): Dont try and connect to remote
stores just to get the trash. Also, always run empty trash async,
and make sure we unref the trash.
(empty_trash): Hmm, dont unref the trash, causes a problem on
exit, i suspect something else is doing funky unrefs on it.
* mail-tools.c (mail_tool_get_trash): Pass a 'connect' arg, tell
it whether it should tryand connect or not to the parent service,
if it isn't already connected.
* component-factory.c (owner_unset_cb): Dont try wait_all here,
could potentially deadlock.
(idle_quit): Keep returning TRUE if we have outstanding
processing. Note that this may busy-wait during exit processign
with busy tasks :(
(idle_quit): Keep calling ourselves till we no longer get called
(i.e. gtk_main really quits).
* mail-mt.c (mail_msg_active): New function, returns TRUE if
events are still active/outstanding.
(do_op_status): @$@$#@@!#@!! didn't unlock the mail_msg_lock if
data->activity was NULL and we had no global_shell_client anymore!
Also shortcut processing if this is going to be the case.
(mail_msg_init): Setup a temporary other gui_port for redoing with
new semantics password, user message and progress reporting.
(mail_get_password): #ifdef'd out all this code temporarily, till
it gets fully moved to mail-session.c
2001-10-22 <NotZed@Ximian.com>
* component-factory.c (owner_set_cb): Dont call enable_interaction
here.
(interactive_cb): But here instead, let the shell tell us when its
ok to go interactive.
svn path=/trunk/; revision=13933
2001-10-22 Christopher James Lahey <clahey@ximian.com>
* e-table-item.c (eti_idle_maybe_show_cursor): Make this check
immediately for whether to show the cursor, instead of in the idle
handler.
* e-tree-table-adapter.c (e_tree_table_adapter_node_set_expanded):
Added a pre_change here since we send two changes.
svn path=/trunk/; revision=13931
2001-10-22 Christopher James Lahey <clahey@ximian.com>
* e-tree-memory.c (e_tree_memory_sort_node): Call
e_tree_model_pre_change here where appropriate.
svn path=/trunk/; revision=13929
2001-10-22 Christopher James Lahey <clahey@ximian.com>
* e-table-item.c (eti_cancel_drag_due_to_model_change): Cancel the
drag or maybe drag if you have the mouse button down when the
pre_change signal comes in. Fixes Ximian bug #11309.
* e-table-without.c (add_row, remove_row,
e_table_without_show_all): Call e_table_model_pre_change where
appropriate here.
svn path=/trunk/; revision=13927
2001-10-22 Anna Marie Dirks <anna@ximian.com>
* evolution-message-composer.xml: Added an accelerator (H_TML) to the Format->Html
menu item.
svn path=/trunk/; revision=13926
2001-10-22 Jeffrey Stedfast <fejj@ximian.com>
* mail-display.h (mail_html_write_string): New fun macro.
* mail-format.c (write_one_text_plain_chunk): Use gtk_html_write
instead of mail_html_write so we avoid strdup'ing the text.
(handle_text_plain_flowed): Use the mail_html_write_string macro.
(handle_message_rfc822): Here too.
(mail_format_raw_message): We can do it here also...
(attachment_header): We can do it a little bit here...
(write_address): A microscopic bit here...
(write_hr): same.
svn path=/trunk/; revision=13925
2001-10-22 Damon Chaplin <damon@ximian.com>
* e-summary-tasks.c (generate_html): set the default timezone on the
server.
* e-summary-calendar.c (e_cal_comp_util_compare_event_timezones):
update to check for DATE values.
(uids_to_array): pass the default timezone
to cal_recur_generate_instances.
(generate_html): set the default timezone on the server.
svn path=/trunk/; revision=13921
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
* e-shell-view-menu.c (command_open_folder_in_new_window): No need
to gtk_widget_show() the view anymore.
* e-shell-view.c (activate_shortcut_cb): No need to
gtk_widget_show() the view anymore.
* e-shell.c (impl_Shell_createNewView): Don't explicitly show the
new view.
(e_shell_create_view): gtk_widget_show() the new view and flush
the GTK+ event loop before sending the ::interactive notification.
(create_view): New helper function.
(e_shell_create_view): Use it.
(e_shell_create_view_from_settings): New.
(e_shell_restore_from_settings): Use
`e_shell_create_view_from_settings()'.
svn path=/trunk/; revision=13918
2001-10-22 Federico Mena Quintero <federico@ximian.com>
* gui/tasks-control-factory.c (tasks_control_factory_fn): Put up a
warning dialog box if we failed to create the tasks control.
Fixes bug #13033.
svn path=/trunk/; revision=13917