* Evolution-Composer.idl, evolution-composer.c (impl_Composer_show): "Forward as iCalendar" uses set_body, so we can't make the composer un-showable after doing that. So get rid of the "cannot show" exception. * e-msg-composer.c (e_msg_composer_set_body): Prepare the composer to be shown in its weird state: Put an explanatory message in the body, then call disable_editor. (disable_editor): Common editor-disabling code - makes the editor and attachment bar insensitive and disables any menu items that could be used to modify them. (e_msg_composer_new_redirect): Use disable_editor here now. svn path=/trunk/; revision=16191
137 lines
3.5 KiB
Plaintext
137 lines
3.5 KiB
Plaintext
/* -*- Mode: IDL; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
|
|
/*
|
|
* Evolution-Composer.idl: Mail composer interfaces for Evolution
|
|
*
|
|
* Author:
|
|
* Dan Winship <danw@ximian.com>
|
|
*
|
|
* (C) 2000 Ximian, Inc.
|
|
*/
|
|
|
|
#include <Bonobo.idl>
|
|
|
|
module GNOME {
|
|
module Evolution {
|
|
|
|
interface Composer : Bonobo::Unknown {
|
|
struct Recipient {
|
|
string name; /* UTF-8 */
|
|
string address;
|
|
};
|
|
typedef sequence<Recipient> RecipientList;
|
|
|
|
typedef sequence<char> AttachmentData;
|
|
|
|
enum MultipartType {
|
|
MIXED,
|
|
ALTERNATIVE
|
|
};
|
|
|
|
/**
|
|
* setHeaders:
|
|
* @to: the "To" recipients
|
|
* @cc: the "CC" recipients
|
|
* @bcc: the "Bcc" recipients
|
|
* @subject: the subject of the message
|
|
*
|
|
* Sets the composer headers. Any of @to, @cc, and
|
|
* @bcc may be an empty list, and @subject may be an
|
|
* empty string.
|
|
**/
|
|
void setHeaders (in RecipientList to, in RecipientList cc,
|
|
in RecipientList bcc, in string subject);
|
|
|
|
/**
|
|
* setMultipartType:
|
|
* @type: a multipart subtype
|
|
*
|
|
* Sets the kind of multipart message that is being
|
|
* created.
|
|
*
|
|
* If @type is MIXED (the default), setBody()
|
|
* will create the body, and attachMIME() and
|
|
* attachData() will create attachments.
|
|
*
|
|
* If @type is ALTERNATIVE, setBody() will create
|
|
* text/plain alternative, and each following
|
|
* attachMIME() or attachData() call will create
|
|
* another alternative.
|
|
*
|
|
* Other values of @type are not currently supported,
|
|
* although "related" probably should be.
|
|
**/
|
|
void setMultipartType (in MultipartType type);
|
|
|
|
/**
|
|
* setBody:
|
|
* @body: the body
|
|
* @mime_type: the MIME type of @body
|
|
*
|
|
* Sets the body of the composer to @body. If
|
|
* @mime_type is something other than "text/plain" or
|
|
* "text/html", the composer will not be editable
|
|
* and it will not attempt to assign a non-UTF8
|
|
* character set to the data. However, @mime_type may
|
|
* include parameters in that case.
|
|
**/
|
|
void setBody (in string body, in string mime_type);
|
|
|
|
/**
|
|
* attachMIME:
|
|
* @data: the attachment data
|
|
*
|
|
* This adds an attachment to the composer. @data
|
|
* should be a fully-formed MIME body part.
|
|
**/
|
|
exception CouldNotParse {};
|
|
void attachMIME (in string data)
|
|
raises (CouldNotParse);
|
|
|
|
/**
|
|
* attachData:
|
|
* @content_type: the Content-Type header
|
|
* @filename: the suggested filename, or ""
|
|
* @description: a description of the data, or ""
|
|
* @show_inline: whether the attachment should be
|
|
* displayed inline or not.
|
|
* @data: the raw attachment data
|
|
*
|
|
* This adds @data as an attachment, using the provided
|
|
* information to generate MIME headers. @content_type
|
|
* may contain just a MIME content type, or it may
|
|
* contain a complete Content-Type header. @filename
|
|
* is a filename for the Content-Disposition header
|
|
* @description (if not "") provides the
|
|
* Content-Description, and @show_inline determines if the
|
|
* Content-Disposition is "inline" or "attachment".
|
|
*
|
|
* If you need to specify headers or values other than
|
|
* what this function can do, you will need to generate
|
|
* all of the MIME headers yourself and use
|
|
* add_attachment ().
|
|
**/
|
|
void attachData (in string content_type,
|
|
in string filename,
|
|
in string description,
|
|
in boolean show_inline,
|
|
in AttachmentData data);
|
|
|
|
/**
|
|
* show:
|
|
*
|
|
* Shows the composer and lets the user edit things
|
|
* and send the message.
|
|
**/
|
|
void show ();
|
|
|
|
|
|
/**
|
|
* send:
|
|
*
|
|
* Send the message without showing the user the composer
|
|
**/
|
|
void send ();
|
|
};
|
|
};
|
|
};
|