
2001-10-23 <NotZed@Ximian.com> * mail-session.c (get_password): Completely re-done. We now hae a completely async dialogue when requested from antoehr thread, and dont use gtk_main() if we can avoid it (which is normally the case). This stuff is only partially finished, and will mena the removal of the same from mail-mt.c, and the mail_user_message() code will be moved here and changed to work in a similar way. * mail-callbacks.c (empty_trash): Dont try and connect to remote stores just to get the trash. Also, always run empty trash async, and make sure we unref the trash. (empty_trash): Hmm, dont unref the trash, causes a problem on exit, i suspect something else is doing funky unrefs on it. * mail-tools.c (mail_tool_get_trash): Pass a 'connect' arg, tell it whether it should tryand connect or not to the parent service, if it isn't already connected. * component-factory.c (owner_unset_cb): Dont try wait_all here, could potentially deadlock. (idle_quit): Keep returning TRUE if we have outstanding processing. Note that this may busy-wait during exit processign with busy tasks :( (idle_quit): Keep calling ourselves till we no longer get called (i.e. gtk_main really quits). * mail-mt.c (mail_msg_active): New function, returns TRUE if events are still active/outstanding. (do_op_status): @$@$#@@!#@!! didn't unlock the mail_msg_lock if data->activity was NULL and we had no global_shell_client anymore! Also shortcut processing if this is going to be the case. (mail_msg_init): Setup a temporary other gui_port for redoing with new semantics password, user message and progress reporting. (mail_get_password): #ifdef'd out all this code temporarily, till it gets fully moved to mail-session.c 2001-10-22 <NotZed@Ximian.com> * component-factory.c (owner_set_cb): Dont call enable_interaction here. (interactive_cb): But here instead, let the shell tell us when its ok to go interactive. svn path=/trunk/; revision=13933
86 lines
2.9 KiB
C
86 lines
2.9 KiB
C
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
|
|
|
|
/*
|
|
* Author :
|
|
* Peter Williams <peterw@ximian.com>
|
|
*
|
|
* Copyright 2000 Ximian, Inc. (www.ximian.com)
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License as
|
|
* published by the Free Software Foundation; either version 2 of the
|
|
* License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
|
* USA
|
|
*/
|
|
|
|
#ifndef MAIL_TOOLS_H
|
|
#define MAIL_TOOLS_H
|
|
|
|
#include <camel/camel.h>
|
|
#include <camel/camel-filter-driver.h> /*eek*/
|
|
|
|
typedef struct _xevolution {
|
|
char *flags;
|
|
char *source;
|
|
char *transport;
|
|
char *account;
|
|
char *fcc;
|
|
char *format;
|
|
} XEvolution;
|
|
|
|
/* Get the filename for our movemail folder or storage */
|
|
gchar *mail_tool_get_local_movemail_path (void);
|
|
|
|
/* Get the CamelFolder for the local inbox */
|
|
CamelFolder *mail_tool_get_local_inbox (CamelException *ex);
|
|
|
|
/* Get the "inbox" for a url (uses global session) */
|
|
CamelFolder *mail_tool_get_inbox (const gchar *url, CamelException *ex);
|
|
|
|
/* Get the "trash" for a url (uses global session) */
|
|
CamelFolder *mail_tool_get_trash (const gchar *url, int connect, CamelException *ex);
|
|
|
|
/* Does a camel_movemail into the local movemail folder
|
|
* and returns the path to the new movemail folder that was created. which shoudl be freed later */
|
|
char *
|
|
mail_tool_do_movemail (const gchar *source_url, CamelException *ex);
|
|
|
|
/* Transfers all the messages from source into dest;
|
|
* source is emptied and synced. */
|
|
void
|
|
mail_tool_move_folder_contents (CamelFolder *source, CamelFolder *dest, gboolean use_cache, CamelException *ex);
|
|
|
|
XEvolution *mail_tool_remove_xevolution_headers (CamelMimeMessage *message);
|
|
void mail_tool_restore_xevolution_headers (CamelMimeMessage *message, XEvolution *xev);
|
|
void mail_tool_destroy_xevolution (XEvolution *xev);
|
|
|
|
/* Generates the subject for a message forwarding @msg */
|
|
gchar *
|
|
mail_tool_generate_forward_subject (CamelMimeMessage *msg);
|
|
|
|
/* Make a message into an attachment */
|
|
CamelMimePart *
|
|
mail_tool_make_message_attachment (CamelMimeMessage *message);
|
|
|
|
/* Parse the ui into a real CamelFolder any way we know how. */
|
|
CamelFolder *
|
|
mail_tool_uri_to_folder (const char *uri, guint32 flags, CamelException *ex);
|
|
|
|
GHashTable *
|
|
mail_lookup_url_table (CamelMimeMessage *mime_message);
|
|
|
|
gchar *mail_tool_quote_message (CamelMimeMessage *message, const char *fmt, ...);
|
|
|
|
gchar *mail_tool_forward_message (CamelMimeMessage *message, gboolean quoted);
|
|
|
|
#endif
|