X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fwidgets%2Fmodest-msg-edit-window.h;h=c24e30af71e971523348b125b9c555423e2c1e08;hp=c82bf1422342b10feaa4917f532dc099d074ff63;hb=f6d386ff93e929092ba105385a29d760aeba9ff7;hpb=c5056e3e497823d10d0ddcd16dd2f2730292d76d diff --git a/src/widgets/modest-msg-edit-window.h b/src/widgets/modest-msg-edit-window.h index c82bf14..c24e30a 100644 --- a/src/widgets/modest-msg-edit-window.h +++ b/src/widgets/modest-msg-edit-window.h @@ -31,6 +31,7 @@ #define __MODEST_MSG_EDIT_WINDOW_H__ #include +#include #include G_BEGIN_DECLS @@ -70,12 +71,23 @@ typedef enum { MODEST_MSG_EDIT_FORMAT_HTML } ModestMsgEditFormat; +typedef enum { + MODEST_MSG_EDIT_WINDOW_WIDGET_TYPE_BODY, + MODEST_MSG_EDIT_WINDOW_WIDGET_TYPE_TO, + MODEST_MSG_EDIT_WINDOW_WIDGET_TYPE_CC, + MODEST_MSG_EDIT_WINDOW_WIDGET_TYPE_BCC, + MODEST_MSG_EDIT_WINDOW_WIDGET_TYPE_SUBJECT, + MODEST_MSG_EDIT_WINDOW_WIDGET_TYPE_ATTACHMENTS, + MODEST_MSG_EDIT_WINDOW_WIDGET_TYPE_NUM, +} ModestMsgEditWindowWidgetType; + /** Get these with modest_msg_edit_window_get_msg_data() * and free them with modest_msg_edit_window_free_msg_data(). */ typedef struct { gchar *from, *to, *cc, *bcc, *subject, *plain_body, *html_body; GList *attachments; + GList *images; TnyHeaderFlags priority_flags; TnyMsg *draft_msg; gchar *account_name; @@ -104,14 +116,17 @@ GType modest_msg_edit_window_get_type (void) G_GNUC_CONST; /** * modest_msg_edit_window_new: - * #msg: a #TnyMsg instance - * #account_name: the account this message applies to + * @msg: a #TnyMsg instance + * @account_name: the account this message applies to + * @preserve_is_rich: if @msg is not rich, open the message as plain text * * instantiates a new #ModestMsgEditWindow widget * * Returns: a new #ModestMsgEditWindow, or NULL in case of error */ -ModestWindow* modest_msg_edit_window_new (TnyMsg *msg, const gchar *account_name); +ModestWindow* modest_msg_edit_window_new (TnyMsg *msg, + const gchar *account_name, + gboolean preserve_is_rich); /** @@ -214,11 +229,14 @@ void modest_msg_edit_window_offer_attach_file (Mode * modest_msg_edit_window_attach_file_one: * @self: a #ModestMsgEditWindow * @file_uri: The URI of a file to attach to the email message. + * @allowed_size: max size allowed for this attachment, 0 for unlimited * * attach a file to a MsgEditWindow non interactively, * without file dialog. This is needed by dbus callbacks. + * + * Returns: the filesize (if available) */ -void modest_msg_edit_window_attach_file_one (ModestMsgEditWindow *window, const gchar *file_uri); +GnomeVFSFileSize modest_msg_edit_window_attach_file_one (ModestMsgEditWindow *window, const gchar *file_uri, GnomeVFSFileSize allowed_size); /** * modest_msg_edit_window_remove_attachments: @@ -228,7 +246,26 @@ void modest_msg_edit_window_attach_file_one (Modest * remove attachments in @att_list, with a confirmation dialog */ void modest_msg_edit_window_remove_attachments (ModestMsgEditWindow *window, - GList *att_list); + TnyList *att_list); + +/** + * modest_msg_edit_window_get_parts_size: + * @window: a #ModestMsgEditWindow + * @parts_count: number of attachments and images attached to the message + * @parts_size: sum of sizes of attachments and images + */ +void modest_msg_edit_window_get_parts_size (ModestMsgEditWindow *window, + gint *parts_count, + guint64 *parts_size); +/** + * modest_msg_edit_window_add_part: + * @self: a #ModestMsgEditWindow + * @part: a #TnyMimePart + * + * Adds @part as an attachment + */ +void modest_msg_edit_window_add_part (ModestMsgEditWindow *window, + TnyMimePart *part); /** * modest_msg_edit_window_show_cc: @@ -249,14 +286,6 @@ void modest_msg_edit_window_show_cc (ModestMsgE void modest_msg_edit_window_show_bcc (ModestMsgEditWindow *window, gboolean show); /** - * modest_msg_edit_window_toggle_fullscreen: - * @window: a #ModestMsgEditWindow - * - * toggles the current fullscreen status - */ -void modest_msg_edit_window_toggle_fullscreen (ModestMsgEditWindow *window); - -/** * modest_msg_edit_window_set_priority_flags: * @window: a #ModestMsgEditWindow * @priority_flags: a #TnyHeaderFlags with priority information @@ -294,6 +323,16 @@ void modest_msg_edit_window_select_font (ModestMsgEditWindow * void modest_msg_edit_window_undo (ModestMsgEditWindow *window); /** + * modest_msg_edit_window_can_undo: + * @window: a #ModestMsgEditWindow + * + * Checks if an undo operation is available + * + * Returns: %TRUE if undo can be done, %FALSE otherwise. + */ +gboolean modest_msg_edit_window_can_undo (ModestMsgEditWindow *window); + +/** * modest_msg_edit_window_redo: * @window: a #ModestMsgEditWindow * @@ -302,6 +341,16 @@ void modest_msg_edit_window_undo (ModestMsgEditWindow * void modest_msg_edit_window_redo (ModestMsgEditWindow *window); /** + * modest_msg_edit_window_can_redo: + * @window: a #ModestMsgEditWindow + * + * Checks if a redp operation is available + * + * Returns: %TRUE if redo can be done, %FALSE otherwise. + */ +gboolean modest_msg_edit_window_can_redo (ModestMsgEditWindow *window); + +/** * modest_msg_edit_window_select_contacts: * @window: a #ModestMsgEditWindow * @@ -313,13 +362,15 @@ void modest_msg_edit_window_select_contacts (ModestMsgEditWindow * /** * modest_msg_edit_window_check_names: * @window: a #ModestMsgEditWindow + * @add_to_addressbook: if TRUE, add valid addresses to the addressbook * * Validates all the recipients, and shows (if required) dialogs for adding contacts * or fixing problems in specific fields. * * Returns: %TRUE if all fields were validated, %FALSE otherwise */ -gboolean modest_msg_edit_window_check_names (ModestMsgEditWindow *window); +gboolean modest_msg_edit_window_check_names (ModestMsgEditWindow *window, + gboolean add_to_addressbook); /** * modest_msg_edit_window_toggle_find_toolbar: @@ -342,6 +393,17 @@ void modest_msg_edit_window_toggle_find_toolbar (ModestMsgEditWindow */ gboolean modest_msg_edit_window_is_modified (ModestMsgEditWindow *window); +/** + * modest_msg_edit_window_reset_modified: + * @window: a #ModestMsgEditWindow + * @modified: wheter or not we want to make the buffer as modified or not + * + * Sets the message as modified or not + */ +void modest_msg_edit_window_set_modified (ModestMsgEditWindow *window, + gboolean modified); + + gboolean modest_msg_edit_window_get_sent (ModestMsgEditWindow *window); void modest_msg_edit_window_set_sent (ModestMsgEditWindow *window, gboolean sent); @@ -356,6 +418,41 @@ void modest_msg_edit_window_set_sent (ModestMsgEditWindow */ void modest_msg_edit_window_set_draft (ModestMsgEditWindow *window, TnyMsg *draft); +/** + * modest_msg_edit_window_get_message_uid: + * @msg: an #ModestMsgEditWindow instance + * + * gets the unique identifier for the message in this msg editor. + * This is the identifier of the draft or outbox message the editor was + * opened from. If it's a new message, then it returns %NULL + * + * Returns: the id of the #TnyMsg being shown, or NULL in case of error + */ +const gchar* modest_msg_edit_window_get_message_uid (ModestMsgEditWindow *window); + +/** + * modest_msg_edit_window_get_child_widget: + * @win: a #ModestMsgEditWindow + * @widget_type: the type of the child to obtain + * + * Obtain the child widget of @win of type @widget_type + * + * Returns: a #GtkWidget, or %NULL + */ +GtkWidget * +modest_msg_edit_window_get_child_widget (ModestMsgEditWindow *win, + ModestMsgEditWindowWidgetType widget_type); + +/** + * modest_msg_edit_window_get_clipboard_text: + * @win: a #ModestMsgEditWindow + * + * Obtains the currently selected text in selection clipboard + * + * Returns: a string + */ +const gchar * +modest_msg_edit_window_get_clipboard_text (ModestMsgEditWindow *win); G_END_DECLS