2003-05-15 Jeffrey Stedfast <fejj@ximian.com>
* e-msg-composer-attachment.c (e_msg_composer_attachment_edit):
Don't connect to the focus-out-event in order to update the
mime-type. Simply don't update the mime-type ever. Fixes bug
#42798.
svn path=/trunk/; revision=21214
2003-05-15 Rodney Dawes <dobey@ximian.com>
* configure.in: Check for libgcc stuff to make solaris happy
* gui/component/Makefile.am: libgcc fix for Solaris __eprintf issue
svn path=/trunk/; revision=21212
2003-05-15 JP Rosevear <jpr@ximian.com>
Fixes#41935
* gui/e-week-view.c (e_week_view_init): listen for scroll events
on the canvas
(e_week_view_on_button_press): don't scroll here
(e_week_view_on_scroll): scroll here
* gui/e-day-view.c (e_day_view_init): listen for scroll events on
the time and main canvases
(e_day_view_on_main_canvas_button_press): don't scroll here
(e_day_view_on_main_canvas_scroll): scroll here
(e_day_view_on_time_canvas_scroll): and here
svn path=/trunk/; revision=21210
2003-05-15 JP Rosevear <jpr@ximian.com>
Fixes#43029
* gui/e-week-view.c (e_week_view_init): don't listen for destroy
signal
(e_week_view_destroy): check for NULL and make invisible NULL
after we destroy it, unref cursors and NULL them out as well,
guard against freeing events multiple times
* gui/e-day-view.c (e_day_view_destroy): check for NULL and make
invisible NULL after we destroy it, unref cursors and NULL them
out as well, guard against freeing events multiple times
(e_day_view_init): don't listen for destroy signal
* gui/e-calendar-table.c (e_calendar_table_init): don't listen for
destroy signal
(e_calendar_table_destroy): check for NULL and make invisible NULL
after we destroy it
svn path=/trunk/; revision=21208
2003-05-15 JP Rosevear <jpr@ximian.com>
Fixes#41930
* idl/evolution-calendar.idl: Make sure everything that can raise
a NotFound exception lists it
svn path=/trunk/; revision=21207
2003-05-15 JP Rosevear <jpr@ximian.com>
Fixes#43101
* e-summary-mail.c (e_summary_folder_unregister_storage): unref
the storage after use not before
svn path=/trunk/; revision=21206
2003-05-15 Not Zed <NotZed@Ximian.com>
** See bug #42838.
* mail-account-gui.c (mail_account_gui_build_extra_conf): always
add the extra entry to the hash table, most paths wouldn't.
svn path=/trunk/; revision=21203
2003-05-15 Not Zed <NotZed@Ximian.com>
* camel-mime-utils.c (header_decode_word): Simplistic quick-fix
for #42710. Add a charset argument. If the data is 8 bit, try to
decode into the passed in charset (i.e. the message header?), at
worst, fall back to latin1, similarly to header_decode_text.
Fixed all callers to pass in a charset if available, or NULL.
svn path=/trunk/; revision=21202
2003-05-15 Chris Toshok <toshok@ximian.com>
* gui/component/addressbook.c (book_open_cb): backing out a tiny
porting of jpr's fix - we need to set the book on the
EAddressbookView, or else it won't do queries, and it won't show
any cards. Fixes#43023, #43090.
svn path=/trunk/; revision=21201
2003-05-15 Chris Toshok <toshok@ximian.com>
* gui/merging/e-card-merging.c (free_lookup): new function, split
out the duplicated teardown code from final_cb and final_id_cb.
also, unref the card.
(final_id_cb): call free_lookup.
(final_cb): same.
(e_card_merging_book_add_card): ref the card. fixes bug #43016.
svn path=/trunk/; revision=21200
2003-05-15 JP Rosevear <jpr@ximian.com>
* gui/e-meeting-time-sel.c
(e_meeting_time_selector_refresh_free_busy): ref ourselves the
number of times we'll get called back
svn path=/trunk/; revision=21196
* e-shell.c (parse_default_uri): Protect against the component
name having slashes in it.
* e-shell-view.c (display_uri): Protect against invalid "default:"
URIs. [#43079]
svn path=/trunk/; revision=21194
2003-05-13 Jeffrey Stedfast <fejj@ximian.com>
* providers/local/camel-local-folder.c (local_delete): Only delete
the index if it is non-NULL. Fixes bug #42763.
svn path=/trunk/; revision=21193
2003-05-15 Rodrigo Moya <rodrigo@ximian.com>
* main.c: #ifdef'ed wombat killing code, depending on whether
KILL_PROCESS_CMD is defined or not.
(kill_wombat): kill also the alarm daemon process.
svn path=/trunk/; revision=21190
2003-05-14 Not Zed <NotZed@Ximian.com>
** See bug #42540
* camel-service.c (camel_gethostbyname): pre-initialise the error
return to invalid, so if we cancel, we definetly get a bad result.
Also, for a valid return against result, not herr.
(camel_gethostbyaddr): Likewise.
svn path=/trunk/; revision=21187
2003-05-14 Chris Toshok <toshok@ximian.com>
* gui/contact-editor/e-contact-editor.c (full_addr_clicked):
replace the text_buffer_delete/text_buffer_insert with
set_buffer_set_text. call widget_changed if they clicked OK, so
we actually mark the dialog changed.
(fill_in_field): make this handle GtkTextViews, because for some
reason that escapes rational thought GtkTextView's don't implement
GtkEditable. fixes#42606.
(extract_field): same.
svn path=/trunk/; revision=21184
2003-05-12 Chris Toshok <toshok@ximian.com>
* gui/widgets/e-minicard-label.c (e_minicard_label_reflow): set
the clip_height on reflow so the name of the field is as high as
the field's value. makes it possible to click anywhere to the
left of a tall field (like an address) and have it select the
field. Fixes#42625.
svn path=/trunk/; revision=21183
2003-05-14 Chris Toshok <toshok@ximian.com>
* gui/contact-editor/e-contact-editor.c (address_mailing_changed):
handle the case where we haven't filled in the address yet. fixes
#42620.
svn path=/trunk/; revision=21182
2003-05-14 JP Rosevear <jpr@ximian.com>
* mail-local.h: add proto
* mail-local.c (storage_listener_startup): don't listen for
destruction, because we have a ref and it'll never happen
(mail_local_storage_shutdown): release and unref the local storage
* mail-display.c (retrieve_shell_view_interface_from_control):
return a new copy every time
(set_status_message): release and unref the shell view
* folder-browser.c (folder_browser_destroy): guard for multiple
destroys
* folder-browser-factory.c (control_activate): release and unref
the shell view
(control_destroy_cb): just remove the control from the list
(folder_browser_factory_new_control): don't weak ref the folder
browser
* component-factory.c (owner_unset_cb): shutdown local storage
svn path=/trunk/; revision=21181
2003-05-14 JP Rosevear <jpr@ximian.com>
* gui/e-tasks.c (e_tasks_destroy): guard against multiple destroys
* cal-client/cal-client.c (cal_client_finalize): unref the
bonobo listener
* gui/gnome-cal.c (gnome_calendar_destroy): guard against multiple
destroy calls
* gui/e-week-view.c (e_week_view_init): connect after destroy
(invisible_destroyed): don't unref, its already destroyed
* gui/e-day-view.c (e_day_view_init): connect after destroy
(invisible_destroyed): don't unref, its already destroyed
* gui/e-calendar-table.c (e_calendar_table_class_init): make sure
we set the parent class
(e_calendar_table_init): connect after the destroy handler runs
(e_calendar_table_destroy): guard against multiple destroys
(invisible_destroyed): don't unref the invisible, its already
being destroyed
* gui/calendar-offline-handler.c (backend_cal_set_mode): unref the
client, we are done with it now
(backend_cal_opened_online): ditto
(impl_dispose): unref our main client
* gui/calendar-commands.c (control_util_set_folder_bar_label):
release/unref the shell view once we are done with it
(control_util_show_settings): ditto
svn path=/trunk/; revision=21180
2003-05-14 JP Rosevear <jpr@ximian.com>
* gui/component/addressbook.c (addressbook_view_unref): clear the
view
(book_open_cb): track the book in the view, don't unref the book
(set_prop): set the book
(retrieve_shell_view_interface_from_control): get the shell view
every time
(set_folder_bar_label): release and unref the shell view
* gui/component/addressbook-storage.h: add proto
* gui/component/addressbook-storage.c
(addressbook_storage_cleanup): unref the storage
* gui/component/addressbook-component.c (owner_unset_cb): clean up
storage
* backend/ebook/e-book.c (e_book_load_uri): track the listener
signal
(e_book_dispose): unref the listener and disconnect the signal
svn path=/trunk/; revision=21179
2003-05-14 JP Rosevear <jpr@ximian.com>
* e-summary.h: fix up protos
* e-summary.c (e_summary_get_control): accessor
(e_summary_set_control): ditto
(retrieve_shell_view_interface): util to get the shell view
(e_summary_change_current_view): use it
(e_summary_set_message): ditto
(e_summary_unset_message): ditto
* e-summary-mail.h: add proto
* e-summary-mail.c (e_summary_mail_get_info): use the objref of
the listener
(e_summary_folder_unregister_storage): clean up a registered
storage
(e_summary_folder_register_storages): store the listener directly
(folder_info_pb_changed): unref the listener once we are notified
(lazy_register_storages): release and unref the property bag,
event and listener
(e_summary_folder_init_folder_store): track the listener
(e_summary_folder_clear_folder_store): cleanup the folder store
* e-summary-factory.c (control_activate_cb): we don't get the
shell view here any more
(e_summary_factory_new_control): don't pass in the shell, set the
control on the summary
* component-factory.c (owner_unset_cb): clear the folder store on
destruction
svn path=/trunk/; revision=21177
2003-05-14 JP Rosevear <jpr@ximian.com>
* e-shell.c (save_settings_for_component): release the interface
if we got it
* e-shell-view.c: include bonobo-exception.h
(impl_dispose): release and unref the shell view corba interface
(init): init to CORBA_OBJECT_NIL
(e_shell_view_get_corba_interface): return the corba interface
(setup_corba_interface): release the existing shell view, add as
an interface and then query to get it back
(get_view_for_uri): release and unref the control once we create
the widget with it
* e-corba-storage.c (storage_listener_servant_new): don't ref
ourselves
(storage_listener_servant_free): don't unref ourselves
(impl_dispose): free the servant info
* e-corba-storage-registry.c
(impl_StorageRegistry_getStorageByName): we need to ref as well as
duplicate since we didn't create the storage here
svn path=/trunk/; revision=21176
2003-05-13 Mike Kestner <mkestner@ximian.com>
* e-table-item.c (eti_event): gross hack to work around a
post dispose event emission by gtk2.0/canvas2.0 [#42622]
svn path=/trunk/; revision=21174
2003-05-13 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap/camel-imap-utils.c (imap_uid_array_to_set): Added
a note to the comment block for this function noting that uids
MUST be in sorted order.
* providers/imap/camel-imap-folder.c (imap_expunge_uids_online):
Sort the uids before splitting them into UID set chunks. The code
that splits the uid array into sets expects the uids to be in
sorted order. Fixes bug #42854.
* providers/imap/camel-imap-command.c (imap_command_start):
Re-enable camel_verbose_debug logging.
svn path=/trunk/; revision=21173
2003-05-14 Carlos Perelló MarÃn <carlos@gnome.org>
* es.po: Updated by Francisco Javier Fernandez <serrador@arrakis.es>
svn path=/trunk/; revision=21169
2003-05-13 Chris Toshok <toshok@ximian.com>
* gui/component/select-names/e-select-names-text-model.c
(e_select_names_text_model_set_separator): strlen ->
g_utf8_strlen.
(e_select_names_text_model_insert): same.
(e_select_names_text_model_insert_length): big change, make this
work with multibyte utf8.
(e_select_names_text_model_delete): same. this could possibly use
a tighter loop + a memmove, but this works.
* gui/component/select-names/e-select-names-model.c
(e_select_names_model_get_textification): make sure our truncation
to MAX_LENGTH characters uses utf8 characters, not bytes.
(e_select_names_model_name_pos): track e-text-model change.
pos/length are now in utf8 character terms, so use g_utf8_strlen
instead of strlen.
(e_select_names_model_text_pos): same.
svn path=/trunk/; revision=21165
2003-05-13 Chris Toshok <toshok@ximian.com>
[ fixes several utf8/pango related problems, including bugs
#41288, #42596, #42604 ]
* configure.in (GAL_CURRENT): bump to 3, per mkestner.
(GAL_REVISION): drop to 0, per mkestner.
* gal/e-text/e-text.c (reset_layout_attrs): we need to convert the
start/end bounds of the object to byte indices for the attribute.
(reset_layout): in the layout == NULL case don't create the layout
then immediately set it again with the same text. also, we need
to convert selection_start to a byte index before calling
pango_layout_get_cursor_pos.
(e_text_draw): remove some #ifdef 0'd code, move the calculation
of our initial clip_rect below the xpos/ypos assignments so we
don't duplicate the expression. Fix the selection drawing in the
multiline case so that it actually works, instead of assuming that
all ETexts only have 1 line *boggle*.
(get_position_from_xy): this needs to return a utf8 offset.
(e_text_copy_clipboard): convert sel_start/sel_end to byte indices
before copying.
(primary_get_cb): same.
(paste_received): validate the input here, and drop the length
parameter from e_text_insert.
(next_word): convert from an utf8 offset on entry to this
function, and return a utf8 offset when we're done. also, remove
the call the g_unichar_validate. we validate at all points where
text is inserted.
(find_offset_into_line): new function used in the backward/forward
line code. find the utf8 offset into a line (the number of utf8
characters from a prior \n or beginning of the string.)
(_get_position): in general there are lots of changes here because
text->selection_start/text->selection_end are utf8 offsets, not
byte offsets. fix E_TEP_START_OF_LINE so that hitting Ctrl-a when
you're at the beginning of a line doesn't take you to the
beginning of the previous line. fix E_TEP_END_OF_LINE in an
analogous fashion. for E_TEP_FORWARD_CHARACTER we just increment
by 1. for E_TEP_BACKWARD_CHARACTER we just decrement by 1. for
E_TEP_BACKWARD_WORD we drop the g_unichar_validate call and
simplify things a bit. reimplement
E_TEP_FORWARD_LINE/E_TEP_BACKWARD_LINE so they find the current
offset into the line, then scan forward/backward for the next/prev
line, and put us at the right offset on that line. fix
E_TEP_SELECT_WORD so double clicking in the space between words
doesn't select both words - if you double click on the trailing
edge of the space, it selects the next word. leading edge selects
the previous one. for E_TEP_SELECT_ALL use g_utf8_strlen.
(e_text_insert): everything that calls this passes a \0 terminated
string, so we assume it's \0 terminated (the old code did as well,
with calls to strlen) and drop the length parameter. also make
sure this is all utf8 happy.
(capitalize): use g_utf8_offset_to_pointer instead of just adding
text->text and start/end, and remove the validate call. also fix
the call to e_text_model_delete and use e_text_model_insert_length
instead of e_text_model_insert.
(e_text_command): for E_TEP_INSERT, validate the input. for
E_TEP_CAPS just use MAX instead of the neat little hack. also,
fix the scrolling so that it scrolls properly in both X and Y
directions (there are still some hiccups but it's much much better
than previously).
(e_text_commit_cb): validate the input here.
* gal/e-text/e-text-model.c (struct _ETextModelPrivate): just use
a GString here and get rid of MAX_LENGTH.
(e_text_model_dispose): free GString.
(e_text_model_real_validate_position): clean this up a bit.
(e_text_model_real_get_text): return the contents of the GString.
(e_text_model_real_get_text_length): use g_utf8_strlen here.
(e_text_model_real_set_text): convert to GString
(e_text_model_real_insert): just call e_text_model_insert_length
here instead of duplicating the function.
(e_text_model_real_insert_length): convert to utf8/gstring.
i.e. convert @position and @length to a bytes and use
g_string_insert_len.
(e_text_model_real_delete): same, with g_string_erase.
(e_text_model_get_text_length): use g_utf8_strlen
(e_text_model_strdup_nth_object): convert the length of the object
to bytes before copying.
(e_text_model_get_nth_object_bounds): calculate start/end properly
for u
svn path=/trunk/; revision=21163