2001-10-26 Christopher James Lahey <clahey@ximian.com>
* e-tree-selection-model.c (etsm_selected_count): If the root node
is hidden and selected, don't count it in the selected path count.
* e-tree.c (et_canvas_root_event): Attach to the event handler on
the root canvas item instead of the canvas itself when making the
ETree leave editing state.
svn path=/trunk/; revision=14128
2001-10-26 Federico Mena Quintero <federico@ximian.com>
* pcs/cal.c (cal_construct): Get a fresh CORBA_Environment for
every CORBA call. Hopefully will fix#11978, but I'm not sure
about what else could be happening.
(cal_get_password): Free the exception.
svn path=/trunk/; revision=14126
2001-10-25 Federico Mena Quintero <federico@ximian.com>
Fixes Ximian bug #6832.
* e-table.c (e_table_setup_table): Use a callback instead of
gtk_widget_queue_draw() for focus events, as the latter does not
have the correct prototype for an event handler.
(group_start_drag): Emit START_DRAG, not KEY_PRESS!
(focus_first_etable_item): Focus the first row in the first
ETableItem if there is no focused item.
* e-tree.c (e_tree_setup_table): Same change as in
e_table_setup_table().
(table_canvas_focus_event_cb): Focus the first row in the tree
item if there is no focused item.
svn path=/trunk/; revision=14124
2001-10-25 Jeffrey Stedfast <fejj@ximian.com>
* rule-editor.c: Keep track of the current editor dialog window so
that on exit, we can close it too.
(rule_edit): Don't make the dialog modal and set it's parent
window as well as don't allow more than a single editor window to
be popped up.
(rule_add): Same.
svn path=/trunk/; revision=14122
2001-10-26 <NotZed@Ximian.com>
* component-factory.c (owner_unset_cb): Use a timeout not an idle handler.
* mail-callbacks.c (providers_config): Only set the parent window.
* mail-accounts.c (mail_edit): Set the parent on the account editor.
svn path=/trunk/; revision=14121
2001-10-25 Damon Chaplin <damon@ximian.com>
* gui/e-itip-control.c: used functions to get PUBLISH_OPTIONS etc.,
so we can translate them.
svn path=/trunk/; revision=14115
2001-10-25 <NotZed@Ximian.com>
* camel-search-private.c (utf8_get): Remove the stupid warning
that should never have been there in the first place.
* camel-sasl-digest-md5.c (digest_response): s/iconv/e_iconv/
* camel-pgp-context.c (pgp_verify): "
* camel-mime-utils.c (rfc2047_decode_word, rfc2047_decode_word,
append_8bit, rfc2047_encode_word, rfc2184_decode,
header_decode_param): "
* camel-mime-part-utils.c (convert_buffer, convert_buffer): "
* camel-mime-filter-charset.c (reset, complete, filter): "
svn path=/trunk/; revision=14113
2001-10-25 <NotZed@Ximian.com>
* configure.in: Bumped version to 0.15.99.4 for e-iconv changes.
* gal/widgets/e-unicode.c (e_utf8_from_iconv_string_sized): "
(e_utf8_to_iconv_string_sized): "
(e_utf8_from_gtk_string_sized): "
(e_utf8_to_gtk_string_sized): "
* gal/widgets/e-font.c (e_font_to_native): s/iconv/e_iconv/
* gal/util/e-iconv.c (e_iconv): Implement a wrapper for iconv() to
make sure we link with and execute the right iconv to match the
right iconv_open. (BLAH!)
svn path=/trunk/; revision=14111
* e-component-registry.c (wait_for_corba_object_to_die): New
helper function.
(e_component_registry_restart_component): Use it.
(component_free): Call it to wait for the unowned object to die.
svn path=/trunk/; revision=14110
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
2001-10-25 Damon Chaplin <damon@ximian.com>
* src/libical/icaltimezone.c (icaltimezone_get_tznames_from_vtimezone):
Outlooks (2000) places "Standard Time" and "Daylight Time" in the
TZNAME strings, which is useless, so return NULL in that case.
ETimezoneEntry will then use the TZID instead, in which Outlook does
place the actual timezone name. (I just hope Outlook doesn't translate
"Standard Time" to other languages, as we won't be able to fix it then)
svn path=/trunk/; revision=14107
* e-shell.c (impl_Shell_selectUserFolder): Handle failure from
XGetClassHint properly. Also, free res_name and res_class in case
of success. Fixes#13554.
svn path=/trunk/; revision=14104
2001-10-25 <NotZed@Ximian.com>
* folder-browser-ui.c (fbui_sensitize_timeout): So apparently the
uicomp can just 'vanish' while we're using it. Joy. Take care of
that case here, fixes#13482.
(fbui_sensitise_item): Check here too just for kicks.
* mail-folder-cache.c (store_finalised): If we can't destroy our
async event, then queue another one to do it.
(store_finalised_finish): And handle it here, until we can, then
free it.
(mail_note_store): Queue an async event to get folderinfo, dont
use mail_get_folderinfo.
(update_folders_get): thread-async event to retrieve the
folderinfo, and build it, then queues gui-async event to update
the gui.
(add_unmatched_info): Taken from mail-ops, adds unmatched if
required.
(add_vtrash_info): From mail-ops, add trash if required.
(update_folders): Thread async event to update gui.
(mail_note_store): Ref the store and storage when created.
(update_1folder): Changed to assume we have info_lock, and store
updates in an updates list.
(setup_folder): Same.
(folder_changed): Changed to call update_1folder directly.
(real_folder_changed): Removed.
(mail_note_folder): Changed to call update_1folder directly.
(real_note_folder): Removed.
(store_folder_subscribed): Call setup_folder directly.
(real_folder_created): Removed.
(real_flush_update): Function that actually does the updates in
the gui thread.
(mail_note_store): Go back to using mail_get_folderinfo.
(update_folders): Fixed upf ro changed api's.
(unset_folder_info): Changed to queue pending updates.
(real_folder_deleted): Removed.
(store_folder_unsubscribed): Do the removal work directly.
(mail_note_store): Dont link to finalised event of store - we now
ref it.
(mail_note_store_remove): If we have any pending updates, clear
them out. Also cancel any pending folderinfo retrieve operations.
(update_folders): Remove our update from the storeinfo list, if it
still exists.
(update_1folder): Make 'sent folder shows all counts' optional via
an environmental variable EVOLUTION_COUNT_SENT for all those
bloody whinging lusers out there.
(mail_note_store_remove): Unref the storage when done.
* mail-mt.c (mail_async_event_emit): If we're in main and have a
gui task, set it to run via an idle function.
(idle_async_event): Wrapper for calling do_async_event from idle
function, and freeing the message when done.
(idle_async_event): Call mail_msg_free not free on the finished
message.
* component-factory.c (mail_remove_storage): Destroy the storage
async.
(store_disconnect): This does the work.
(free_storage): Un-note the store when we remove it, so the store
noting code can unref things properly.
(idle_quit): Return false when done, dont loop.
2001-10-24 <NotZed@Ximian.com>
* component-factory.c (owner_set_cb): Setup an async_event
handler.
(idle_quit): Try to destroy the async_event, or keep dropping out
if it can't (deadlock).
* mail-mt.c (do_async_event): Set the threadid of the thread we're
running in so we know its running/which thread its in.
(mail_async_event_emit): Added new argument 'type' which is the
type of thread to execute against, gui or another one. Fixed all
callers.
(mail_async_event_destroy): Return -1 if this operation will fail
(deadlock possibility). If we're in the thread of the task
we're going to wait for, then return a failure (since we will
deadlock).
(mail_async_event_emit): Chagned to use MailAsyncFunc type as the
function type, which just takes 3 void args, change args to suit.
* mail-folder-cache.c (mail_note_store): Record the pending update
events in a pending list. We should really be able to use an
async event for this, but that doesn't return to the gui loop when
done :-/
(update_folders): Remove from pending update when done.
svn path=/trunk/; revision=14101
* e-activity-handler.c (impl_destroy): Set ->priv to NULL.
(impl_operationStarted): Check for priv not being NULL.
(impl_operationProgressing): Likewise.
(impl_operationFinished): Likewise.
(impl_requestDialog): Likewise.
svn path=/trunk/; revision=14099
2001-10-25 Jon Trowbridge <trow@ximian.com>
* e-summary-tasks.c (sort_uids): It is possible for
start_foo.value to be NULL after a cal to
cal_component_get_dtstart, so we need to check for this before
dereferencing it. (Bug #13259)
svn path=/trunk/; revision=14097
* e-shell-startup-wizard.c (make_mail_dialog_pages): Set the
->mailer to be CORBA_OBJECT_NIL in case of an exception, otherwise
the caller will not realize about the problem.
svn path=/trunk/; revision=14095
* evolution-wizard.c (evolution_wizard_set_buttons_sensitive):
Don't use __FUNCTION__.
(evolution_wizard_set_show_finish): Likewise.
(evolution_wizard_set_page): Likewise.
* e-shell-startup-wizard.c (make_mail_dialog_pages): Do not use
__FUNCTION__ and __LINE__. This breaks the string freeze, but the
old way made Evolution non-compilable with non-GNU compilers.
svn path=/trunk/; revision=14094
2001-10-25 Rodrigo Moya <rodrigo@ximian.com>
* gui/dialogs/comp-editor.c (save_comp): show an error message when
we can't update the object on the calendar server
svn path=/trunk/; revision=14090
2001-10-25 Federico Mena Quintero <federico@ximian.com>
* gui/GNOME_Evolution_Calendar.oaf.in: The tasks folder does not
support the PersistFile interface; removed it. Removed it as well
from the calendar folder since it is aggregated but not actually
implemented.
svn path=/trunk/; revision=14088
2001-10-25 Federico Mena Quintero <federico@ximian.com>
* gui/component-factory.c (xfer_folder): Handle tasks folders as
well; was always using "calendar.ics" as the filename.
svn path=/trunk/; revision=14087
2001-10-24 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (mail_generate_reply): No longer need to pass a
settext argument.
(do_forward_non_attached): Same.
svn path=/trunk/; revision=14085
2001-10-24 Jeffrey Stedfast <fejj@ximian.com>
* e-msg-composer.c (add_attachments_from_multipart): New function
that replaces handle_multpart() and handle_multipart_alternative()
for add_message_attachments().
(e_msg_composer_add_message_attachments): Call
add_attachments_from_multipart().
(handle_multipart_alternative): Now only used by
new_with_message() and is really only designed to work well with
messages generated by Evolution (ie for editing Drafts and such).
(handle_multipart): Same.
(e_msg_composer_new_with_message): No longer calls
add_message_attachments() because we can't ever have this fail and
the logic in add_message_attachments() is impossible
logic. Instead do like what we used to do before the addition of
add_message_attachments() came along.
svn path=/trunk/; revision=14084