Commit Graph

339 Commits

Author SHA1 Message Date
8a9ec3432e To be consistant with the message-list envelope toggle, undelete the
2003-04-30  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-callbacks.c (mark_as_unseen): To be consistant with the
	message-list envelope toggle, undelete the message when we unmark
	the Seen flag here as well. Fixes bug #42118.

2003-04-30  Jeffrey Stedfast  <fejj@ximian.com>

	* message-list.c (ml_tree_value_at): Fixed to return the correct
	values (swapped) in order to fix bug #42120.

2003-04-30  Jeffrey Stedfast  <fejj@ximian.com>

	* message-list.c (regen_list_regened): Save the tree state before
	we tear down the tree and then load it back again. yay. Fixes bug
	#42170 and #40074.

svn path=/trunk/; revision=21047
2003-05-02 16:07:18 +00:00
36b97dcf5d ** See bug #41972
2003-04-29  Not Zed  <NotZed@Ximian.com>

	** See bug #41972

	* message-list.c (ml_tree_value_at): fix (void *) casts on trinary
	ops.

	* folder-browser.c (on_right_click): Store the label tag in the
	label callback data, not the translated name.

	* mail-config.c (label_defaults[]): Initialise with the tag
	values.
	(config_clear_labels): free tag field.
	(config_cache_labels): setup the tag field based on the position
	of the label name.
	(mail_config_get_label_color_by_name): Lookup colour by the
	untranslated TAG, not the translated/customisable tag.

	* mail-config.h (MailConfigLabel): Add a tag field, we were using
	the translated name as the label(!).

svn path=/trunk/; revision=21008
2003-04-29 18:18:36 +00:00
fb04925566 create a stock cancel button with a cancel all text. (build_dialogue):
2003-04-14  Not Zed  <NotZed@Ximian.com>

        * mail-send-recv.c (build_dialogue): create a stock cancel button
        with a cancel all text.
        (build_dialogue): Create stock-like cancel buttons with no
        accelerators.  A workaround for #41043.

        * message-list.c (ml_tree_value_at): if the node is the root node,
        do nothing.  etable shouldn' really be searching the root node if
        it isn't visible ...?  For #41190.

svn path=/trunk/; revision=20842
2003-04-14 22:52:32 +00:00
a29a03d658 For string columns, never return NULL - always return "" if the value is
2003-04-07  Jeffrey Stedfast  <fejj@ximian.com>

	* message-list.c (ml_tree_value_at): For string columns, never
	return NULL - always return "" if the value is empty. Fixes bug
	#40728.

svn path=/trunk/; revision=20730
2003-04-07 20:21:38 +00:00
1c1551c97e Fixes bug #40074.
2003-03-26  Jeffrey Stedfast  <fejj@ximian.com>

	Fixes bug #40074.

	* folder-browser-factory.c (control_deactivate): Save message-list
	state.

	* message-list.c (message_list_save_state): Save the various
	states.

svn path=/trunk/; revision=20525
2003-03-26 21:24:45 +00:00
cdb6418008 Register a destroy virtual method. (mail_accounts_tab_destroy): Set
2003-02-11  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-accounts.c (mail_accounts_tab_class_init): Register a
	destroy virtual method.
	(mail_accounts_tab_destroy): Set mail_display->destroyed = TRUE.

	* message-list.c (message_list_destroy): Set
	mail_display->destroyed = TRUE. This is a workaround for the
	GTK_OBJECT_DESTROYED() macro that we used to use before.

svn path=/trunk/; revision=19884
2003-02-11 21:20:43 +00:00
0701addc19 Use g_signal_emit() rather than gtk_signal_emit(). (build_flat): Same
2003-02-10  Jeffrey Stedfast  <fejj@ximian.com>

	* message-list.c (build_tree): Use g_signal_emit() rather than
	gtk_signal_emit().
	(build_flat): Same here.

	* mail-signature-editor.c: #include <string.h>

	* mail-vfolder.c: #include <string.h>

	* mail-session.c: #include <string.h>

	* mail-search.c: #include <string.h>

	* mail-mt.c: #include <string.h>

	* mail-ops.c (save_part_save): Use strcasecmp() instead of
	g_strcasecmp().

	* mail-local.c: #include <string.h>
	(reconfigure_folder_reconfigured): Use a GtkDialog instead of
	gnome_error_dialog().

	* mail-format.c (find_preferred_alternative): Use g_ascii_strdown
	since g_strdown is deprecated.
	(fake_mime_part_from_data): Removed, no longer used it seems.
	(destroy_part): Also removed.

	* mail-display.c (make_popup_window): Replace call to
	gtk_window_set_polociy() with gtk_window_set_resizable() instead.
	(popup_size_allocate_cb): Use gtk_window_set_position() with
	GTK_WIN_POS_MOUSE instead of calculating the position to put it
	in.

svn path=/trunk/; revision=19878
2003-02-10 19:50:55 +00:00
a5e82f72f8 updated for e scroll frame --> gtk scrolled window
svn path=/trunk/; revision=19736
2003-02-04 19:03:02 +00:00
8ddf5945c8 Get the thread_subject setting here instead of in regen_list_regen since
2003-02-03  Jeffrey Stedfast  <fejj@ximian.com>

	* message-list.c (mail_regen_list): Get the thread_subject setting
	here instead of in regen_list_regen since that function will be
	called in another thread and we can't make corba calls in anything
	but the main thread.
	(regen_list_regen): Don't make CORBA calls here! (shame on me).

svn path=/trunk/; revision=19715
2003-02-03 21:57:31 +00:00
d48d40c7ce New function to return a cached list of labels.
2003-01-31  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-config.c (mail_config_get_labels): New function to return a
	cached list of labels.
	(mail_config_get_label_color_by_name): New convenience function to
	search the cached labels.
	(mail_config_get_label_color_by_index): Same.
	(mail_config_init): Cache the labels and also listen for changes
	to them in the gconf db.
	(config_cache_labels): Internal function to cache the labels.

	* folder-browser.c (on_right_click): Fixed the label colours in
	the menu by using the cached linked list of labels.

	* mail-preferences.c (colorpicker_set_color): Now takes a string
	argument allowing us to get rid of converting a string into an rgb
	guint32 all over the place when trying to set defaults, since we
	now store colors in gconf as strings.
	(mail_preferences_construct): Use the cached labels (they are
	already parsed for us).

svn path=/trunk/; revision=19694
2003-01-31 19:40:31 +00:00
e7a3fedd24 removed a FIXME comment
svn path=/trunk/; revision=19647
2003-01-27 15:19:16 +00:00
0f11179541 reverted fe casts and added ChageLog entries
2003-01-14  Radek Doulik  <rodo@ximian.com>

	* folder-browser.c (etree_key): use gtk_scrolled_window_*
	functions for mail_display->scroll

	* mail-display.c (mail_display_new): use gtk_scrolled_window_*
	functions

	* mail-display.h: use GtkScrolledWindow instead of EScrollFrame

svn path=/trunk/; revision=19463
2003-01-14 20:58:20 +00:00
c2c386e480 EScrollFrame --> GtkScrolledWindow
svn path=/trunk/; revision=19440
2003-01-14 16:42:58 +00:00
fb6caf533c Use gconf to get the paned size. (folder_browser_set_message_preview):
2003-01-07  Jeffrey Stedfast  <fejj@ximian.com>

	* folder-browser.c (save_cursor_pos): Use gconf to get the paned
	size.
	(folder_browser_set_message_preview): Same.
	(folder_browser_toggle_hide_deleted): Use gconf to set the
	hide-deleted state.
	(folder_browser_set_message_display_style): Same but for the
	message_display_style.
	(fb_resize_cb): Save the paned_size via gconf.
	(paned_size_changed): Callback for when the paned_size gets
	changed. Change the folder-browser's paned size to the new
	setting.
	(folder_browser_gui_init): Listen to changes to the paned_size and
	also get the initial size from gconf.

	* message-list.c (message_list_set_folder): Use gconf.
	(regen_list_regen): Use gconf.

	* message-browser.c (transfer_msg_done): Use gconf to get the
	hide_deleted setting.

	* mail-account-gui.c (sig_add_new_signature): Use gconf.

	* folder-browser-ui.c (folder_browser_ui_add_list): Use gconf.

	* folder-browser.c (save_cursor_pos): Use gconf.
	(folder_browser_set_message_preview): Same.
	(folder_browser_toggle_hide_deleted): Here too.
	(folder_browser_set_message_display_style): And here.
	(folder_browser_gui_init): Here too.
	(done_message_selected): And here.

	* mail-config.c (mail_config_get_thread_subject): Removed.
	(mail_config_set_thread_subject): Removed.
	(mail_config_get_empty_trash_on_exit): Removed.
	(mail_config_set_empty_trash_on_exit): Removed.
	(mail_config_get_last_filesel_dir): Removed.
	(mail_config_set_last_filesel_dir): Removed.
	(mail_config_get_hide_deleted): Removed.
	(mail_config_set_hide_deleted): Removed.
	(mail_config_get_paned_size): Removed.
	(mail_config_set_paned_size): Removed.
	(mail_config_get_send_html): Removed.
	(mail_config_set_send_html): Removed.
	(mail_config_get_confirm_unwanted_html): Removed.
	(mail_config_set_confirm_unwanted_html): Removed.
	(mail_config_get_citation_highlight): Removed.
	(mail_config_set_citation_highlight): Removed.
	(mail_config_get_citation_color): Removed.
	(mail_config_set_citation_color): Removed.
	(mail_config_get_do_seen_timeout): Removed.
	(mail_config_set_do_seen_timeout): Removed.
	(mail_config_get_mark_as_seen_timeout): Removed.
	(mail_config_set_mark_as_seen_timeout): Removed.
	(mail_config_get_prompt_empty_subject): Removed.
	(mail_config_set_prompt_empty_subject): Removed.
	(mail_config_get_prompt_only_bcc): Removed.
	(mail_config_set_prompt_only_bcc): Removed.
	(mail_config_get_confirm_expunge): Removed.
	(mail_config_set_confirm_expunge): Removed.
	(mail_config_get_confirm_goto_next_folder): Removed.
	(mail_config_set_confirm_goto_next_folder): Removed.
	(mail_config_get_goto_next_folder): Removed.
	(mail_config_set_goto_next_folder): Removed.
	(mail_config_get_http_mode): Removed.
	(mail_config_set_http_mode): Removed.
	(mail_config_get_default_forward_style): Removed.
	(mail_config_set_default_forward_style): Removed.
	(mail_config_get_default_reply_style): Removed.
	(mail_config_set_default_reply_style): Removed.
	(mail_config_get_message_display_style): Removed.
	(mail_config_set_message_display_style): Removed.
	(mail_config_get_default_charset): Removed.
	(mail_config_set_default_charset): Removed.
	(mail_config_get_x_mailer_display_style): Removed.
	(mail_config_set_x_mailer_display_style): Removed.

	* subscribe-dialog.c (populate_store_list): Use the list of
	accounts. We can't get the list of sources anymore.
	(populate_store_foreach): Updated.

	* mail-callbacks.c (guess_me_from_accounts): Use account->enabled.
	(mail_generate_reply): Same.
	(empty_trash): Here too.

	* mail-accounts.c (account_delete_clicked): Use account->enabled
	rather than source->enabled.
	(account_able_clicked): Same.
	(account_cursor_change): Here too.
	(mail_accounts_load): And here.

	* component-factory.c (owner_unset_cb): Use gconf empty-on-exit
	settings.
	(mail_load_storages): Use account->enabled rather than
	account->source->enabled. The struct changed.

	* mail-composer-prefs.c (sig_add): Get the send_html pref from gconf.

	* message-tag-followup.c (target_date_new): Use gconf.

	* mail-config.c (mail_config_get_week_start_day): Removed.

	* mail-tools.c (mail_tool_quote_message): Use gconf here too, but
	we don't need to parse the colour - just use it as a raw string.
	(mail_tool_forward_message): Use gconf.

	* mail-format.c (mail_format_data_wrapper_write_to_stream): Use gconf.
	(write_headers): Use gconf.
	(handle_text_plain): Same.

	* mail-display.c (mail_text_write): Updated to use gconf and parse
	GdkColour strings.
	(on_url_requested): Updated to use gconf.

	* mail-callbacks.c (ask_confirm_for_unwanted_html_mail): Use gconf
	rather than the old mail-config APIs which will be removed.
	(ask_confirm_for_empty_subject): Same.
	(ask_confirm_for_only_bcc): Here too.
	(composer_get_message): And here.
	(create_msg_composer): Same.
	(transfer_msg_done): Again here.
	(delete_msg): Here too.
	(confirm_expunge): And finally here.

	* mail-config.c (mail_config_write): Use gconf.
	(mail_config_get_sources): Removed.

	* mail-account-gui.c (mail_account_gui_save): No need to save
	enabled-state anymore for a source.

	* mail-config-druid.c (wizard_finish_cb): Instead of setting
	account->source->enabled to TRUE, just set account->enabled to
	TRUE. The structures changed a bit.

	* mail-send-recv.c (mail_send_receive): Get the list of accounts
	instead of sources, and pass them along to build_dialogue. I'm
	trying to get rid of the mail_config_get_sources() api.
	(mail_autoreceive_setup): Here too.

	* mail-config.c (mail_config_get_filter_log): Removed.
	(mail_config_set_filter_log): Removed.
	(mail_config_get_filter_log_path): Removed.
	(mail_config_set_filter_log_path): Removed.
	(mail_config_get_new_mail_notify): Removed.
	(mail_config_set_new_mail_notify): Removed.
	(mail_config_get_new_mail_notify_sound_file): Removed.
	(mail_config_set_new_mail_notify_sound_file): Removed.

	* mail-session.c (main_get_filter_driver): Updated to use the
	gconf settings.

svn path=/trunk/; revision=19271
2003-01-08 01:39:21 +00:00
58b68db327 frobbed around with these till it exits without crashing.
2002-12-03  Not Zed  <NotZed@Ximian.com>

        * folder-browser.c (folder_browser_finalise/destroy): frobbed
        around with these till it exits without crashing.

        * message-list.c (message_list_destroy): made a destroy
        handler again (was dispose).  Frobbed around with this and
        finalise till it can destroy without crashing.

        * message-browser.c (message_browser_new): ref/sink the
        folderbrowser.

svn path=/trunk/; revision=18991
2002-12-03 04:24:47 +00:00
cbdf3bccf6 Duh idiot, "un-fixed" the memleak i added.
2002-11-26  Not Zed  <NotZed@Ximian.com>

        * message-list.c (get_normalised_string): Duh idiot, "un-fixed"
        the memleak i added.

        * mail-callbacks.c (composer_get_message): Set parent window in
        message dialogue & DESTROY_WITH_PARENT flag.
        (composer_save_draft_cb):
        (configure_mail):
        (check_send_configuration): Add DESTROY_WITH_PARENT flag to
        gtk_message_dialog's
        (local_configure_done): remove some unecessary/wrong casts.
        (empty_trash_expunged_cb): "
        (do_mail_print): use gtk_window_set_transient_for instead of
        e_dialog_set_parent.

svn path=/trunk/; revision=18923
2002-11-26 11:28:29 +00:00
989e199638 gtk_widget_set_parent_window -> gtk_window_set_transient_for.
2002-11-26  Not Zed  <NotZed@Ximian.com>

        * mail-account-editor.c (mail_account_editor_new):
        gtk_widget_set_parent_window -> gtk_window_set_transient_for.

        * mail-callbacks.c (composer_send_queued_cb): dont unref composer.

        * message-browser.c (message_browser_destroy): moved back from
        finalise.

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

        * message-list.c (message_list_dispose): move saving tree state
        here.
        (message_list_finalise): And take it from here.

        * mail-display.c (mail_display_destroy): @#$@# gtk.  changed this
        around a bit.
        (mail_display_init): Fix prototype, its a gobject.
        (mail_display_init): ref/sink the invisible gtkobject.

svn path=/trunk/; revision=18919
2002-11-26 06:43:31 +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
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
e2e4b1120c rename this from "Mail.idl" so that the generated .h file won't overwrite
* Mailer.idl: rename this from "Mail.idl" so that the generated .h
	file won't overwrite "mail.h" on Mac OS X. Remove some
	never-implemented IDL and add MailConfig_removeAccount.

	* Makefile.am: Update for IDL rename

	* mail-config.c: #include Mailer.h, not Mail.h
	(impl_GNOME_Evolution_MailConfig_removeAccount): Implement.

	* folder-info.c: #include Mailer.h, not Mail.h

	* message-list.c: Remove Mail.h include.

svn path=/trunk/; revision=18060
2002-09-13 15:05:44 +00:00
26136b35b7 If we already have a folder, make sure we unref/unhook from it. Fixes a
2002-09-10  Not Zed  <NotZed@Ximian.com>

	* folder-browser.c (got_folder): If we already have a folder, make
	sure we unref/unhook from it.  Fixes a crash on exit.

	* message-list.c (message_list_hide_clear): clear thread tree
	cache if set.
	(message_list_set_search): Same.  For bug #28834.

svn path=/trunk/; revision=18029
2002-09-10 06:52:21 +00:00
3814bb179f Pass mail_config_get_thread_subject() as the third argument to
2002-08-27  Jeffrey Stedfast  <fejj@ximian.com>

	* message-list.c (regen_list_regen): Pass
	mail_config_get_thread_subject() as the third argument to
	camel_folder_thread_messages_new().

	* mail-config.c (config_read): Read in the thread_by_subject
	config option.
	(mail_config_write_on_exit): Save the thread_by_subject config
	option.
	(mail_config_get_thread_subject): New function to get the
	thread_subject value.
	(mail_config_set_thread_subject): New function to set the
	thread_subject value.

svn path=/trunk/; revision=17881
2002-08-27 22:09:41 +00:00
828a107720 Don't bother overloading the timeout virtual methods since they don't
2002-08-21  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-session.c (class_init): Don't bother overloading the
	timeout virtual methods since they don't exist anymore.

	* mail-folder-cache.c (mail_note_store): Register a ping timeout
	callback to ping each store to keep the connections alive.

svn path=/trunk/; revision=17831
2002-08-21 19:23:44 +00:00
07c805c9f5 Once we hit the target node, update the cursor_uid if it's set. Fixes
2002-08-20  Peter Williams  <peterw@ximian.com>

	* message-list.c (search_func): Once we hit the target node,
	update the cursor_uid if it's set. Fixes #29085.

svn path=/trunk/; revision=17821
2002-08-20 20:53:04 +00:00
a75f6e461d Only count hidden messages which are in the folder. Should probably
2002-08-06  Not Zed  <NotZed@Ximian.com>

        * message-list.c (message_list_hidden): Only count hidden messages
        which are in the folder.  Should probably maintain hidden table
        better.  For #4334.

svn path=/trunk/; revision=17707
2002-08-06 04:32:24 +00:00
ce3ae88564 If we are not in interactive mode, don't display error dialogs.
2002-08-05  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-mt.c (mail_msg_check_error): If we are not in interactive
	mode, don't display error dialogs.

	* component-factory.c (interactive_cb): Updated to use the new
	function mail_session_set_interactive().
	(owner_unset_cb): Same here.

	* mail-session.c (mail_session_set_interactive): Renamed from
	mail_session_enable_interaction().
	(mail_session_get_interactive): New function to get the
	interactive state.

svn path=/trunk/; revision=17702
2002-08-05 21:20:59 +00:00
405ef3bcf3 Updated to use the new Follow-Up tags. Instead of storing a string
2002-08-02  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-display.c (mail_display_render): Updated to use the new
	Follow-Up tags. Instead of storing a string containing the
	follow-up tag value, we now have to store the CamelMessageInfo.
	(mail_display_destroy): Unref the folder and the message-info.

	* folder-browser.c (followup_tag_complete): No longer needed.
	(on_right_clicked): Use the individual follow-up tags to decide
	whether or not to enable something.

	* message-list.c (ml_tree_value_at): Update to use the new
	Follow-Up tags.

	* mail-callbacks.c (flag_for_followup): Update to use the new
	MessageTagEditor API.
	(tag_editor_ok): Update this too.
	(flag_followup_completed): Updated this too.
	(flag_followup_clear): Set all the follow-up tag values to "".

svn path=/trunk/; revision=17691
2002-08-02 22:36:11 +00:00
ed7236d351 Remove the assert, and always copy over the threadtree which represents
2002-07-22  Not Zed  <NotZed@Ximian.com>

	* message-list.c (regen_list_regened): Remove the assert, and
	always copy over the threadtree which represents the current view,
	unreffing the old one if set.  For #28021.  Haven't tested this a
	lot, but i guess it cant be worse than what is there.

svn path=/trunk/; revision=17524
2002-07-22 09:22:17 +00:00
7f0ab8334b Lookup the label colour based on the label token, not an integer.
2002-07-15  Not Zed  <NotZed@Ximian.com>

        * message-list.c (ml_tree_value_at): Lookup the label colour based
        on the label token, not an integer.

        * folder-browser.c (on_right_click): Lookup the label name from
        the filter type.  Sigh, a bunch of other code should do similar
        but i'm going to leave it as integers.
        (set_msg_label): Set the label directly.

svn path=/trunk/; revision=17473
2002-07-16 02:38:41 +00:00
c0f7c70b8a New convenience function to find the first parent node that is visible and
2002-06-18  Jeffrey Stedfast  <fejj@ximian.com>

	* message-list.c (message_list_change_first_visible_parent): New
	convenience function to find the first parent node that is visible
	and emit a changed signal on it.
	(main_folder_changed): If a message changed, call
	change_first_visible_parent() in case we are in a collapsed thread
	so that our first visible parent gets updated as well. Fixes bug
	#26263.

	* component-factory.c (storage_remove_folder): Simplify the error
	checking.

svn path=/trunk/; revision=17228
2002-06-18 20:49:16 +00:00
6bd5d23da7 New convenience function to get a cached normalised string.
2002-06-17  Jeffrey Stedfast  <fejj@ximian.com>

	* message-list.c (get_normalised_string): New convenience function
	to get a cached normalised string.
	(subject_compare): Removed, as we strip Re:'s when normalising the
	subject strings now.
	(ml_tree_value_at): Added support for the normalised columns (used
	for a sorting optimisation).
	(message_list_init): Initialise normalised_hash.
	(message_list_destroy): Destroy normalised_hash.
	(message_list_create_extras): Removed subject_compare.
	(main_folder_changed): De-cache normalised strings for any removed
	uids.

svn path=/trunk/; revision=17213
2002-06-17 19:58:22 +00:00
e8a1d5b72d If we dont support searching, dont try to.
2002-06-17  Not Zed  <NotZed@Ximian.com>

        * message-list.c (regen_list_regen): If we dont support searching,
        dont try to.

svn path=/trunk/; revision=17208
2002-06-17 11:29:10 +00:00
0469ab8eff Move m->complete = TRUE; to within the cancel-check block, this way
2002-06-11  Jeffrey Stedfast  <fejj@ximian.com>

	* message-list.c (regen_list_regen): Move m->complete = TRUE; to
	within the cancel-check block, this way complete only ever gets
	set to TRUE if we weren't cancelled. I assume this is how it was
	supposed to work.

svn path=/trunk/; revision=17169
2002-06-11 20:54:12 +00:00
ce2082b3ee If we dont get a folder, dont try and get details off it. Should get rid
2002-06-11  Not Zed  <NotZed@Ximian.com>

        * folder-info.c (do_get_info): If we dont get a folder, dont try
        and get details off it.  Should get rid of most of those annoying
        summary warnings, but not the cause of them.

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

        * message-list.c (mail_regen_list): Keep track of the regeneration
        request in a list.
        (regen_list_free): Remove the request from the regenreation list.
        (message_list_set_folder): If there are any outstanding
        regneration requests, cancel them.
        (regen_list_regened): If we were cancelled, do nothing.
        (regen_list_regen): If we were cancelled, shortcut processing.
        This is all for #23571.

        * message-list.c (regen_list_regen): Change the way we calculate
        the hide deleted messages and tree view options.  Do it based on a
        search and uid's rather than a summary.
        (regen_list_regened): Handle changes to tree storage.
        (mail_regen_list): The tree is now stored between updates, so we
        can update the tree structure incrementally.  This blows out
        memory use some however.  We need an etree that uses this as its
        model directly?
        (message_list_destroy): Free the thread tree.
        (message_list_set_folder): Clear the thread tree when changing
        folder.

svn path=/trunk/; revision=17165
2002-06-11 04:54:17 +00:00
a58c048d65 Keep track of the regeneration request in a list. (regen_list_free):
2002-06-06  Not Zed  <NotZed@Ximian.com>

        * message-list.c (mail_regen_list): Keep track of the regeneration
        request in a list.
        (regen_list_free): Remove the request from the regenreation list.
        (message_list_set_folder): If there are any outstanding
        regneration requests, cancel them.
        (regen_list_regened): If we were cancelled, do nothing.
        (regen_list_regen): If we were cancelled, shortcut processing.
        This is all for #23571.

svn path=/trunk/; revision=17129
2002-06-06 09:49:14 +00:00
aa3bfbe422 Implement, return a text description of the localfolder.
2002-06-01  Not Zed  <NotZed@Ximian.com>

        * mail-local.c (mlf_getv): Implement, return a text description of
        the localfolder.

        * message-list.c (ml_duplicate_value):
        (ml_free_value):
        (ml_initialize_value):
        (ml_value_is_empty):
        (ml_value_to_string):
        (ml_tree_value_at): Implement COL_LOCATION, original location of
        message (useful for vfolder).

svn path=/trunk/; revision=17072
2002-06-03 02:52:32 +00:00
3cedfae4c2 Check for a label tag when doing a lookup on the COLOR column.
2002-05-16  Jeffrey Stedfast  <fejj@ximian.com>

	* message-list.c (ml_tree_value_at): Check for a label tag when
	doing a lookup on the COLOR column.

	* mail-config.c (mail_config_get_label_color_string): Return the
	colour in string format.

	* folder-browser.c (set_msg_label): Replaces colourise_msg and
	sets the "label" tag rather than the "colour" tag.

	* mail-preferences.c (mail_preferences_apply): Call
	mail_config_write() so that the settings get synced to disk.

svn path=/trunk/; revision=16938
2002-05-16 20:56:36 +00:00
d92240a741 Instead of g_assert()ing that the msg_info is not NULL, if it is NULL just
2002-05-15  Jeffrey Stedfast  <fejj@ximian.com>

	* message-list.c (ml_tree_value_at): Instead of g_assert()ing that
	the msg_info is not NULL, if it is NULL just return NULL. This
	fixes a crash when ETree requests the value at a root node (I
	don't understand why it needs to do that??).

svn path=/trunk/; revision=16796
2002-05-15 05:24:15 +00:00
1911f19678 Implemented.
2002-03-14  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-callbacks.c (next_thread): Implemented.

	* message-list.c (message_list_select_next_thread): New function
	to select the next thread.

svn path=/trunk/; revision=16165
2002-03-14 20:14:08 +00:00
c5f85f4f33 Connect to the focus-in/out events on the message-list so that we can
2002-03-04  Jeffrey Stedfast  <fejj@ximian.com>

	* folder-browser.c (my_folder_browser_init): Connect to the
	focus-in/out events on the message-list so that we can disable the
	EditInvertSelection and EditSelectThread menu items when the
	message-list is not in focus.

	* folder-browser-ui.c (folder_browser_ui_message_list_unfocus):
	New function to de-sensitize some items if the message-list is not
	in focus.
	(folder_browser_ui_message_list_focus): New function to sensitize
	some items if the message-list is not in focus.

	* mail-callbacks.c (invert_selection): Only invert the selection
	of the message-list if it is the widget in focus.

	* message-list.c (message_list_select): Do not explicitly grab the
	focus here.

svn path=/trunk/; revision=15909
2002-03-04 22:01:12 +00:00
843b7d2c82 Removed, this wasn't working as intended and seemed to break other
2002-02-22  Jeffrey Stedfast  <fejj@ximian.com>

	* message-list.c (on_message_list_built): Removed, this wasn't
	working as intended and seemed to break other features.

svn path=/trunk/; revision=15801
2002-02-22 19:48:43 +00:00
17815d8669 Connect to our own message_list_built signal. Focus the list and select
2002-02-21  Jeffrey Stedfast  <fejj@ximian.com>

	* message-list.c (on_message_list_built): Connect to our own
	message_list_built signal. Focus the list and select the first
	unread message (or frst message depending). Fixes bug #3900.

svn path=/trunk/; revision=15784
2002-02-22 00:13:56 +00:00
cf945fcde2 Prompt the user to find out if he/she wants to go to the next folder with
2002-02-19  Jeffrey Stedfast  <fejj@ximian.com>

	* mail-callbacks.c (confirm_goto_next_folder): Prompt the user to
	find out if he/she wants to go to the next folder with unread mail
	in it.
	(find_current_folder): Find a given CamelFolderInfo node based on
	a given uri.
	(find_next_folder_r): Recursively look for a CamelFOlderInfo node
	which has unread messages.
	(find_next_folder): Given a currently selected CamelFolderInfo
	node, look for the next node containing unread messages.
	(do_evil_kludgy_goto_next_folder_hack): Find the currently
	selected folder and then find the very next folder after it that
	contains unread messages and then select it via a CORBA call to
	the shell.
	(next_unread_msg): If we fail to find an unread message in the
	message-list, prompt the user to find out if we should jump to the
	next fodler containing unread messages. If so, call
	do_evil_kludgy_goto_next_folder_hack().

	* message-list.c (message_list_select): Return a boolean value
	based on whether the call was successfull or not.

	* mail-config.c (mail_config_get_confirm_goto_next_folder):
	(mail_config_set_confirm_goto_next_folder):
	(mail_config_get_goto_next_folder):
	(mail_config_set_goto_next_folder): All new functions, yay.
	(config_read): Read in the confirm_goto_next_folder and
	goto_next_folder config options.
	(mail_config_write_on_exit): Same the options here.

svn path=/trunk/; revision=15770
2002-02-20 03:51:20 +00:00
7751734b69 Set the followup icon to use the new flag icon rather than the exclamation
2002-02-13  Jeffrey Stedfast  <fejj@ximian.com>

	* folder-browser-ui.c: Set the followup icon to use the new flag
	icon rather than the exclamation mark icon.

	* mail-callbacks.c (flag_for_followup): Append the selected
	messages to the clist in the followp editor.

	* message-list.c: Include the new flag-for-followup icon.

	* message-tag-followup.c (message_tag_followup_append_message):
	New method to add a message to the message-list.
	(construct): Get the message_list widget and load the flag icon
	pixmap.

svn path=/trunk/; revision=15720
2002-02-13 22:28:39 +00:00
2d4d49a088 Get followup-up message-list values. Also highlight the message in red if
2002-02-11  Jeffrey Stedfast  <fejj@ximian.com>

	* message-list.c (ml_tree_value_at): Get followup-up message-list
	values. Also highlight the message in red if the due-by date is
	past due (this is what Outlook does).
	(ml_duplicate_value): Handle follow-up columns.
	(ml_free_value): Same.
	(ml_initialize_value): Here too.
	(ml_value_is_empty): And here.
	(ml_value_to_string): And finally here.

	* message-tag-followup.c (message_tag_followup_i18n_name): New
	convenience function.

svn path=/trunk/; revision=15680
2002-02-11 23:00:13 +00:00
e02a62282c removed more needs-reply cruft
svn path=/trunk/; revision=15604
2002-02-08 00:48:26 +00:00
b7ac37f6b1 Bumped the required version of gal.
2002-02-07  Christopher James Lahey  <clahey@ximian.com>

	* configure.in: Bumped the required version of gal.

From addressbook/ChangeLog:

2002-02-07  Christopher James Lahey  <clahey@ximian.com>

	* gui/widgets/e-addressbook-view.c
	(e_addressbook_view_setup_menus): Changed this function to use the
	new GalViewMenus which takes a GalViewInstance, instead of a
	GalViewCollection.

From calendar/ChangeLog:

2002-02-07  Christopher James Lahey  <clahey@ximian.com>

	* gui/e-tasks.c (e_tasks_setup_view_menus), gui/gnome-cal.c
	(gnome_calendar_setup_view_menus): Made these use the new
	GalViewMenus stuff.

From mail/ChangeLog:

2002-02-07  Christopher James Lahey  <clahey@ximian.com>

	* folder-browser.c, folder-browser.h, folder-browser-ui.c,
	folder-browser-ui.h
	(folder_browser_ui_setup_view_menus,
	folder_browser_ui_discard_view_menus): Changed this to use the new
	GalViewMenus stuff.  Made these exported functions.

	* mail-callbacks.c, message-browser.c: Changed these to not pass
	the now removed row parameter to message_list_select.

	* mail-config.c, mail-config.h (mail_config_folder_to_safe_url):
	Refactored this out of mail_config_folder_to_cachename.

	* message-list.c, message-list.h (message_list_select): Removed
	the row argument.  Changed this to use the new function in ETree
	for finding the next cursor row that matches a test.
	(message_list_construct): Handle a failed construction of the
	ETree here.
	(message_list_setup_etree, save_tree_state): Don't load or save
	the header state.  folder-browser-ui.c deals with this now.

From views/ChangeLog:

2002-02-07  Christopher James Lahey  <clahey@ximian.com>

	* addressbook/galview.xml, calendar/galview.xml, mail/galview.xml,
	tasks/galview.xml: Added default-view parameters.

	* mail/As_Sent_Folder.galview: New galview.

	* mail/Makefile.am, mail/galview.xml: Added As_Sent_Folder
	galview.

From widgets/ChangeLog:

2002-02-07  Christopher James Lahey  <clahey@ximian.com>

	* menus/gal-view-menus.c, menus/gal-view-menus.h
	(gal_view_menus_new): Made this take a GalViewInstance instead of
	a GalViewCollection.  Reworked most of this to utilize the
	interfaces provided by GalViewInstance.

svn path=/trunk/; revision=15592
2002-02-07 11:24:08 +00:00
a184d302d5 Removed references to NEEDS_REPLY.
2002-02-06  Jeffrey Stedfast  <fejj@ximian.com>

	* message-list.c: Removed references to NEEDS_REPLY.

	* mail-callbacks.c (mark_as_needing_reply): Removed.
	(mark_as_not_needing_reply): Removed.
	(toggle_need_reply): Removed.

	* folder-browser.c (on_right_click): Remove CAN_MARK_NEEDS_REPLY
	stuff, this is going to be implemented in an entirely different
	way.

svn path=/trunk/; revision=15585
2002-02-07 00:27:24 +00:00
956b6f95d0 When performing a wraparound, check to see if the first (or last depending
2002-01-08  Jeffrey Stedfast  <fejj@ximian.com>

	* message-list.c (message_list_select): When performing a
	wraparound, check to see if the first (or last depending on
	direction) message fits the selection criteria before telling
	etable to find the next/previous matching node.

	* mail-account-gui.c (mail_account_gui_new): When connecting to
	the transport username changed event, pass the gui->transport not
	the gui->source.

svn path=/trunk/; revision=15267
2002-01-08 22:47:21 +00:00
fb540f5bfb Makes the auto-undelete behavior when changing message flags a bit more
2001-12-20  Jon Trowbridge  <trow@ximian.com>

        * message-list.c (on_click): Makes the auto-undelete behavior when
        changing message flags a bit more sane. (Fixes #17634)

svn path=/trunk/; revision=15200
2001-12-21 03:39:10 +00:00