Commit Graph

85 Commits

Author SHA1 Message Date
84c85d8eb7 fixed to build with -DG_DISABLE_DEPRECATED
svn path=/trunk/; revision=19209
2003-01-02 20:52:15 +00:00
f37b0a1ab7 ...And a whole bunch more build fixes.
2002-12-17  Jeffrey Stedfast  <fejj@ximian.com>

	...And a whole bunch more build fixes.

	* mail-vfolder.c (mail_vfolder_delete_uri): Don't use
	g_string_sprintfa() anymore since it is apparently deprecated.

	* mail-session.c (main_get_filter_driver): Don't use
	g_string_sprintfa() anymore since it is apparently deprecated.

	* mail-ops.c (build_from): Don't use g_string_sprintfa() anymore
	since it is apparently deprecated.

	* mail-callbacks.c (ask_confirm_for_unwanted_html_mail): Don't use
	g_string_sprintfa() anymore since it is apparently deprecated.

	* mail-autofilter.c: Don't use g_string_sprintfa() anymore since
	it is apparently deprecated.

	* folder-browser.c: Don't use g_string_sprintfa() anymore since it
	is apparently deprecated.

	* mail-search.c (mail_search_set_subject): Remove the unnecessary
	g_strdup()'age as well as fix a possible buffer overrun.

	* mail-local.c (mail_local_folder_construct): Use
	g_path_get_basename().

	* mail-config-druid.c (make_account): Don't use e_utf8_*
	functions.

svn path=/trunk/; revision=19152
2002-12-17 20:38:25 +00:00
df22fc1623 gnome_pixmap -> gtkimage. (construct): gtk_clist -> gtk_tree_view, setup
2002-11-27  Not Zed  <NotZed@Ximian.com>

        * message-tag-followup.c (construct): gnome_pixmap -> gtkimage.
        (construct): gtk_clist -> gtk_tree_view, setup columns.  They dont
        size well :-/
        (message_tag_followup_append_message): Append using model, remove
        clist stuff.
        (construct): Show date edit (glade bugs?)

        * folder-browser.c (folder_browser_class_init): gtk_marshal -> g_cclosure_marshal
        (setup_popup_icons): gnome_pixmap -> gtk_image.
        (on_right_click): gtk_pixmap -> gtk_image.

        * mail-accounts.c (account_delete_clicked): removed #if 0'd out code.

        * mail-send-recv.c (receive_done): remove FIXME and extra unref.

        * mail-session.c (request_password): Removed #if 0'd out stuff.

        * mail-vfolder.c (new_rule_clicked): proper cast for g_object_get_data.

        * mail-local.c (reconfigure_response): cast for g_object_get_data.

        * mail-account-editor.c (construct): GNOME_DIALOG -> GTK_DIALOG.

        * *.[ch]: re-ran fix.sh for e_notice change

        * mail-callbacks.c (save_msg_ok): g_object_get_data +
        gtk_object_remove_no_notify -> g_object_steal_data.
        (find_socket): gtk_container_children ->
        gtk_container_get_children
        (edit_msg): gnome_*_dialog -> gtk_message_dialog.
        (resent_msg): "
        (search_msg): "
        (confirm_goto_next_folder): gtkmessagedialogised (even if not
        used).
        (confirm_expunge): gtkmessagedialogised
        (filter_edit): "
        (do_mail_print): e_notice -> gtk_message_dialog.
        (are_you_sure): removed e_gnome_ok_cancel_dialog crap, replaced
        with a gtk dialog.
        (are_you_sure): gtkmessagedialogised.
        (edit_msg_internal): Dont free uids array, are_you_sure() free's
        it.
        (resend_msg): Same.
        (check_send_configuration): Use e_notice for stuff.  Sigh, here we
        go again ...!
        (e_question): A utility function to ask a question, potentially
        with 'dont ask again' as well.
        (configure_mail): use e_question to save code.  Here we go again,
        again ...
        (ask_confirm_for_unwanted_html_mail): "
        (ask_confirm_for_only_bcc): "
        (ask_confirm_for_only_bcc): "
        (composer_get_message): Use e_notice.
        (composer_save_draft_cb): Use e_question
        (edit_msg): use e_notice, & change to an ERROR.
        (resend_msg): same.
        (save_msg_ok): Properly initialise ret to OK, and use e_question,
        and use access() to determine existance/write access rather than
        stat, display an error if we can't write to a file that exists,
        and print the filename in all dialogues.
        (confirm_goto_next_folder): Use e_question.
        (confirm_expunge): use e_question.
        (filter_edit): Use e_notice.
        (do_mail_print): use e_notice.

svn path=/trunk/; revision=18974
2002-12-02 03:16:54 +00:00
2382dbef3f clicked->response signal for gtk dialogue. (new_rule_clicked): Dont unref
2002-11-26  Not Zed  <NotZed@Ximian.com>

        * mail-vfolder.c (vfolder_gui_add_rule): clicked->response signal
        for gtk dialogue.
        (new_rule_clicked): Dont unref after destroy (duh, idiot again).
        (edit_rule_response): Same here.
        (mail_vfolder_delete_uri): Connect response signal to
        gtk_widget_destroy directrly using g_signal_connect_swapped.
        (close_dialogue): Removed, as no longer needed.

svn path=/trunk/; revision=18925
2002-11-26 12:06:35 +00:00
e3713d58cd fix warning message, outlook->mbox.
2002-11-19  Not Zed  <NotZed@Ximian.com>

        * importers/evolution-mbox-importer.c (mail_importer_module_init):
        fix warning message, outlook->mbox.

        * importers/Makefile.am: fix serverdir to point to
        $libdir/bonobo/servers.

        * mail-callbacks.c (addrbook_sender): add type to
        bonobo_widget_set_property.

        * mail-vfolder.c (vfolder_editor_response): dont unref after destroy.

        * mail-session.c (pass_response): dont unref aftrer destroy.

        * mail-local.c (reconfigure_response): dont unref after destroy.

        * mail-display.c (launch_cb): dont unref after destroy.
        (launch_cb): "
        (drag_data_get_cb): "
        (html_button_press_event): add type to bonobo_widget::set_property

        * mail-config.c (mail_config_check_service): dont unref after
        destroy.

        * component-factory.c (send_receive_cb): dont unref after destroy.
        (request_quit): "

        * mail-signature-editor.c (mail_signature_editor): Use version 3.0
        of gtkhtml editor interfaces.
        (do_exit): dont unref after destroy.
        (format_html_cb): Add type to bonobo_widget::set_property.

svn path=/trunk/; revision=18837
2002-11-19 05:03:29 +00:00
1669f16747 Want a (GWeakNotify) cast here, not (GWeakNotify *).
* component-factory.c (owner_set_cb): Want a (GWeakNotify) cast
here, not (GWeakNotify *).

* subscribe-dialog.c (fete_init): g_object_set() instead of
gtk_object_set().
(populate_store_list): Likewise.
(menu_item_selected): g_object_get_data() instead of
gtk_object_get_data().

* message-list.c (message_list_create_extras): g_object_set()
instead of gtk_object_set().

* message-browser.c (message_browser_message_list_built):
g_object_get_data() instead of gtk_object_get_data().

* mail-vfolder.c (edit_rule_response): g_object_get_data() instead
of gtk_object_get_data().

* mail-summary.c (generate_folder_summaries): g_object_unref() the
context instead of gtk_object_destroy().

* mail-local.c (reconfigure_response): g_object_get_data() instead
of gtk_object_get_data().

* mail-display.c (pixbuf_gen_idle): g_object_unref() the GdkPixbuf
loader instead of gtk_object_destroy().
(pixbuf_gen_idle): Likewise.
(embeddable_destroy_cb): Likewise.

* mail-config-druid.c (mail_config_druid_destroy): No need to
gtk_object_destroy() the GladeXML object.
(construct): g_object_set() instead of gtk_object_set().

* folder-browser.c (folder_browser_gui_init): g_object_get_data()
instead of gtk_object_get_data().

svn path=/trunk/; revision=18752
2002-11-14 17:20:52 +00:00
bc9886539a Do not #include <libgnome/gnome-defs.h>. Likewise. Likewise. Likewise.
* mail-format.c: Do not #include <libgnome/gnome-defs.h>.
* mail-importer.c: Likewise.
* mail-mt.c: Likewise.
* mail-ops.c: Likewise.
* mail-search-dialogue.c: Likewise.
* mail-session.c: Likewise.
* mail-vfolder.c: Likewise.
* message-tag-followup.c: Likewise.
* main.c: Likewise, and <libgnomeui/gnome-init.h>.

* mail-callbacks.c: Do not #include <libgnome/gnome-paper.h>.
(do_mail_print): Remove the GnomePaper local variable.

svn path=/trunk/; revision=18739
2002-11-13 16:46:52 +00:00
f9804e1193 Commented out stuff that doesn't build yet. Also fixed idl build rule.
2002-11-13  Not Zed  <NotZed@Ximian.com>

	* Makefile.am: Commented out stuff that doesn't build yet.  Also
	fixed idl build rule.  importers still not built.

	* main.c (main): bonobactivationise.  remove push visual/colormap.
	(main): no longer activate activation, let bonobo_init do it.

	* mail-signature-editor.c (menu_help): Change help api.

	* mail-session.c (user_message_destroy_noreply): removed.  Not
	used?

	* mail-local.c (load_metainfo): xml root->children.

	* mail-format.c (g_string_append_len): Removed, it exists now.

2002-11-12  Not Zed  <NotZed@Ximian.com>

	* subscribe-dialog.c: gnome2ised, use gtkdialog.
	(subscribe_get_global_extras): use a weak ref rather than destroy signal.

	* message-tag-followup.c: gnome2ised.

	* message-tag-editor.c: gnome2ised & converted to gtkdialog.

	* message-list.c: gnome2ised.
	(message_list_finalise): From destroy method.  maybe should be
	destroy still.

	* message-browser.c: port to gnome2
	(message_browser_finalise): renamed from destroy method.

	* mail-stream-gtkhtml.c: removed redundant
	camel_class_get_global_classfuncs() call.

	* mail-signature-editor.c: gtkdialogised, & bonobo api changes.


	* mail-search-dialogue.c: gtkdialogised.

	* mail-folder-cache.c: cleaned up camel ref/hook casts.

	* mail-composer-prefs.c (mail_composer_prefs_get_type): convert to
	gtype.

	* mail-font-prefs.c (mail_font_prefs_destroy): from finalise.

	* mail-config.c: s/bonobo_config/e_config_listener/
	Added /apps/Evolution prefix to the evolution keys.
	Changed to use e_config_listener, etc.
	(mail_config_init): remove bonobo_config stuff.
	(mail_config_check_service): gtk dialogise.
	(check_response): from check_cancelled.

	* mail-config-druid.c (mail_config_druid_destroy): renamed from
	_finalize, turned into destroy handler.
	(construct): set type to toplevel, GTK_WINDOW_DIALOG no longer exists.

	* mail-config-factory.c (mail_config_register_factory): bonobo api
	changes.

	* mail-crypto.c (mail_crypto_get_pgp_cipher_context): cleaned up
	unref casts.

	* mail-display.c (write_data_to_file): gnome->gtkdialog.
	(on_link_clicked): use ascii_str*cmp on url.
	(save_part): g_path stuff.
	(launch_cb): gtk dialog.
	(pixmap_press): de-oafify.
	(pixbuf_for_mime_type): gnome-vfs api changes.
	(do_attachment_header): Change the pixmap to a gtkimage.
	(do_signature): "
	(pixbuf_gen_idle): "
	(do_attachment_header): ascii_str*cmp
	(do_attachment_header): gnome pixmap->gtkimage.
	(mail_display_destroy): protect against gtk mentalness.
	(html_button_press_event): ascii_str*cmp
	(drag_data_get_cb): added comment for translators of filename.

	* mail-format.c (component_supports): de-oafise.
	(is_anonymous): ascii_strncmp
	(attachment_header): remove utf8<>locale stuff, and gnomevfs api
	changes.
	(format_mime_part): fix g_strdown call.
	(write_field_row_begin): kill utf8->gtk stuff.
	(write_address): "
	(default_header_index): ascii_strcasecmp
	(handle_text_plain): "
	(handle_text_enriched): "
	(handle_multipart_encrypted): remove utf/gtk stuff.
	(handle_message_external_body): ascii_str*cmp

	* mail-identify.c (mail_identify_mime_part):
	(identify_by_magic): gnome vfs api changes.

	* mail-importer.c: Converted.

	* mail-local.c (load_metainfo): xml childs -> children.
	(mls_get_folder): g_strerror.
	(mls_delete_folder): g_strerror.
	(reconfigure_got_folder): Gnome->GtkDialog
	(reconfigure_response): from reconfigure_clicked.

	* mail-mt.c (mail_msg_check_error): gnome -> gtk dialog
	(error_response): renmae from error_gone.  destroy widget on any
	response.

	* mail-offline-handler.c (impl_finalise): renamed from
	impl_destroy since thats what it should be anyway.

	* mail-ops.c: removed utf8 widget conversion & camel_object_un/ref
	casts.

	* mail-preferences.c (mail_preferences_get_type): glib2'ised.

	* mail-search.c (mail_search_finalise): renmaed from destroy &
	properly chain.
	(mail_search_get_type): glib2 & make gtkdialog parent.
	(entry_run_search): run search when entry activated.  not sure if
	gtkdialog has anohter way to do this on an arbitrary widget.

	* mail-send-recv.c (dialogue_response): renamed from clicked.  Use
	gtkdialog.

	* mail-session.c (request_password_deleted): removed, redundant.
	(pass_response): rename from pass_got, changed for gtkdialog.
	(user_message_destroy): Removed, redundant.
	(user_message_response): Renamed from user_message_clicked.

2002-11-11  Not Zed  <NotZed@Ximian.com>

	* mail-stream-gtkhtml.c (mail_stream_gtkhtml_class_init): dont use
	get_global_classfuncs, just get the type

	* mail-tools.c: converted gnome2 api's.

	* mail-vfolder.c (vfolder_editor_response): clicked->response.
	(vfolder_editor_destroy): Removed.
	(vfolder_edit): gtk dialog api
	(edit_rule_response): clicked->response.
	(vfolder_edit_rule): gnomedialog->gtkdialog.
	(vfolder_gui_add_rule): "
	(new_rule_clicked): clicked->response

svn path=/trunk/; revision=18723
2002-11-12 14:59:35 +00:00
abafd9de4f Unref the driver before returning to main thread, so any closing
2002-08-06  Not Zed  <NotZed@Ximian.com>

        * mail-ops.c (filter_folder_filter): Unref the driver before
        returning to main thread, so any closing operations are handled
        async (as in fetch_mail_fetch()), for #28072.

        ** fixes for #24605.

        * mail-vfolder.c (vfolder_gui_add_from_mlist): Removed.

        * folder-browser.c (filter_type_uid,vfolder_type_uid): Changed to
        accept args directly.  Fixed callers.
        (filter_mlist_uid,vfolder_mlist_uid): Use filter_type_uid instead
        of mlist variant.
        (vfolder_type_current): new function to handle setup of vfolders
        from the main menu.  It now uses the vfolder_type_uid function the
        same as the popup.
        (vfolder_subject, vfolder_sender, vfolder_recipient,
        vfolder_mlist): Changed to use vfolder_type_current.
        (filter_type_current): Similar for filters.
        (filter_subject, filter_sender, filter_recipient,
        filter_mlist): Changed to use filter_type_current.

        * mail-autofilter.c (rule_from_message): Handle AUTO_MLIST type.
        (rule_from_mlist):
        (vfolder_rule_from_mlist):
        (filter_rule_from_mlist): Removed.
        (filter_gui_add_from_mlist): Removed.

        * mail-autofilter.h: Added AUTO_MLIST type.

svn path=/trunk/; revision=17704
2002-08-06 02:45:07 +00:00
8c88d15dd5 Initialise the standard uri's before doing anything else.
2002-07-24  Not Zed  <NotZed@Ximian.com>

        * component-factory.c (owner_set_cb): Initialise the standard
        uri's before doing anything else.

        * mail-vfolder.c (uri_is_ignore): Return true if the uri is any
        sent, drafts or outbox folder uri.
        (mail_vfolder_add_uri): Dont automagically add any
        sent/outbox/drafts folder with "local" or "remote" etc rules, only
        add sent folders if explictly listed as folder rules.  Maintain
        the remote/local folders list accordingly.
        (vfolder_adduri_do): dont check against sent_folder, drafts_folder
        or outbox_folder, this is checked by above code.  For #14863.

svn path=/trunk/; revision=17564
2002-07-24 05:23:53 +00:00
2d77ed3f0d When renaming, use full_name to set the folder, not name, so the path is
2002-07-22  Not Zed  <NotZed@Ximian.com>

        * mail-vfolder.c (store_folder_renamed): When renaming, use
        full_name to set the folder, not name, so the path is preserved.

svn path=/trunk/; revision=17523
2002-07-22 09:02:58 +00:00
a6b622021f Re-enable some #if 0'd code.
2002-07-16  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-accounts.c (account_able_clicked): Re-enable some #if 0'd code.

	* mail-vfolder.c (vfolder_load_storage): Updated to not pass TRUE
	for an auto_connect argument since that argument no longer exists.

	* mail-account-gui.c (add_new_store): Updated to not pass an
	auto_connect argument.

	* component-factory.c (add_storage): Don't ever auto-connect here.
	(mail_add_storage): No longer takes an auto_connect argument.
	(mail_load_storages): Only load the account storages that are
	enabled.

svn path=/trunk/; revision=17483
2002-07-16 21:07:41 +00:00
74c652de58 Set the vfolder_editor variable to null before we close the dialogue,
2002-07-15  Not Zed  <NotZed@Ximian.com>

        * mail-vfolder.c (vfolder_editor_clicked): Set the vfolder_editor
        variable to null before we close the dialogue, otherwise the close
        destroys it and reverts the file.

svn path=/trunk/; revision=17453
2002-07-15 08:37:14 +00:00
393fa3c3e8 ** fixes for #10781
2002-07-10  Not Zed  <NotZed@Ximian.com>

        ** fixes for #10781

        * mail-callbacks.c (filter_edit): Add back a cancel button.  We
        dont need to do anything special to 'undo' here, as the rules are
        loaded every time they're used.

        * mail-vfolder.c (vfolder_editor_clicked): If ok wans't clicked,
        revert the ruleset.
        (vfolder_editor_destroy): Fake a button of -1 if we get destroyed
        with no click.
        (context_rule_removed): Unref the folder after we delete it.  If
        we're the last ref to the folder, unrefing it means it no longer
        exist,s which means no delte processing occurs ...

svn path=/trunk/; revision=17449
2002-07-15 02:06:46 +00:00
593eca5fcc Pass TRUE as the auto_connect argument to mail_load_storage_from_uri().
2002-07-03  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-vfolder.c (vfolder_load_storage): Pass TRUE as the
	auto_connect argument to mail_load_storage_from_uri().

	* mail-account-gui.c (add_new_store): Pass FALSE as the
	auto_connect value to mail_load_storage_from_uri().

	* mail-format.c (handle_multipart_encrypted): Pass the correct
	pointer into camel_multipart_encrypted_decrypt().

	* component-factory.c (mail_add_storage): Now takes an
	auto-connect argument which it passes along to add_storage().
	(mail_load_storage_from_uri): Same.
	(add_storage): Only call mail_note_store() if we plan on
	auto-connecting.

svn path=/trunk/; revision=17363
2002-07-03 20:40:12 +00:00
3077181e8f remove a #include "camel-remote-store.h"
svn path=/trunk/; revision=16981
2002-05-22 23:23:05 +00:00
8ae13b9883 Changed to get the address from the messageinfo of the current selected
2002-03-26  Not Zed  <NotZed@Ximian.com>

        * mail-callbacks.c (addrbook_sender): Changed to get the address
        from the messageinfo of the current selected message rather than
        from the current_message.
        (requeue_mail_reply): Only re-queue if we got a message, could
        potentially cause an infinite loop trying to get a message it
        can't.
        (reply_to_sender, reply_to_list, reply_to_all): Always pass NULL
        as the msg to mail_replay, this forces mail_reply to always load
        the message anew.  Fixes FIXME's and popup behaviour.  Basically
        this and stuff below fixes #8542.  Its probably not the nicest
        way, but it works.
        (mark_as_important): Use the flags properly, we can set all flags
        to any combination of on or off as we want, so we just need to
        call set_flags once, thats why its set flags and not set_option.
        (toggle_flags): Fixed the logic here also, so we dont have to call
        set_message_flags more than once, and also implement a true toggle
        for any number of simultaneous flags (whilst simplifying code).

        * mail-vfolder.c (vfolder_gui_add_from_mlist): Removed the 'msg'
        parameter, its not used, fixed callers.

        * folder-browser.c (on_right_click): Lookup the mlist from
        messageinfo, and change the 'no selected' logic slightly, fixes
        most of #8542.
        (filter_data_free): Free filter data struct.
        (vfolder_type_got_message): Actually create vfolder once we have
        the message we need to use for it.  Code could probably be changed
        to use messageinfo instead.
        (vfolder_type_uid): Lookup a message based on uid, and use that to
        create a vfolder based on type.
        (vfolder_subject_uid, vfolder_sender_uid, vfolder_receipient_uid,
        vfolder_mlist_uid): Callbacks for the popup menu, used to create
        rules based on the uid rather than the message, which it loads as
        required.
        (filter_type_got_message, filter_*_uid): Similar to vfolder
        stuff above.
        (filter_menu[]): Changed callbacks to popup specific ones, not
        folderbrowser specific ones used by bonobo.
        (on_right_click): Initialise callback data for the filter submenu
        so it can look up messages for callback implementation.

svn path=/trunk/; revision=16253
2002-03-26 06:55:05 +00:00
63ce54907c Make sure that the message subject is non-NULL beforetrying to base a
2001-12-04  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-autofilter.c (rule_from_message): Make sure that the
	message subject is non-NULL beforetrying to base a vfolder rule
	off it. Fixes bug #16284.

2001-12-07  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-accounts.c (construct): Connect to the dialog's "destroy"
	event and close any druids/editors that may be open when that
	signal is caught. Fixes bug #16501.

	* mail-vfolder.c (vfolder_edit): Set the window title to "Virtual
	Folders". Fixes bug #16695.

svn path=/trunk/; revision=14966
2001-12-10 20:09:37 +00:00
10752c7a83 Add a NULL check for rule->name. (mail_vfolder_add_uri): Same here.
2001-11-12  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-vfolder.c (vfolder_load_storage): Add a NULL check for
	rule->name.
	(mail_vfolder_add_uri): Same here.

svn path=/trunk/; revision=14677
2001-11-12 23:23:51 +00:00
d6d55273d4 Require gal 0.15.99.8
2001-10-29  Joe Shaw  <joe@ximian.com>

	* configure.in: Require gal 0.15.99.8

	* addressbook/backend/ebook/e-card-simple.c,
	addressbook/gui/component/addressbook-storage.c,
	addressbook/gui/widgets/e-addressbook-view.c,
	calendar/gui/e-calendar-table.c,
	calendar/gui/e-itip-control.c,
	calendar/gui/e-meeting-model.c,
	calendar/gui/itip-utils.c,
	calendar/gui/print.c,
	calendar/gui/alarm-notify/alarm-notify-dialog.c,
	filter/rule-editor.c,
	mail/mail-config.c,
	mail/mail-folder-cache.c,
	mail/mail-format.c,
	mail/mail-local.c,
	mail/mail-ops.c,
	mail/mail-vfolder.c,
	shell/e-local-storage.c,
	shell/e-summary-storage.c: Change includes of
	e-util/e-unicode-i18n.h to gal/util/e-unicode-i18n.h

svn path=/trunk/; revision=14427
2001-10-30 05:02:49 +00:00
0
093a00cf2b Argh!!! Dont free the async op data here, the async op is still running
2001-10-30    <NotZed@Ximian.com>

        * subscribe-dialog.c (fe_cancel_op_foreach): Argh!!! Dont free the
        async op data here, the async op is still running and will access
        it!  Just try to cancel it and mark it as cancelled (id == -1)
        (fe_done_subscribing): Only remove outselves from the hash table
        if we're not cancelled.  The handle should always be set here,
        since this code runs in the gui thread.

        * message-list.c (on_cursor_activated_idle): If nothing
        selected/cursor not activated, then select no message.

        * mail-folder-cache.c (update_1folder): Make the trash count
        optional on EVOLUTION_COUNT_TRASH, becuase some lusers are just
        too stupid to understand what its for.

        * component-factory.c (storage_xfer_folder): Return slightly
        better error codes for copying folders, since its not implemented
        yet.

        * mail-vfolder.c, mail-local.c, mail-folder-cache.c,
        message-list.c component-factory.c, mail-ops.c,
        subscribe-dialog.c, mail-session.c: d() out some debug printfs,
        w() out some warnings.

        * folder-browser-ui.c (folder_browser_ui_add_message): Fix typo,
        Resent->Resend.

svn path=/trunk/; revision=14412
2001-10-30 03:28:40 +00:00
9
93127a6daf Sort the folder updates first, since we dont seem to get them in the right
2001-10-29    <NotZed@Ximian.com>

        * mail-folder-cache.c (store_folder_renamed): Sort the folder
        updates first, since we dont seem to get them in the right order,
        or infact in any tree representation whatsoever when using IMAP
        ...? get_folder_info bugs?

        Unrelated note to self, the subscribe dialogue may interfere with
        the folder cache.

svn path=/trunk/; revision=14328
2001-10-29 08:28:53 +00:00
9
fedf164cb9 Copy the folder's full_name before trying to use it to rename.
2001-10-29    <NotZed@Ximian.com>

        * mail-vfolder.c (rule_changed): Copy the folder's full_name
        before trying to use it to rename.
        (vfolder_edit_rule): Set 'orig' to be a reference of the original
        rule.
        (edit_rule_clicked): Dont lookup orig by name, copy it over
        instead.

        * folder-browser.c (got_folder): oops, emit signal before
        unreffing object, incase we got killded during getting folder.
        (got_folder): Reset get_id.
        (folder_browser_new): Set get_id of the get_folder task.
        (folder_browser_init): Init get_id.
        (folder_browser_destroy): IF we have outstanding 'get folder' op,
        cancel it.

svn path=/trunk/; revision=14323
2001-10-29 05:06:28 +00:00
8
4229e6849d Remove uic, kill dumb warning.
2001-10-28    <NotZed@Ximian.com>

	* folder-browser-ui.c (fbui_sensitize_timeout): Remove uic, kill
	dumb warning.

	* mail-autofilter.c (mail_filter_rename_uri): Implement function
	for filters to keep track of uri's being renamed.
	(mail_filter_delete_uri): Similarly for deleting uri's.  Note that
	these functions are just noops though.

	(real_flush_updates): Also rename and delete uri's from filters.

	(mls_delete_folder): Unref the store when done.
	(mls_rename_folder): Fix implementation, shell already created
	destination folder, so we can't just rename :(

	(xfer_folder): Manually call rename code, since the shell will do
	a remove/add later on, AND there's no way we can determine the new
	path from the crock of an api we have to work with.

svn path=/trunk/; revision=14291
2001-10-28 10:53:02 +00:00
8
4689dccf16 Implemented. (mail_vfolder_rename_uri): We do want to check renamed uri's
2001-10-28    <NotZed@Ximian.com>

        * mail-vfolder.c (mail_vfolder_rename_uri): Implemented.
        (mail_vfolder_rename_uri): We do want to check renamed uri's from
        vstores.
        (mail_vfolder_delete_uri): Same.
        (store_folder_renamed): Fix the folder hash at the same time.

        * mail-folder-cache.c (real_flush_updates): Pass the rename event
        to vfolder rename uri.

        * mail-local.c (mail_local_folder_reconfigure): Change the store
        path to be same as parent + mbox to be full path.
        (mls_delete_folder): Change store path to be parent path, and mbox
        to be full path.
        (mail_local_folder_reconfigure): Fix a leak of tmpname.

        * component-factory.c (xfer_folder): Only do a rename if we have
        remove set, cleaned up logic a bit.
        (idle_quit): Put the components still active check last last of
        all.
        (storage_create_folder): IF we have a fragment, use that as part
        part for parent.

svn path=/trunk/; revision=14276
2001-10-28 05:11:53 +00:00
6
8f8b24c737 Changed to open the source store from '/', so we can do renames across
2001-10-26    <NotZed@Ximian.com>

        * mail-local.c (mlf_set_folder): Changed to open the source store
        from '/', so we can do renames across directories.  Of course,
        this doesn't quite work with different filesystems, but we'll
        assume this isn't a problem we're going to have.
        (mail_local_folder_get_type): Setup parent_class.
        (mlf_rename): Implement folder rename call, rename internal data.

        Is this a security issue?  Well, not really, no more than anything
        else.

        * mail-folder-cache.c (mail_note_store): Listen to rename event.
        (store_folder_renamed): Function to handle it, empty.
        (mail_note_store_remove): Unhook from rename event.
        (mail_note_folder): Hook onto renamed event.
        (unset_folder_info): Unhook from renamed event.
        (folder_finalised): Lock around update.
        (folder_deleted): Lock around update.
        (real_flush_updates): If we have a path to remove remove it.
        (rename_folders): Scan folderinfo's, if we can find ones renamed,
        rename them, otherwise add them.

        * component-factory.c (owner_unset_cb): Use a timeout not an idle handler.
        (storage_xfer_folder): Implementation of xfer_folder signal
        handler, so we can rename imap/vfolders/etc.

svn path=/trunk/; revision=14205
2001-10-27 06:02:04 +00:00
1
a02822a94e Clear variables once done, for debugging. (mail_vfolder_add_uri,
2001-10-21    <NotZed@Ximian.com>

        * mail-vfolder.c (mail_vfolder_shutdown): Clear variables once
        done, for debugging.
        (mail_vfolder_add_uri, mail_vfolder_delete_uri): Dont do anything
        if we're shutdown (context == NULL).

        * component-factory.c (idle_quit): Move mail_vfolder_shutdown
        here, it should be one of the last things shutdown.

        * mail-format.c (handle_text_plain): Dont use (if (!p++), and then
        check p!= later, since its now 1, oops.  Fixes #13106, thought it
        was a start of uuencoded stuff!

        * folder-browser.c (on_right_click): Escape _'s before adding them
        to menu from mailing list name, also remove some dead code that
        someone forgot to remove when refactoring.  #11307.
        (folder_browser_is_drafts): Use the store's uri_cmp function to
        compare to the drafts uri's.
        (folder_browser_is_sent): Same.  Slight cleanup for #11351.

svn path=/trunk/; revision=13856
2001-10-21 20:28:58 +00:00
9
3e6cd9a7e5 Free folders_uri. (real_folder_deleted): If folder is deleted, remove it
2001-10-19    <NotZed@Ximian.com>

	* mail-folder-cache.c (store_finalised): Free folders_uri.
	(real_folder_deleted): If folder is deleted, remove it from the
	hashtables.

	* subscribe-dialog.c (get_short_folderinfo_get): Remove the
	register/unregister, they're already done above us.

	* mail-vfolder.c
	(mail_vfolder_delete_uri): Dont do any work to remove the actual
	folder from the vfolder (we'd have to look it up first), let the
	vfolder remove it itself.  Just update the rules.

svn path=/trunk/; revision=13787
2001-10-19 05:40:42 +00:00
8
ae5590f88d Added remove flag - its not adduri, its removeuri, its less typing than
2001-10-18    <NotZed@Ximian.com>

        * mail-vfolder.c (vfolder_adduri): Added remove flag - its not
        adduri, its removeuri, its less typing than creating a removeuri.
        (vfolder_adduri_do): Implement the remove flag.
        (mail_vfolder_remove_uri): Changed to mail_vfolder_delte_uri, to
        indicate its actually been deleted.
        (mail_vfolder_add_uri): Added remove flag.
        (rule_changed): When adding existing folders to a new rule, strdup
        the list data.

        * mail-folder-cache.c (store_finalised): Unhook from all events
        when done.
        (mail_note_store_remove): Remove a store from being noted.
        (free_folder_info): Also if we have a folder, unhook all events.
        Also remove the uri from vfolders.
        (mail_note_folder): Remove warning about adding folders to stores
        that aren't added yet - we might actually be removing the store.

        * component-factory.c (mail_remove_storage): Call
        mail_note_store_remove when we remove the storage.

svn path=/trunk/; revision=13782
2001-10-19 00:45:02 +00:00
f620356a6f Call mail_vfolder_shutdown.
2001-10-15  Jeffrey Stedfast  <fejj@ximian.com>

	* component-factory.c (owner_unset_cb): Call
	mail_vfolder_shutdown.

	* mail-vfolder.c (mail_vfolder_shutdown): Unref all of our
	VFolders.

	* mail-folder-cache.c (real_note_folder): Remember to unref the
	folder before returning if we have already noted this folder.

svn path=/trunk/; revision=13682
2001-10-15 20:18:08 +00:00
4
e46018cd88 If we're accessing a vfolder uri, then popup the vfolder editor instead of
2001-10-04    <NotZed@Ximian.com>

        * mail-callbacks.c (configure_folder): If we're accessing a
        vfolder uri, then popup the vfolder editor instead of trying the
        mail local one.

        * mail-vfolder.c (vfolder_edit_rule): Edit a vfolder by name.

svn path=/trunk/; revision=13419
2001-10-04 19:55:31 +00:00
8d4f5ab1c8 Pass an empty flags argument to mail_tool_uri_to_folder.
2001-10-02  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-vfolder.c (vfolder_setup_do): Pass an empty flags argument
	to mail_tool_uri_to_folder.
	(vfolder_adduri_do): Same.

	* mail-session.c (get_folder): Pass an empty flags argument to
	mail_tool_uri_to_folder.

	* mail-send-recv.c (receive_get_folder): Pass an empty flags
	argument to mail_tool_uri_to_folder.

	* mail-ops.c (get_folder_get): Pass the flags to
	mail_tool_uri_to_folder.
	(mail_get_folder): Now takes a flags argument.
	(remove_folder_get): Pass an empty flags argument to
	mail_tool_uri_to_folder.
	(mail_send_message): Pass an empty argument flag to
	mail_tool_uri_to_folder.
	(transfer_messages_transfer): Same. Destination folder should
	already be created by this time.

	* folder-info.c (do_get_info): Pass an empty flags argument to
	mail_tool_uri_to_folder.

	* importers/evolution-mbox-importer.c (folder_created_cb): Pass
	the CREATE flag here too.
	(load_file_fn): And here.
	(load_file_fn): And here too.

	* importers/evolution-outlook-importer.c (load_file_fn): Pass the
	CREATE flag to mail_tool_uri_to_folder.

	* folder-browser.c (folder_browser_new): Pass an empty flags
	argument.
	(x_evolution_message_parse): Pass an empty flags argument to
	mail_tool_uri_to_folder.

	* component-factory.c (create_folder): Pass a CREATE flag to
	mail_get_folder here too.
	(owner_set_cb): And here.
	(xfer_folder): Shouldn't need the CREATE flag here, so not passing
	any flags.
	(destination_folder_handle_drop): Same.

	* mail-local.c (mail_local_store_add_folder): Pass a CREATE flag
	to mail_get_folder.
	(reconfigure_folder_reconfigure): Pass an empty flags argument to
	mail_tool_uri_to_folder.

	* mail-tools.c (mail_tool_uri_to_folder): Take a flags argument.
	(mail_tool_get_local_inbox): Pass an empty flags argument to
	mail_tool_uri_to_folder.

svn path=/trunk/; revision=13353
2001-10-02 22:01:03 +00:00
29bf2715b8 replace my_list_find() == NULL with my_list_find() != NULL.
2001-10-01  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-vfolder.c (mail_vfolder_remove_uri): replace my_list_find()
	== NULL with my_list_find() != NULL.

svn path=/trunk/; revision=13282
2001-10-01 22:02:20 +00:00
8
4b14db5520 Emit folder_deleted event. (remove_find_path): Fix, compare against path,
2001-09-28    <NotZed@Ximian.com>

	* mail-local.c (mail_local_store_remove_folder): Emit
	folder_deleted event.
	(remove_find_path): Fix, compare against path, not full_name.

	* mail-tools.c (mail_tool_uri_to_folder): Dont
	vfolder_register_source anymore.

	* mail-vfolder.c (rule_changed): Changed to access
	mail_fodler_cahce to find out if the folder exist yet before
	trying to open them, also use the cache as a cache so we dont have
	to open the folder if its already been opened.
	(vfolder_register_source, register_source): Removed.
	(source_finalise): Removed,
	(check_source): Removed.  All handled through diff mechanism.
	(mail_vfolder_add_uri): New function, records uri's of available
	folders, and adds them to any active vfolders if required.
	(mail_vfolder_remove_uri): New function, removes a uri from
	available folders, and checks any rules to see fi they need
	updating.
	(vfolder_adduri): New async function to add a uri to all vfolders
	that need it.
	(store_folder_deleted): oops!  free user, not rule!!

	* mail-folder-cache.c: Add uri->folderinfo hashtable, and the
	store from which they come into the store info struct.
	Add uri to the folder_info.
	(setup_folder): Store the uri in the folderinfo.
	(setup_folder): And the uri in the folder_uri hashtable.
	(mail_note_store): Store the store in the storeinfo, and setup the
	folders_uri hashtable via the store's hash functions.
	(setup_folder): Call mail_vfolder_add_uri to note this newly setup
	folder uri.
	(store_folder_deleted): Proxy call to main thread.
	(real_folder_deleted): And tell the vfolder to remove this uri
	from its folder list.
	(setup_folder): Dont call vfolder_add_uri if noselect is set on
	the uri.

2001-09-27    <NotZed@Ximian.com>

	* mail-vfolder.c: Removed vfolder_info struct, vfolder_storage.
	Neither used anymore.

svn path=/trunk/; revision=13242
2001-09-28 23:54:30 +00:00
0
a0100ddf24 Dont let drafts/outbox/sent be added via a generic 'all local folders'
2001-09-20    <NotZed@Ximian.com>

	* mail-vfolder.c (check_source): Dont let drafts/outbox/sent be
	added via a generic 'all local folders' rule.

svn path=/trunk/; revision=13042
2001-09-21 03:53:42 +00:00
0
a68b568135 Update the status bar here, assuming we've just been activated.
2001-09-20    <NotZed@Ximian.com>

	* folder-browser.c (folder_browser_set_shell_view): Update the
	status bar here, assuming we've just been activated.

	* mail-ops.c (add_vtrash_info): Scan whole list, rather than
	missing the last one.  Also dont assume its always the last,
	otherwise we could lose following folders.

	* mail-vfolder.c
	(all): d(x) out debug printfs

	* mail-folder-cache.c
	(update_1folder): If its a vtrash folder, or the outbox_folder,
	and we have a folder, then make the 'count' the total message
	count, not unread messages count.

svn path=/trunk/; revision=13036
2001-09-21 00:56:49 +00:00
0
586f083c3a Lock around hashtable/list manipulation. Also dont try scan vfolder_hash
2001-09-20    <NotZed@Ximian.com>

	* mail-vfolder.c (vfolder_register_source): Lock around
	hashtable/list manipulation.  Also dont try scan vfolder_hash if
	it hasn't been setup yet.
	(source_finalise): Lock around list access.
	(rule_changed): Lock around hash access.
	(context_rule_added): Lock around hash access.
	(context_rule_removed): "
	(rule_changed): Lock around list access.

	* mail-local.c (storage_listener_startup): Fix for api change.
	(local_storage_new_folder_cb): Dont skip over leading / in path.
	(local_storage_removed_folder_cb): ditto.

	* mail-folder-cache.c (create_folders): No longer pass prefix
	between recursive calls - we have the path in the folderinfo.
	(setup_folder): No longer take path arg, we get it from
	folderinfo.
	(mail_note_folder): No longer take path arg, we use
	folder->full_name to key the folder table.
	(mail_note_store): Consolidate note_store interface, pass storage
	or corba_storage to it.
	(mail_note_local_store): Removed.

	* mail-ops.c
	(add_unmatched_info): Scan for unmatched name and re-title.

svn path=/trunk/; revision=13023
2001-09-20 22:59:11 +00:00
0
412c2967bb Register vfolder sources here.
2001-09-20    <NotZed@Ximian.com>

        * mail-tools.c(mail_tool_uri_to_folder): Register vfolder sources here.

        * folder-browser.c (got_folder): Dont register vfolder sources
        here.

        * mail-ops.c (mail_get_folder): Add thread parameter.  Fix callers.

        * mail-vfolder.c (vfolder_setup): Use the 'slow' queue for setting
        up vfolders.

        * mail-mt.c (mail_msg_init): Limit the maximum number of threads
        on the 'new' thread to 10.
        (mail_msg_init): Create a new queue 'slow' for doing slow
        operations.

svn path=/trunk/; revision=13017
2001-09-20 21:01:53 +00:00
9
73c74dd70d General cleanup of mail debug printfs.
2001-09-19    <NotZed@Ximian.com>

        * General cleanup of mail debug printfs.

        * mail-folder-cache.[ch]: Completely rewritten.  Removed all calls
        to the old code everywhere they were used.  Nuff said.

        * folder-browser.h: Add shell_view to folder_browser & api to set
        it.

        * folder-browser-factory.c (control_activate): Set the shell-view
        on the folder_browser.
        (control_deactivate): And clear it here.

        * folder-browser.c (folder_browser_destroy): Unhook from changed
        events on the folder before giving it away.
        (got_folder): Hook onto the folder-changed events.
        (folder_changed): Event hook proxy for folder_changed events
        (main_folder_changed): And the main code version.
        (update_status_bar): And the one that actually does the work.
        (on_selection_changed): Also call update_status_bar() to update
        the selection count.
        (folder_browser_set_shell_view): Implement function to set the
        shell_view on the folder_browser.
        (folder_browser_destroy): Release the shell_view here too.

        * mail-tools.c (mail_tool_uri_to_folder): Dont 'note' the new
        folder if its from a file: url, this is handled by hte local store
        (yeeruughck).

        * mail-local.c (mls_init):
        (free_info):
        (mls_finalise): Setup init/finalise funcs for the folderinfo hash.
        (local_storage_removed_folder_cb): re-enable.

2001-09-18    <NotZed@Ximian.com>

        * mail-local.c (MailLocalStore): Add a hash table to store
        uri<>folderinfo data.
        (mail_local_store_add_folder): Add a new folderinfo to our hash.
        (mail_local_store_remove_folder): Remove a folder by uri.
        (storage_listener_startup): Add this store to those monitored by
        the folder tree.

svn path=/trunk/; revision=12974
2001-09-19 08:29:13 +00:00
5
c2a0bf66ba Major rewrite of most of the guts, handle changes based on signals and
2001-09-15    <NotZed@Ximian.com>

        * mail-vfolder.c: Major rewrite of most of the guts, handle
        changes based on signals and events, etc.  Use the main storage
        handling code that imap uses, etc.

        * mail-tools.c (mail_tool_uri_to_folder): Dont special case
        vfolder: anymore.

        * component-factory.c (owner_set_cb): use vfolder_load_storage(),
        new function to setup vfolder storage, after interaction has been
        enabled only.  This might need some tweaking ...
        (storage_remove_folder): Removed all the folder lookup stuff.
        Just delete the folder based on the path passed in.  There should
        be no reason this wouldn't work, right?

2001-09-14    <NotZed@Ximian.com>

        * mail-ops.c (get_folderinfo_get): Only add vtrash folder info, if
        store supports vtrash.

        * component-factory.c (mail_load_storage_by_uri): Let 'vfolder'
        stores show up too.

2001-09-13    <NotZed@Ximian.com>

        * mail-vfolder.c (vfolder_uri_to_folder): Open a vfolder then set
        its expression, since name?query open method is removed.

svn path=/trunk/; revision=12856
2001-09-15 08:13:41 +00:00
2
8be7f276a2 Fixed the remove callback prototype, and return the result properly using
2001-09-12    <NotZed@Ximian.com>

        * mail-vfolder.c (vfolder_remove_cb): Fixed the remove callback
        prototype, and return the result properly using the listener.

svn path=/trunk/; revision=12786
2001-09-12 21:50:00 +00:00
639173be60 Marked string for translation (with U_).
* mail-vfolder.c (vfolder_create_storage):
Marked string for translation (with U_).

svn path=/trunk/; revision=12544
2001-08-31 21:43:43 +00:00
ac4f13b93e Allow the activity to be NULL if there isn't a global_shell_client so that
2001-08-19  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-mt.c (do_op_status): Allow the activity to be NULL if there
	isn't a global_shell_client so that we don't try and report status
	updates when the shell is destroyed.

	* mail-config.c (add_shortcut_entry): Return if there isn't a
	global_shell_client.

	* component-factory.c (owner_set_cb): set the global_shell_client
	here and connect to the destroy signal.

	* mail-vfolder.c (vfolder_create_storage): Use an extern global_shell_client.

svn path=/trunk/; revision=12242
2001-08-20 04:02:10 +00:00
df8180e04a Fix this so it can actually get folders from the hash of folders on the
2001-08-13  Jason Leach  <jleach@ximian.com>

	* mail-local.c (get_folder): Fix this so it can actually get
	folders from the hash of folders on the local store (it was
	looking up plain @folder_name, which is typically "mbox", instead
	of the full URI, /home/jleach/evolution/local/Foo/mbox).

	* component-factory.c (do_remove_folder): Rename to
	remove_folder_done, more fitting for it's purpose.
	(do_xfer_folder): Similar name change.
	(do_create_folder): Similar name change.
	(remove_folder): Don't notifyResult for the component here, we
	will notify with our result in remove_folder_done.
	(xfer_folder): Ditto.

	* mail-vfolder.c (vfolder_refresh): Create new folders with unread
	counts of "0" instead of #FALSE (which just happens to be #defined
	as zero).

svn path=/trunk/; revision=11964
2001-08-13 21:36:41 +00:00
51023d5abf [ Change this gtk_object_ref on the storage to a bonobo_object_ref ]
2001-08-08  Peter Williams  <peterw@ximian.com>

	[ Change this gtk_object_ref on the storage to a bonobo_object_ref ]

	* component-factory.c (mail_lookup_storage): And here.

	* mail-vfolder.c (mail_vfolder_get_vfolder_storage): And here.

svn path=/trunk/; revision=11791
2001-08-08 16:10:21 +00:00
6752871a36 Connect to the folder_remove signal on the storage. (vfolder_remove): New
2001-08-02  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-vfolder.c (vfolder_create_storage): Connect to the
	folder_remove signal on the storage.
	(vfolder_remove): New function to remove a vfolder.
	(vfolder_edit): Raise the window if it already exists.

svn path=/trunk/; revision=11593
2001-08-02 19:07:04 +00:00
e60ee74985 Connect to the folder_remove signal on the storage. (vfolder_remove): New
2001-08-02  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-vfolder.c (vfolder_create_storage): Connect to the
	folder_remove signal on the storage.
	(vfolder_remove): New function to remove a vfolder.

svn path=/trunk/; revision=11591
2001-08-02 18:36:39 +00:00
10d8453c53 New function. If a vfolder in our list gets finalized, NULL out
2001-07-13  Peter Williams  <peterw@ximian.com>

	* mail-vfolder.c (unlist_vfolder): New function. If a vfolder in our list
	gets finalized, NULL out info->folder (Is it wrong if this happens?) Also,
	locking issues?
	(vfolder_uri_to_folder): Hook up to the finalize event here.

svn path=/trunk/; revision=11087
2001-07-13 15:50:32 +00:00
a7054669e0 Add mail folder cache hookups.
2001-07-05  Peter Williams  <peterw@ximian.com>

	* mail-vfolder.c (vfolder_uri_to_folder): Add mail folder cache hookups.

svn path=/trunk/; revision=10806
2001-07-05 15:14:19 +00:00
91cc026904 Update the copyrights, replacing Helix Code with Ximian and
helixcode.com with ximian.com all over the place.

svn path=/trunk/; revision=10440
2001-06-23 08:52:02 +00:00