Commit Graph

79 Commits

Author SHA1 Message Date
3d94ea9337 Changed to only take a FolderBrowser argument
2000-08-09  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-view.c (mail_view_create): Changed to only take a
	FolderBrowser argument

	* mail-ops.c (real_view_msg): Create a new FolderBrowser for each
	message being opened in a new window. Also set the
	message_list->cursor_uid and mail_display->current_message to the
	appropriate values.
	(real_view_msg): Updated to reflect changes in the mail_view_create

	* message-list.c (on_right_click): Nicify a little, add in a menu
	separator between VFolder and Filter stuff.

	* mail-ops.c (real_view_msg): Set the UID of the message that is
	being displayed

svn path=/trunk/; revision=4662
2000-08-09 19:57:28 +00:00
b9a9cd3a86 New convenience function with params of a normal Gtk callback function. We
2000-08-08  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-ops.c (view_msg): New convenience function with params of a
	normal Gtk callback function. We also now create a new
	FolderBrowser object so that the message-view window isn't tied to
	the display in the main window
	(view_message): Now calls view_msg (this function is a bonobo
	callback and can't be used with gtk widgets)
	(edit_msg): Same idea as view_msg()
	(edit_message): Again, same as view_message()

	* message-list.c (on_right_click): Callback for creating an
	e-popup-menu
	(message_list_init): Added a right_click event to trigger a pop-up
	menu to be displayed

svn path=/trunk/; revision=4619
2000-08-09 01:09:55 +00:00
8fed71251f Fix build by allowing includes for e-table dir
2000-08-08  JP Rosevear  <jpr@helixcode.com>

	* Makefile.am: Fix build by allowing includes for e-table dir

2000-08-08  JP Rosevear  <jpr@helixcode.com>

	* mail-ops.c (check_configured): Use config accessors
	(fetch_mail): ditto
	(composer_send_cb): ditto
	(create_msg_composer): ditto

	* mail-config-gui.h: Update API

	* mail-config.h: Update API

	* mail-config.c: Add accessor functions
	(mail_config_is_configured): accessor function
	(mail_config_get_default_identity): ditto
	(mail_config_get_default_source): ditto
	(mail_config_get_transport): ditto
	(mail_config_send_html): ditto
	(identity_copy): Make public
	(identity_destroy): ditto
	(identity_destroy_each): ditto
	(service_copy): ditto
	(service_destroy): ditto
	(service_destroy_each): ditto
	(mail_config_init): Rename from init_config and make public
	(mail_config_clear): Rename from clear_config and make public
	(mail_config_read): Rename from read_config and make public
	(mail_config_write): Reanme from write_config and make public

	* main.c (main): Call mail_config_init.

	* mail.h: Include mail-config-gui.h

	* mail-config-gui.c: Move config gui stuff here.
	(source_dialog): Kill memory leak from debug leftovers.
	Make sure returned source is NULL by default

svn path=/trunk/; revision=4592
2000-08-08 07:08:48 +00:00
b9eece78e6 Redone to show a dialogue first, and show progress of whats happening as
2000-08-07  Not Zed  <NotZed@HelixCode.com>

        * mail-local.c (local_reconfigure_folder): Redone to show a
        dialogue first, and show progress of whats happening as its done.

        * Makefile.am (glade_DATA): Added local-config.glade, for mailbox
        reconfig dialogue.

2000-08-04  Not Zed  <NotZed@HelixCode.com>

        * folder-browser.c (mail_uri_to_folder): Use local_uri_to_folder()
        for local uri's (file://).

        * mail-local.c (local_uri_to_folder): Handle looking up folder
        storage type before opening the store/folder.
        (local_reconfigure_folder): Function to reconfigure the format of
        a local mailbox into another storage format.

        * Makefile.am (evolution_mail_SOURCES): Added mail-local.c and
        missing mail-vfolder.h.

svn path=/trunk/; revision=4591
2000-08-08 03:55:11 +00:00
573ea91f0c Added mail-view.c
2000-08-07  Jeffrey Stedfast  <fejj@helixcode.com>

	* Makefile.am: Added mail-view.c

	* folder-browser-factory.c (control_activate): Adda menu item for
	viewing the message

	* mail-view.c: New file containing methods for viewing messages in
	separate windows

	* mail-ops.c (view_message): New callback for viewing messages in
	a new window.

svn path=/trunk/; revision=4588
2000-08-08 02:08:44 +00:00
cf0a938afb Renamed from reply_body() so other functions can use it
2000-08-07  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-format.c (mail_get_message_body): Renamed from reply_body()
	so other functions can use it
	(mail_generate_reply): Updated to reflect function name changes

	* mail-ops.c (real_edit_msg): Attach a callback to the send signal

svn path=/trunk/; revision=4564
2000-08-07 08:37:07 +00:00
9739fb5219 New menu item under Actions to allow editing of messages.
2000-08-07  Jeffrey Stedfast  <fejj@helixcode.com>

	* folder-browser-factory.c (control_activate): New menu item under
	Actions to allow editing of messages.

	* mail-ops.c (edit_message): New function for editing messages.

svn path=/trunk/; revision=4563
2000-08-07 06:55:53 +00:00
43e3ba9da9 Added support for encrypting with GnuPG. Support for PGP5 and PGP2 are
2000-08-06  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-crypto.c (mail_crypto_openpgp_encrypt): Added support for
	encrypting with GnuPG.  Support for PGP5 and PGP2 are still in
	progress.

svn path=/trunk/; revision=4557
2000-08-06 06:34:14 +00:00
324b1e8675 New code to spawn off GPG/PGP to do stuff. Currently only deals with
* mail-crypto.c: New code to spawn off GPG/PGP to do stuff.
	Currently only deals with decryption. From Nathan Thompson-Amato
	<ndt@jps.net>, with bunches of changes from me.

	* session.c (mail_request_dialog): Expose the password dialog to
	the rest of the app (for use by the GPG/PGP code).

	* mail-format.c (handle_text_plain): Handle special inline data
	types. (Currently uuencoding, BinHex, and PGP encryption.) This is
	not the best way to deal with it, but it works for now.
	(try_inline_pgp): Convert an inline PGP-encrypted message into a
	multipart/encrypted part.
	(try_inline_binhex): Convert an inline BinHex attachment into an
	application/mac-binhex40 part (which we currently don't deal
	with...)
	(try_uudecoding): Convert a uuencoded attachment to an
	application/octet-stream part.
	(handle_multipart_encrypted): Deal with RFC2015 MIME-encoded PGP
	encrypted messages. (From ndt.)

	* mail-display.c (mail_text_write, mail_error_write): New utility
	functions.

	* Makefile.am (evolution_mail_SOURCES): add mail-crypto.c

svn path=/trunk/; revision=4466
2000-08-02 02:56:48 +00:00
4f1ecbb64b Remove hack to pass the storage around.
2000-07-29  Not Zed  <NotZed@HelixCode.com>

        * component-factory.c (create_view): Remove hack to pass the
        storage around.

        * folder-browser-factory.c (control_activate): Changed to call
        renamed vfolder editor.

        * mail-ops.c (vfolder_edit_vfolders): renamed from vfolder_edit,
        call new edit function.
        (vfolder_editor_clicked): Removed.
        (filter_druid_clicked):
        (filter_edit): Updated for api change.
        (real_fetch_mail): Fixed up for api change and fucked up indent.
        (filter_get_folder): callback for filter driver.

        * mail-vfolder.c: New file to manage virtual folders.

svn path=/trunk/; revision=4417
2000-07-30 03:21:16 +00:00
121d056d45 New function to create composer with sig file set.
2000-07-28  JP Rosevear  <jpr@arcavia.com>

	* e-msg-composer.c (e_msg_composer_new_with_sig_file): New
	function to create composer with sig file set.
	(e_msg_composer_get_sig_file): New function to get sig file
	(e_msg_composer_set_sig_file): New function to set sig file

2000-07-29  JP Rosevear  <jpr@arcavia.com>

	* mail-format.c (mail_generate_reply): Use new mail config stuff

	* component-factory.c (create_imap_storage): Use new mail config
	stuff
	(create_news_storage): ditto

	* evolution-mail.schemas: Gconf schema for evolution mail

	* mail-config-druid.glade: Gladification of config druid

	* mail-config.h: New header with config structs.

	* mail-config.c: Rewrite of GUI configuration tools to use
	new config structs.  Stores multiple identities and sources now.
	Still only uses the first one found.
	(mail_config_fetch): Returns MailConfig struct to caller
	for configuration queries.
	(mail_config): Renamed function to show mail config dialog.
	(mail_config_druid): Renamed function to show mail config druid.

	* mail-ops.c (create_msg_composer): Use
	e_msg_composer_new_with_sig_file and new config stuff
	(check_configured): Use new config stuff
	(fetch_mail): ditto
	(composer_send_cb): ditto

svn path=/trunk/; revision=4413
2000-07-29 06:04:24 +00:00
f34353458d Added mark_all_seen(), to mark every message in the list with
2000-07-28  Cody Russell  <bratsche@gnome.org>
        * mail-ops.c, mail.h: Added mark_all_seen(), to mark every
        message in the list with CAMEL_MESSAGE_SEEN.

        * folder-browser-factory.c: Added "Actions/Mark all seen".

svn path=/trunk/; revision=4412
2000-07-29 04:20:38 +00:00
f062013d51 s/struct refile_data/struct move_data (real_move_msg): Renamed from
2000-07-26  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-ops.c: s/struct refile_data/struct move_data
	(real_move_msg): Renamed from real_refile_msg()
	(move_msg): Renamed from refile_msg()

	* folder-browser-factory.c: Changed Refile to Move.

svn path=/trunk/; revision=4347
2000-07-26 16:09:18 +00:00
2f2ff6d4cc Deal with having multiple selected messages.
* mail-ops.c (forward_msg): Deal with having multiple selected
	messages.

	* mail-format.c (mail_generate_forward): Removed. (Integrated into
	forward_msg)

svn path=/trunk/; revision=3982
2000-07-08 23:40:06 +00:00
8a2058e527 Use gnome-print to do a print preview.
* mail-ops.c (print_msg): Use gnome-print to do a print preview.

	* folder-browser-factory.c: Hook up "Print" button.

svn path=/trunk/; revision=3835
2000-06-30 21:33:54 +00:00
6f95a96083 New function, a wrapper around e_table_selected_row_foreach, which calls
* message-list.c (message_list_foreach): New function, a wrapper
	around e_table_selected_row_foreach, which calls the callback
	function with UIDs rather than row numbers.

	* folder-browser-factory.c: Remove never-used "Find" button from
	the toolbar and replace it with "Refile". (We need a better icon
	for this...). Hook up "Refile" to "refile_msg".

	* mail-ops.c (refile_msg): Call the shell's user_select_folder
	routine, and then use message_list_foreach and real_refile_msg to
	do the work.
	(delete_msg): Update to use message_list_foreach.

	* folder-browser.c (mail_uri_to_folder): new function, extracted
	from folder_browser_load_folder, to turn a URI into a folder.
	(folder_browser_load_folder): Use it.

svn path=/trunk/; revision=3833
2000-06-30 20:05:47 +00:00
d2bd0132f7 Changed "Send" to "Compose" to avoid user confusion. Compose is a little
2000-06-29  Jeffrey Stedfast  <fejj@helixcode.com>

	* folder-browser-factory.c: Changed "Send" to "Compose" to
	avoid user confusion. Compose is a little more intuitive.

	* mail-ops.c (compose_msg): Renamed to avoid confusion

svn path=/trunk/; revision=3805
2000-06-29 21:06:28 +00:00
860fb187ff Return the result of folder_browser_load_folder. (get_prop, set_prop,
* folder-browser.c (folder_browser_set_uri): Return the result of
	folder_browser_load_folder.
	(get_prop, set_prop, folder_browser_properties_init): Remove. No
	longer needed.

	* folder-browser-factory.c (folder_browser_factory_new_control):
	Add a "uri" argument, return NULL if setting it fails.
	(folder_browser_factory_new_control): Remove property bag stuff.
	(folder_browser_factory_init, folder_browser_factory): Remove
	this, since we're using the component factory now.

	* component-factory.c (create_view): Update for
	folder_browser_factory_new_control change and return NOTFOUND as
	appropriate.

	* main.c (main): Don't call folder_browser_factory_init.

svn path=/trunk/; revision=3532
2000-06-12 19:29:17 +00:00
2f8b4bc14f Remember passwords between calls. (forget_passwords): Callback for "Forget
* session.c (evolution_auth_callback): Remember passwords between
	calls.
	(forget_passwords): Callback for "Forget Passwords" menu item.

	* folder-browser-factory.c (control_activate):
	(control_deactivate): Add "Forget Passwords" menu item.

svn path=/trunk/; revision=3434
2000-06-05 22:33:51 +00:00
5e20857d1c fix some function prototypes
* mail.h, mail-ops.c: fix some function prototypes

svn path=/trunk/; revision=3433
2000-06-05 22:29:28 +00:00
ae15900672 Redo this back to the old way: a single GtkHTML with various things inline
* mail-format.c: Redo this back to the old way: a single GtkHTML
        with various things inline in it. (Gets rid of flicker, simplifies
        some scrolling, selecting, and printing issues.)
        (handle_text_enriched, handle_text_html): Use <iframe>s for these,
        to protect the rest of the document from their possibily invalid
        HTML.
        (handle_via_bonobo): Use (new-and-improved) <object> tags for
        this, moving most of the work back into mail-display.c

        * mail-display.c (on_object_requested): Move the Bonobo embedding
        code back here again (reorganized a bit).
        (on_url_requested): add x-evolution-data handler, for iframe
        bodies.
        (mail_html_new, mail_html_end): removed
        (mail_display_set_message, mail_display_new): Update for NWO.

svn path=/trunk/; revision=3312
2000-05-31 14:29:24 +00:00
7b37caa734 Implemented the Transport section of the configuration dialog window
and fixed several memory leaks inside of mail-config.c

svn path=/trunk/; revision=3299
2000-05-30 22:44:53 +00:00
8e70b18c3f started to add a camel provider configuration tool
svn path=/trunk/; revision=3287
2000-05-30 17:46:17 +00:00
5b887fe6dc vfolder gui! So you can define them,k they show up in the list (well,
after a restart), but they always come up empty - doesn't search any
folders yet.

2000-05-27  Not Zed  <NotZed@HelixCode.com>

        * Makefile.am (SHELL_OBJS): Include mail storage so we can
        initialise folders.

        * component-factory.c (create_test_storage): Parses vfolder
        defintions and adds them to the storage.  Definetly needs more
        work.

        * folder-browser-factory.c (control_activate): Add the VFolder
        druid menu item.
        (control_deactivate): And remove it.

        * mail-ops.c (vfolder_editor_clicked): For editing vfolder
        definitions (rather like filters, oddly enough :).  Tries to
        update the shell but it doesn't seem to work properly - requires a
        mail component restart to take effect.

        * folder-browser.c (folder_browser_load_folder): Handle vfolder:
        urls' appropriately and map to camel.  Still needs a way to tell
        the vfolder what folders to search! (all vfolders come up empty!).

svn path=/trunk/; revision=3241
2000-05-28 06:18:11 +00:00
bb241192eb Reorganized the shell to allow dynamic registration of storages and
folder types, and changed all the components to work with the new
setup.

svn path=/trunk/; revision=3199
2000-05-25 05:55:59 +00:00
464b02c847 New menu to bring up the filter editor, and edit filters. They dont
get invoked yet though.

2000-05-16  NotZed  <NotZed@HelixCode.com>

        * mail-ops.c (filter_edit): Function to bring up the filter editor.
        (filter_druid_clicked): Save/close dialogue.

        * Makefile.am (evolution_mail_LDADD): Added libfilter.
        (INCLUDES): Add EVOLUTION_DATADIR, and fix matt's brokeneditor(tm)
        for putting spaces instead of tabs in.

svn path=/trunk/; revision=3099
2000-05-16 23:09:26 +00:00
5883763060 Don't hardcode "inbox" here.
* folder-browser-factory.c (folder_browser_factory): Don't
	hardcode "inbox" here.

	* folder-browser.c (folder_browser_set_uri): Don't hardcode
	"inbox" here either.
	(folder_browser_load_folder): Create a new store according to the
	folder browser's URI, and load the mbox file from that store.
	Parts of this are temporary.

	* session.c, mail.h: There is no longer a global store, just a
	global session.

	* mail-config.c, mail-ops.c: Update for default_session -> session
	change. fetch_mail is currently broken.

svn path=/trunk/; revision=2853
2000-05-07 03:15:22 +00:00
8fbd4ab4bd New code to configure identity, mail source, and mail transport.
* mail-config.c: New code to configure identity, mail source, and
	mail transport.
	(mail_config_druid): A druid using the config widgets. (Only
	allows configuration of a single identity, source, and transport.)

	* mail-ops.c (check_configured): New function to make sure the
	user has configured stuff, and call the	druid if not.
	(fetch_mail, send_msg, send_to_url, reply, forward_msg): Call
	check_configured
	(composer_send_cb): Make this pass the message to a CamelTransport
	rather than just printing it to stdout.

	* folder-browser-factory.c (development_warning): Add a warning
	about sending mail, since you can do that now.

svn path=/trunk/; revision=2842
2000-05-06 22:57:38 +00:00
2ef945c6e2 consolidate mail-format.h, mail-identify.h, mail-ops.h, main.h and
* mail.h: consolidate mail-format.h, mail-identify.h, mail-ops.h,
	main.h and session.h into this new file. There's no reason to have
	a .h for every .c.

svn path=/trunk/; revision=2830
2000-05-06 17:16:22 +00:00