* e-setup.c (e_setup_check_db): New. Check that things that need
to be in the config db are. Right now it sets up the default
folders.
* e-shell.c (e_shell_construct): Call e_setup_check_db after
getting the config db.
* e-shell-constants.h: Add E_SUMMARY_URI, E_LOCAL_INBOX_URI, etc.
* e-shortcuts.c (e_shortcuts_add_default_group): Use
E_LOCAL_INBOX_URI, etc.
* e-shell-view.c: #define FALLBACK_URI to E_SUMMARY_URI
svn path=/trunk/; revision=16405
into my last commit.
* main.c (idle_cb): Check for "default:" URIs and treat them the
same way as "evolution:" URIs.
* e-shell.c (impl_Shell_handleURI): Handle "default:" URIs by
looking up the default folders in the config db.
svn path=/trunk/; revision=16403
* gui/component-factory.c (create_view): Add view_info arg. If the
view_info is non-empty and this is a calendar folder, set the
"view" property on the control's propertybag.
* gui/control-factory.c (calendar_properties_init): Set up the
"view" property.
(get_prop, set_prop): handle the "view" property by
getting/setting the GnomeCalendar's view. Unfortunately, this
doesn't actually work. See #23208.
* gui/calendar-commands.c (calendar_control_activate): Set the UI
component's container before calling
gnome_calendar_set_ui_component so that the search bar
initialization will work.
svn path=/trunk/; revision=16400
* Evolution-ShellComponent.idl (createView): Add a "view_info"
argument.
* e-shell-view.c (get_view_for_uri): if the URI contains a '#',
split it into a URI and a "view_info" at that point. (Otherwise,
pass "" for the view_info to ShellComponent_createView.) This can
be used for things like specifying day/month/week view to the
calendar.
* e-shell.c (create_view): Ignore e_shell_view_display_uri's
return code: it's possible/likely that the requested URL is remote
and hasn't been filled in yet.
(impl_Shell_handleURI): Don't use Shell_createNewView directly,
call e_shell_create_view_from_uri_and_settings. (For the above fix
and some others.)
* evolution-shell-component.c (impl_createView): Add view_info.
* evolution-shell-component-client.c
(evolution_shell_component_client_create_view): Add view_info.
* evolution-test-component.c (create_view_fn): add view_data.
* e-corba-storage-registry.c
(impl_StorageRegistry_getFolderByUri): kill a warning
svn path=/trunk/; revision=16397
2002-04-09 Not Zed <NotZed@Ximian.com>
* e-msg-composer-hdrs.c (set_recipients_from_destv): Use decode
rather than unformat - the e_destination was changed (long time
ago) to rfc2047 encode the addresses, so we should decode
likewise. Should fix#16158.
* e-msg-composer.c (next_word): g_utf8_next_char never returns
NULL, it just skips to the next character. So like normal string
code, we just check for a nul explicitly. Fixes a bug found while
checking #16158.
svn path=/trunk/; revision=16396
2002-04-08 Not Zed <NotZed@Ximian.com>
* mail-send-recv.c (receive_update_got_folderinfo): Argh!
get_folder_info owns and frees its *OWN* folder info, it shouldn't
be free'd here! See mail-ops.c:get_folderinfo_free.
This should fix#17259 and friends.
svn path=/trunk/; revision=16395
2002-04-09 Not Zed <NotZed@Ximian.com>
* camel-mime-part.c (construct_from_parser): If we get multiple
Content-Type header values, change subsequent headers to
X-Invalid-Content-Type so it doesn't wreck processing. This fixes
the reported case in #18929, but i dont know if it fixes the
original posters problems.
2002-04-08 Not Zed <NotZed@Ximian.com>
* camel-vtrash-folder.c (vtrash_move_messages_to): If we find
we're moving from the vtrash to another folder, we need to convert
the uid from a vfolder uid to the source uid (+8). Fix for
#20886. Also changed to batch multiple moves to different folders
so they are done as efficiently as possible rather than one at a
time.
* camel-mime-utils.c (base64_decode_step): If we only get passed
'=', we back track only if we actually output any data. Fix for
#21716.
(quoted_decode): Pass out size_t instead of int, and use 0 instead
of -1 for error since its not signed. This will fix similar bug
to above in different circumstances since the result is taken as
unsigned. This is only an internal func.
(quoted_encode): Return size_t just for consistency.
* camel-block-file.c (block_file_validate_root): Comment out the
debug and move it into a warning when the validation fails.
svn path=/trunk/; revision=16394
2002-04-08 Jeffrey Stedfast <fejj@ximian.com>
* mail-signature-editor.c (menu_file_save_cb): Since bonobo
doesn't seem to O_TRUNC the file stream before writing to it,
write to a temp file first and then rename() it to the real
filename. This also protects against losing data if the drive is
full too. Also use a real mode, not 0, so that we can actually
save/read the content ;-)
svn path=/trunk/; revision=16392
2002-04-08 Jeffrey Stedfast <fejj@ximian.com>
* GNOME_Evolution_Mail.oaf.in: Re-added the config wizard
interfaces. Ettore accidently removed them thinking they were
duplicates of the new mail-config interfaces.
* mail-config.glade: Remove the OK, Apply, Cancel buttons from the
keyboard shortcut tab in the composer_prefs dialog.
* mail-account-gui.c: No need to check gui->source before using
gui->source->url, since gui->source *has* to exist.
svn path=/trunk/; revision=16391
prefs.
* e-shell.c (impl_Shell_createNewView): Use
e_shell_create_view_from_uri_and_settings to create the new view
based on saved view 0 instead of always using the initial
evolution defaults.
(e_shell_create_view_from_uri_and_settings): Renamed and
simplified; the template_view argument was useless and
settings_found would always be set to TRUE in the context it was
being used it.
(e_shell_restore_from_settings): Simplify for
e_shell_create_view_from_uri_and_settings changes.
* e-shell-view.c (e_shell_view_load_settings): Only load the
DisplayedURI if the view isn't already displaying a URI. Also,
pass an &ev to the first bonobo_config_get_long so we can tell if
it failed and bail out.
* e-shell-view.h: Remove a prototype for a non-existent function
(e_shell_view_remove_control_for_uri).
* main.c (idle_cb): Add some comments here and remove some dead
code.
svn path=/trunk/; revision=16389
2002-04-06 JP Rosevear <jpr@ximian.com>
* e-shell-settings-dialog.c (page_new): set type
(load_pages): get the oaf property for type and track the page
number of the highest priority for each type
(destroy_type_entry): destroy hash func
(impl_destroy): destroy the hash table
(init): create private struct and hash table
(e_shell_settings_dialog_show_type): show the page of the given
type
* e-shell-view-menu.c (command_settings): show the page for the
current folder type by default
* e-shell-settings-dialog.h: new proto
svn path=/trunk/; revision=16376
* e-search-bar.c (e_search_bar_construct): Construct the buttons
earlier so that the option-menu-setup code that tries to adjust
the button sensitivity won't fail and g_warn.
svn path=/trunk/; revision=16375
2002-04-06 JP Rosevear <jpr@ximian.com>
* e-multi-config-dialog.c (e_multi_config_dialog_show_page): show
a specific page number
* e-multi-config-dialog.h: new proto
svn path=/trunk/; revision=16374
2002-04-05 Jeffrey Stedfast <fejj@ximian.com>
* camel-http-stream.c (http_get_headers): Don't get the statuscode
here anymore.
(http_method_invoke): Use a User-Agent header and do basic proxy
authentication.
(stream_read): Handle redirects.
(camel_http_stream_set_user_agent): New function to allow client
to set the User-Agent string.
(camel_http_stream_set_proxy): New function for setting the proxy
server.
(camel_http_stream_set_proxy_authrealm): New function for setting
the proxy auth realm.
(camel_http_stream_set_proxy_authpass): New function for setting
the proxy auth password.
svn path=/trunk/; revision=16367
2002-04-05 Jeffrey Stedfast <fejj@ximian.com>
Fixes bug #3980.
* e-msg-composer-hdrs.c (e_msg_composer_hdrs_set_cc): If a Cc list
is set to something non-empty, make sure to show the Cc widgets.
(e_msg_composer_hdrs_set_bcc): Same but for Bcc.
(e_msg_composer_hdrs_set_reply_to): And here.
svn path=/trunk/; revision=16366
2002-04-04 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-search.c (imap_body_contains): If
(body-contains) is not passed any arguments, return empty/false.
Fixes a crash exposed by #15001.
svn path=/trunk/; revision=16362
2002-04-04 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder-summary.c (message_info_new): Simplified since we
can now decode in-reply-to without getting extra cruft. Get rid of
the FIXME about having to check scan->id because of the
possibility of it being NULL, this can no longer happen.
* camel-mime-utils.c (header_references_inreplyto_decode): New
function to decode in-reply-to headers. Only grabs the first thing
that looks like a message-id and then returns.
(header_references_decode): Loop calling
header_references_decode_single (a new internal function).
svn path=/trunk/; revision=16361
* netscape-importer.c (netscape_import_accounts): Remove refs to
drafts_folder_name and sent_folder_name in the corba account
structure.
svn path=/trunk/; revision=16356
* filter-folder.c: Remove the #ifndef SHELL part. Use an
EvolutionFolderSelectorButton. Remove FilterFolder->name since
it's no longer needed.
* filter-context.c (filter_rename_uri): Update for removal of
FilterFolder->name.
* filter-element.c (filter_element_copy_value): Likewise.
* vfolder-rule.c (source_add): Update for
evolution_shell_client_user_select_folder API change.
svn path=/trunk/; revision=16354
* mail-account-gui.c (mail_account_gui_new): Make the drafts and
sent folder buttons be EvolutionFolderSelectorButtons. Remove the
code to deal with drafts_folder_name and sent_folder_name, since
they were only used to construct the button and aren't needed now.
(mail_account_gui_save): Remove drafts/sent name references.
(mail_account_gui_destroy): Likewise
(folder_selected): Handle the "selected" signal on the folder
selector button by updating the URI in the MailAccountGui.
(mail_account_gui_folder_selector_button_new): Glade custom widget
constructor.
* mail-callbacks.c (transfer_msg): Update for
evolution_shell_client_user_select_folder change.
* message-browser.c (transfer_msg): Likewise. (Sigh. Why is this
cut+pasted?)
* mail-config.glade: Make the drafts/sent folder buttons custom
widgets.
* mail-config.c (account_copy): Remove drafts/sent folder name
handling.
(account_destroy): Likewise.
(config_read): Likewise.
(mail_config_write): Likewise.
* Mail.idl (MailConfig:Account): remove drafts_folder_name and
sent_folder_name.
svn path=/trunk/; revision=16353
* evolution-folder-selector-button.c: New widget for a button that
displays a folder selection in a standard form, and when clicked
lets the user select a new folder.
* Evolution-Shell.idl (FolderSelectionListener:notifySelected):
Make this take an Evolution:Folder instead of a pair of uris.
(Shell:getIconByType): New method to get the icon for a type from
the folder type registry.
* Evolution-common.idl (Folder): add "evolutionUri" to the folder
structure.
* Evolution-Storage.idl (StorageRegistry:getFolderByUri): get an
Evolution:Folder for a given uri.
* evolution-shell-client.c
(evolution_shell_client_user_select_folder): Update this to
reflect the IDL change: return a GNOME_Evolution_Folder instead of
a pair of URIs. Make sure it always sets *@folder_return to %NULL
if it fails (even if it's a g_return_if_fail).
(evolution_shell_client_get_storage_registry_interface): New.
(evolution_shell_client_get_pixbuf_for_type): New. Uses
Shell_getIconByType, but caches results.
* e-shell.c (folder_selection_dialog_folder_selected_cb): Update
for API change. (Return a GNOME_Evolution_Folder.)
(impl_Shell_getIconByType): Implement.
* e-corba-storage-registry.c
(impl_StorageRegistry_getFolderByUri): Implement.
* evolution-storage.c (evolution_storage_new_folder): Add a
(dummy) evolutionUri to the folder.
* Makefile.am (libeshell_la_SOURCES): add
evolution-folder-selector-button.c
(eshellinclude_HEADERS): and .h
svn path=/trunk/; revision=16352