Remove spacing in headers view calendar, as it was causing a very bad
[modest] / src / modest-plugin-ui-actions.h
1 /* Copyright (c) 2008, Nokia Corporation
2  * All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions are
6  * met:
7  *
8  * * Redistributions of source code must retain the above copyright
9  *   notice, this list of conditions and the following disclaimer.
10  * * Redistributions in binary form must reproduce the above copyright
11  *   notice, this list of conditions and the following disclaimer in the
12  *   documentation and/or other materials provided with the distribution.
13  * * Neither the name of the Nokia Corporation nor the names of its
14  *   contributors may be used to endorse or promote products derived from
15  *   this software without specific prior written permission.
16  *
17  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
18  * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
20  * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
21  * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
24  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
25  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
26  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28  */
29
30 #ifndef __MODEST_PLUGIN_UI_ACTIONS_H__
31 #define __MODEST_PLUGIN_UI_ACTIONS_H__
32
33 /* This should contain simple facades for internal ui actions in modest
34  * that should be available in plugins.
35  */
36
37 #include <gtk/gtk.h>
38 #include <glib.h>
39 #include <widgets/modest-window.h>
40 #include <tny-list.h>
41 #include <tny-header.h>
42
43 G_BEGIN_DECLS
44
45 /**
46  * modest_ui_actions_on_delete_account:
47  * @parent_window: the parent #GtkWindow of the dialog that will be shown
48  * @account_name: the modest name for the account to be deleted
49  * @account_display_name: the display name that will be used in the dialog
50  *
51  * This function will perform the actions required to delete an
52  * account. This function assumes that the account to be deleted is
53  * already disconnected, so the caller must verify that this is the
54  * case. Otherwise weird behaviours could happen
55  *
56  * Returns: TRUE if the account was successfully deleted, FALSE otherwise
57  **/
58 gboolean modest_ui_actions_on_delete_account (GtkWindow *parent_window,
59                                               const gchar *account_name,
60                                               const gchar *account_display_name);
61
62 /**
63  * modest_ui_actions_on_reload_message:
64  * @msg_id: a message id
65  *
66  * Reload the message if it's currently being shown in a view.
67  */
68 void
69 modest_ui_actions_on_reload_message (const gchar *msg_id);
70
71 /**
72  * modest_ui_actions_reply_calendar:
73  * @win: parent #ModestWindow
74  * @header_pairs: #TnyList of #TnyPair of header pairs
75  *
76  * this method opens the mail composer with a reply of a message with calendar
77  * allowing to add @header_pairs with the result of the calendar request.
78  *
79  * @win should be a #ModestMsgViewWindow. We don't put the exact type to avoid
80  * exporting to plugins #ModestMsgViewWindow API
81  */
82 void
83 modest_ui_actions_reply_calendar (ModestWindow *win, TnyList *header_pairs);
84
85 /**
86  * modest_ui_actions_reply_calendar_with_subject:
87  * @win: parent #ModestWindow
88  * @subject: a string, or %NULL to use default reply subject
89  * @header_pairs: #TnyList of #TnyPair of header pairs
90  *
91  * this method opens the mail composer with a reply of a message with calendar
92  * allowing to add @header_pairs with the result of the calendar request.
93  *
94  * @win should be a #ModestMsgViewWindow. We don't put the exact type to avoid
95  * exporting to plugins #ModestMsgViewWindow API
96  */
97 void
98 modest_ui_actions_reply_calendar_with_subject (ModestWindow *win, const gchar *custom_subject, TnyList *header_pairs);
99
100 /**
101  * modest_ui_actions_on_send_msg:
102  * @window: parent window requesting to send the message
103  * @msg: a #TnyMsg
104  *
105  * This method will send @msg without showing the message editor.
106  *
107  * Returns: %TRUE if succesful, %FALSE otherwise
108  */
109 gboolean
110 modest_ui_actions_on_send_msg (ModestWindow *window,
111                                TnyMsg *msg);
112
113 /**
114  * modest_ui_actions_on_send_custom_msg:
115  * @account_name: the account name to use for sending
116  * @from: a string
117  * @to: a string
118  * @cc: a string
119  * @bcc: a string
120  * @plain_body: a string with body of the message in plain text
121  * @html_body: a string with body of the message in html (or %NULL if message is only in plain text)
122  * @attachments_list: a #GList of attachments to add (#TnyMimePart)
123  * @images_list: a #GList of embedded images to add (#TnyMimePart)
124  * @references: list of messages this new message refers to
125  * @in_reply_to: a string with new in-reply-to header
126  * @priority_flags: the priority of the message as #TnyHeaderFlag mask
127  * @header_pairs: a #TnyList of #TnyPair with custom headers to add
128  */
129 gboolean
130 modest_ui_actions_on_send_custom_msg (const gchar *account_name, 
131                                       const gchar *from, const gchar *to, const gchar *cc, const gchar *bcc,
132                                       const gchar *subject,
133                                       const gchar *plain_body, const gchar *html_body,
134                                       const GList *attachments_list, const GList *images_list,
135                                       const gchar *references, const gchar *in_reply_to,
136                                       TnyHeaderFlags priority_flags, TnyList *header_pairs);
137
138 /**
139  * modest_ui_actions_on_send_custom_msg:
140  * @transport_account: a #TnyTransportAccount
141  * @draft_msg: original draft message to delete on sending
142  * @from: a string
143  * @to: a string
144  * @cc: a string
145  * @bcc: a string
146  * @plain_body: a string with body of the message in plain text
147  * @html_body: a string with body of the message in html (or %NULL if message is only in plain text)
148  * @attachments_list: a #GList of attachments to add (#TnyMimePart)
149  * @images_list: a #GList of embedded images to add (#TnyMimePart)
150  * @references: list of messages this new message refers to
151  * @in_reply_to: a string with new in-reply-to header
152  * @priority_flags: the priority of the message as #TnyHeaderFlag mask
153  * @header_pairs: a #TnyList of #TnyPair with custom headers to add
154  */
155 gboolean
156 modest_ui_actions_send_msg_with_transport (TnyTransportAccount *transport_account, 
157                                            TnyMsg *draft_msg,
158                                            const gchar *from, const gchar *to, const gchar *cc, const gchar *bcc,
159                                            const gchar *subject,
160                                            const gchar *plain_body, const gchar *html_body,
161                                            const GList *attachments_list, const GList *images_list,
162                                            const gchar *references, const gchar *in_reply_to,
163                                            TnyHeaderFlags priority_flags, TnyList *header_pairs);
164
165 G_END_DECLS
166 #endif /* __MODEST_PLUGIN_UI_ACTIONS_H__ */