Reduce GConf usage in em-composer-utils.c.
To reduce GConf usage in em-composer-utils.c:
- Relevant functions in em-composer-utils.c now take arguments for
reply and forward styles.
- Redundant forwarding functions were removed:
em_utils_forward_attached()
em_utils_forward_inline()
em_utils_forward_quoted()
- EMailReader now has "forward-style" and "reply-style" properties,
which get bound to the appropriate EShellSettings properties in
modules/mail/e-mail-config-reader.c. These same EShellSettings
properties are bound to the combo boxes in Composer Preferences.
This commit is contained in:
@ -67,8 +67,10 @@ enum {
|
||||
PROP_0,
|
||||
PROP_BACKEND,
|
||||
PROP_FOCUS_TRACKER,
|
||||
PROP_FORWARD_STYLE,
|
||||
PROP_GROUP_BY_THREADS,
|
||||
PROP_SHOW_DELETED,
|
||||
PROP_REPLY_STYLE,
|
||||
PROP_UI_MANAGER
|
||||
};
|
||||
|
||||
@ -361,12 +363,24 @@ mail_browser_set_property (GObject *object,
|
||||
g_value_get_object (value));
|
||||
return;
|
||||
|
||||
case PROP_FORWARD_STYLE:
|
||||
e_mail_reader_set_forward_style (
|
||||
E_MAIL_READER (object),
|
||||
g_value_get_enum (value));
|
||||
return;
|
||||
|
||||
case PROP_GROUP_BY_THREADS:
|
||||
e_mail_reader_set_group_by_threads (
|
||||
E_MAIL_READER (object),
|
||||
g_value_get_boolean (value));
|
||||
return;
|
||||
|
||||
case PROP_REPLY_STYLE:
|
||||
e_mail_reader_set_reply_style (
|
||||
E_MAIL_READER (object),
|
||||
g_value_get_enum (value));
|
||||
return;
|
||||
|
||||
case PROP_SHOW_DELETED:
|
||||
e_mail_browser_set_show_deleted (
|
||||
E_MAIL_BROWSER (object),
|
||||
@ -396,12 +410,24 @@ mail_browser_get_property (GObject *object,
|
||||
E_MAIL_BROWSER (object)));
|
||||
return;
|
||||
|
||||
case PROP_FORWARD_STYLE:
|
||||
g_value_set_enum (
|
||||
value, e_mail_reader_get_forward_style (
|
||||
E_MAIL_READER (object)));
|
||||
return;
|
||||
|
||||
case PROP_GROUP_BY_THREADS:
|
||||
g_value_set_boolean (
|
||||
value, e_mail_reader_get_group_by_threads (
|
||||
E_MAIL_READER (object)));
|
||||
return;
|
||||
|
||||
case PROP_REPLY_STYLE:
|
||||
g_value_set_enum (
|
||||
value, e_mail_reader_get_reply_style (
|
||||
E_MAIL_READER (object)));
|
||||
return;
|
||||
|
||||
case PROP_SHOW_DELETED:
|
||||
g_value_set_boolean (
|
||||
value, e_mail_browser_get_show_deleted (
|
||||
@ -802,12 +828,24 @@ mail_browser_class_init (EMailBrowserClass *class)
|
||||
E_TYPE_FOCUS_TRACKER,
|
||||
G_PARAM_READABLE));
|
||||
|
||||
/* Inherited from EMailReader */
|
||||
g_object_class_override_property (
|
||||
object_class,
|
||||
PROP_FORWARD_STYLE,
|
||||
"forward-style");
|
||||
|
||||
/* Inherited from EMailReader */
|
||||
g_object_class_override_property (
|
||||
object_class,
|
||||
PROP_GROUP_BY_THREADS,
|
||||
"group-by-threads");
|
||||
|
||||
/* Inherited from EMailReader */
|
||||
g_object_class_override_property (
|
||||
object_class,
|
||||
PROP_REPLY_STYLE,
|
||||
"reply-style");
|
||||
|
||||
g_object_class_install_property (
|
||||
object_class,
|
||||
PROP_SHOW_DELETED,
|
||||
|
||||
@ -61,6 +61,13 @@ typedef enum {
|
||||
E_MAIL_REPLY_STYLE_OUTLOOK
|
||||
} EMailReplyStyle;
|
||||
|
||||
typedef enum {
|
||||
E_MAIL_REPLY_TO_SENDER,
|
||||
E_MAIL_REPLY_TO_FROM,
|
||||
E_MAIL_REPLY_TO_ALL,
|
||||
E_MAIL_REPLY_TO_LIST
|
||||
} EMailReplyType;
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* E_MAIL_ENUMS_H */
|
||||
|
||||
@ -64,7 +64,9 @@ struct _EMailNotebookViewPrivate {
|
||||
|
||||
enum {
|
||||
PROP_0,
|
||||
PROP_FORWARD_STYLE,
|
||||
PROP_GROUP_BY_THREADS,
|
||||
PROP_REPLY_STYLE
|
||||
};
|
||||
|
||||
#define E_SHELL_WINDOW_ACTION_GROUP_MAIL(window) \
|
||||
@ -573,12 +575,28 @@ mail_notebook_view_set_property (GObject *object,
|
||||
const GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
EMailNotebookViewPrivate *priv;
|
||||
|
||||
priv = E_MAIL_NOTEBOOK_VIEW_GET_PRIVATE (object);
|
||||
|
||||
switch (property_id) {
|
||||
case PROP_FORWARD_STYLE:
|
||||
e_mail_reader_set_forward_style (
|
||||
E_MAIL_READER (priv->current_view),
|
||||
g_value_get_enum (value));
|
||||
return;
|
||||
|
||||
case PROP_GROUP_BY_THREADS:
|
||||
e_mail_reader_set_group_by_threads (
|
||||
E_MAIL_READER (E_MAIL_NOTEBOOK_VIEW (object)->priv->current_view),
|
||||
E_MAIL_READER (priv->current_view),
|
||||
g_value_get_boolean (value));
|
||||
return;
|
||||
|
||||
case PROP_REPLY_STYLE:
|
||||
e_mail_reader_set_reply_style (
|
||||
E_MAIL_READER (priv->current_view),
|
||||
g_value_get_enum (value));
|
||||
return;
|
||||
}
|
||||
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
||||
@ -590,14 +608,31 @@ mail_notebook_view_get_property (GObject *object,
|
||||
GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
EMailNotebookViewPrivate *priv;
|
||||
|
||||
priv = E_MAIL_NOTEBOOK_VIEW_GET_PRIVATE (object);
|
||||
|
||||
switch (property_id) {
|
||||
case PROP_FORWARD_STYLE:
|
||||
g_value_set_enum (
|
||||
value,
|
||||
e_mail_reader_get_forward_style (
|
||||
E_MAIL_READER (priv->current_view)));
|
||||
return;
|
||||
|
||||
case PROP_GROUP_BY_THREADS:
|
||||
g_value_set_boolean (
|
||||
value,
|
||||
e_mail_reader_get_group_by_threads (
|
||||
E_MAIL_READER (E_MAIL_NOTEBOOK_VIEW (object)->priv->current_view)));
|
||||
E_MAIL_READER (priv->current_view)));
|
||||
return;
|
||||
|
||||
case PROP_REPLY_STYLE:
|
||||
g_value_set_enum (
|
||||
value,
|
||||
e_mail_reader_get_reply_style (
|
||||
E_MAIL_READER (priv->current_view)));
|
||||
return;
|
||||
}
|
||||
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
||||
@ -1252,11 +1287,23 @@ e_mail_notebook_view_class_init (EMailNotebookViewClass *class)
|
||||
mail_view_class->get_preview_visible = mail_notebook_view_get_preview_visible;
|
||||
mail_view_class->set_preview_visible = mail_notebook_view_set_preview_visible;
|
||||
|
||||
/* Inherited from EMailReader */
|
||||
g_object_class_override_property (
|
||||
object_class,
|
||||
PROP_FORWARD_STYLE,
|
||||
"forward-style");
|
||||
|
||||
/* Inherited from EMailReader */
|
||||
g_object_class_override_property (
|
||||
object_class,
|
||||
PROP_GROUP_BY_THREADS,
|
||||
"group-by-threads");
|
||||
|
||||
/* Inherited from EMailReader */
|
||||
g_object_class_override_property (
|
||||
object_class,
|
||||
PROP_REPLY_STYLE,
|
||||
"reply-style");
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
@ -75,7 +75,9 @@ struct _EMailPanedViewPrivate {
|
||||
|
||||
enum {
|
||||
PROP_0,
|
||||
PROP_GROUP_BY_THREADS
|
||||
PROP_FORWARD_STYLE,
|
||||
PROP_GROUP_BY_THREADS,
|
||||
PROP_REPLY_STYLE
|
||||
};
|
||||
|
||||
#define STATE_KEY_GROUP_BY_THREADS "GroupByThreads"
|
||||
@ -260,11 +262,23 @@ mail_paned_view_set_property (GObject *object,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
switch (property_id) {
|
||||
case PROP_FORWARD_STYLE:
|
||||
e_mail_reader_set_forward_style (
|
||||
E_MAIL_READER (object),
|
||||
g_value_get_enum (value));
|
||||
return;
|
||||
|
||||
case PROP_GROUP_BY_THREADS:
|
||||
e_mail_reader_set_group_by_threads (
|
||||
E_MAIL_READER (object),
|
||||
g_value_get_boolean (value));
|
||||
return;
|
||||
|
||||
case PROP_REPLY_STYLE:
|
||||
e_mail_reader_set_reply_style (
|
||||
E_MAIL_READER (object),
|
||||
g_value_get_enum (value));
|
||||
return;
|
||||
}
|
||||
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
||||
@ -277,12 +291,26 @@ mail_paned_view_get_property (GObject *object,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
switch (property_id) {
|
||||
case PROP_FORWARD_STYLE:
|
||||
g_value_set_enum (
|
||||
value,
|
||||
e_mail_reader_get_forward_style (
|
||||
E_MAIL_READER (object)));
|
||||
return;
|
||||
|
||||
case PROP_GROUP_BY_THREADS:
|
||||
g_value_set_boolean (
|
||||
value,
|
||||
e_mail_reader_get_group_by_threads (
|
||||
E_MAIL_READER (object)));
|
||||
return;
|
||||
|
||||
case PROP_REPLY_STYLE:
|
||||
g_value_set_enum (
|
||||
value,
|
||||
e_mail_reader_get_reply_style (
|
||||
E_MAIL_READER (object)));
|
||||
return;
|
||||
}
|
||||
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
||||
@ -892,11 +920,23 @@ e_mail_paned_view_class_init (EMailPanedViewClass *class)
|
||||
|
||||
class->open_selected_mail = mail_paned_view_open_selected_mail;
|
||||
|
||||
/* Inherited from EMailReader */
|
||||
g_object_class_override_property (
|
||||
object_class,
|
||||
PROP_FORWARD_STYLE,
|
||||
"forward-style");
|
||||
|
||||
/* Inherited from EMailReader */
|
||||
g_object_class_override_property (
|
||||
object_class,
|
||||
PROP_GROUP_BY_THREADS,
|
||||
"group-by-threads");
|
||||
|
||||
/* Inherited from EMailReader */
|
||||
g_object_class_override_property (
|
||||
object_class,
|
||||
PROP_REPLY_STYLE,
|
||||
"reply-style");
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
@ -392,7 +392,7 @@ html_contains_nonwhitespace (const gchar *html,
|
||||
void
|
||||
e_mail_reader_reply_to_message (EMailReader *reader,
|
||||
CamelMimeMessage *src_message,
|
||||
gint reply_mode)
|
||||
EMailReplyType reply_type)
|
||||
{
|
||||
EShell *shell;
|
||||
EMailBackend *backend;
|
||||
@ -401,6 +401,7 @@ e_mail_reader_reply_to_message (EMailReader *reader,
|
||||
GtkWidget *message_list;
|
||||
CamelMimeMessage *new_message;
|
||||
CamelFolder *folder;
|
||||
EMailReplyStyle reply_style;
|
||||
EWebView *web_view;
|
||||
struct _camel_header_raw *header;
|
||||
const gchar *uid;
|
||||
@ -417,6 +418,7 @@ e_mail_reader_reply_to_message (EMailReader *reader,
|
||||
folder = e_mail_reader_get_folder (reader);
|
||||
formatter = e_mail_reader_get_formatter (reader);
|
||||
message_list = e_mail_reader_get_message_list (reader);
|
||||
reply_style = e_mail_reader_get_reply_style (reader);
|
||||
|
||||
shell_backend = E_SHELL_BACKEND (backend);
|
||||
shell = e_shell_backend_get_shell (shell_backend);
|
||||
@ -469,7 +471,8 @@ e_mail_reader_reply_to_message (EMailReader *reader,
|
||||
g_object_unref (src_message);
|
||||
|
||||
em_utils_reply_to_message (
|
||||
shell, folder, uid, new_message, reply_mode, NULL);
|
||||
shell, folder, uid, new_message,
|
||||
reply_type, reply_style, NULL);
|
||||
|
||||
g_free (selection);
|
||||
|
||||
@ -478,7 +481,7 @@ e_mail_reader_reply_to_message (EMailReader *reader,
|
||||
whole_message:
|
||||
em_utils_reply_to_message (
|
||||
shell, folder, uid, src_message,
|
||||
reply_mode, EM_FORMAT (formatter));
|
||||
reply_type, reply_style, EM_FORMAT (formatter));
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@ -49,7 +49,7 @@ void e_mail_reader_print (EMailReader *reader,
|
||||
GtkPrintOperationAction action);
|
||||
void e_mail_reader_reply_to_message (EMailReader *reader,
|
||||
CamelMimeMessage *message,
|
||||
gint reply_mode);
|
||||
EMailReplyType reply_type);
|
||||
void e_mail_reader_select_next_message
|
||||
(EMailReader *reader,
|
||||
gboolean or_else_previous);
|
||||
|
||||
@ -40,6 +40,7 @@
|
||||
#include "mail/e-mail-backend.h"
|
||||
#include "mail/e-mail-browser.h"
|
||||
#include "mail/e-mail-display.h"
|
||||
#include "mail/e-mail-enumtypes.h"
|
||||
#include "mail/e-mail-reader-utils.h"
|
||||
#include "mail/em-composer-utils.h"
|
||||
#include "mail/em-event.h"
|
||||
@ -106,6 +107,8 @@ enum {
|
||||
static gchar *default_xfer_messages_uri;
|
||||
|
||||
static GQuark quark_private;
|
||||
static GQuark quark_forward_style;
|
||||
static GQuark quark_reply_style;
|
||||
static guint signals[LAST_SIGNAL];
|
||||
|
||||
G_DEFINE_INTERFACE (EMailReader, e_mail_reader, G_TYPE_OBJECT)
|
||||
@ -601,7 +604,9 @@ action_mail_forward_cb (GtkAction *action,
|
||||
shell = e_shell_backend_get_shell (shell_backend);
|
||||
|
||||
if (em_utils_ask_open_many (window, uids->len))
|
||||
em_utils_forward_messages (shell, folder, uids, folder_uri);
|
||||
em_utils_forward_messages (
|
||||
shell, folder, uids, folder_uri,
|
||||
e_mail_reader_get_forward_style (reader));
|
||||
else
|
||||
em_utils_uids_free (uids);
|
||||
|
||||
@ -632,7 +637,9 @@ action_mail_forward_attached_cb (GtkAction *action,
|
||||
shell = e_shell_backend_get_shell (shell_backend);
|
||||
|
||||
if (em_utils_ask_open_many (window, uids->len))
|
||||
em_utils_forward_attached (shell, folder, uids, folder_uri);
|
||||
em_utils_forward_messages (
|
||||
shell, folder, uids, folder_uri,
|
||||
E_MAIL_FORWARD_STYLE_ATTACHED);
|
||||
else
|
||||
em_utils_uids_free (uids);
|
||||
|
||||
@ -663,7 +670,9 @@ action_mail_forward_inline_cb (GtkAction *action,
|
||||
shell = e_shell_backend_get_shell (shell_backend);
|
||||
|
||||
if (em_utils_ask_open_many (window, uids->len))
|
||||
em_utils_forward_inline (shell, folder, uids, folder_uri);
|
||||
em_utils_forward_messages (
|
||||
shell, folder, uids, folder_uri,
|
||||
E_MAIL_FORWARD_STYLE_INLINE);
|
||||
else
|
||||
em_utils_uids_free (uids);
|
||||
|
||||
@ -694,7 +703,9 @@ action_mail_forward_quoted_cb (GtkAction *action,
|
||||
shell = e_shell_backend_get_shell (shell_backend);
|
||||
|
||||
if (em_utils_ask_open_many (window, uids->len))
|
||||
em_utils_forward_quoted (shell, folder, uids, folder_uri);
|
||||
em_utils_forward_messages (
|
||||
shell, folder, uids, folder_uri,
|
||||
E_MAIL_FORWARD_STYLE_QUOTED);
|
||||
else
|
||||
em_utils_uids_free (uids);
|
||||
|
||||
@ -1118,7 +1129,7 @@ action_mail_reply_all_check (CamelFolder *folder,
|
||||
EMailReader *reader = user_data;
|
||||
CamelInternetAddress *to, *cc;
|
||||
gint recip_count = 0;
|
||||
gint mode = REPLY_MODE_ALL;
|
||||
EMailReplyType type = E_MAIL_REPLY_TO_ALL;
|
||||
|
||||
if (!message)
|
||||
return;
|
||||
@ -1163,12 +1174,12 @@ action_mail_reply_all_check (CamelFolder *folder,
|
||||
gtk_widget_destroy (dialog);
|
||||
|
||||
if (response == GTK_RESPONSE_NO)
|
||||
mode = REPLY_MODE_SENDER;
|
||||
type = E_MAIL_REPLY_TO_SENDER;
|
||||
else if (response == GTK_RESPONSE_CANCEL)
|
||||
return;
|
||||
}
|
||||
|
||||
e_mail_reader_reply_to_message (reader, message, mode);
|
||||
e_mail_reader_reply_to_message (reader, message, type);
|
||||
check_close_browser_reader (reader);
|
||||
}
|
||||
|
||||
@ -1218,13 +1229,13 @@ action_mail_reply_all_cb (GtkAction *action,
|
||||
return;
|
||||
}
|
||||
|
||||
e_mail_reader_reply_to_message (reader, NULL, REPLY_MODE_ALL);
|
||||
e_mail_reader_reply_to_message (reader, NULL, E_MAIL_REPLY_TO_ALL);
|
||||
check_close_browser_reader (reader);
|
||||
}
|
||||
|
||||
static void
|
||||
action_mail_reply_group_cb (GtkAction *action,
|
||||
EMailReader *reader)
|
||||
EMailReader *reader)
|
||||
{
|
||||
GConfClient *client;
|
||||
gboolean reply_list;
|
||||
@ -1239,7 +1250,8 @@ action_mail_reply_group_cb (GtkAction *action,
|
||||
g_object_unref (client);
|
||||
|
||||
if (reply_list && (state & E_MAIL_READER_SELECTION_IS_MAILING_LIST)) {
|
||||
e_mail_reader_reply_to_message (reader, NULL, REPLY_MODE_LIST);
|
||||
e_mail_reader_reply_to_message (
|
||||
reader, NULL, E_MAIL_REPLY_TO_LIST);
|
||||
check_close_browser_reader (reader);
|
||||
} else
|
||||
action_mail_reply_all_cb (action, reader);
|
||||
@ -1249,7 +1261,7 @@ static void
|
||||
action_mail_reply_list_cb (GtkAction *action,
|
||||
EMailReader *reader)
|
||||
{
|
||||
e_mail_reader_reply_to_message (reader, NULL, REPLY_MODE_LIST);
|
||||
e_mail_reader_reply_to_message (reader, NULL, E_MAIL_REPLY_TO_LIST);
|
||||
check_close_browser_reader (reader);
|
||||
}
|
||||
|
||||
@ -1261,7 +1273,7 @@ action_mail_reply_sender_check (CamelFolder *folder,
|
||||
{
|
||||
EMailReader *reader = user_data;
|
||||
GConfClient *client;
|
||||
gint mode = REPLY_MODE_SENDER;
|
||||
EMailReplyType type = E_MAIL_REPLY_TO_SENDER;
|
||||
const gchar *key;
|
||||
gboolean ask_ignore_list_reply_to;
|
||||
gboolean ask_list_reply_to;
|
||||
@ -1313,9 +1325,9 @@ action_mail_reply_sender_check (CamelFolder *folder,
|
||||
gtk_widget_destroy (dialog);
|
||||
|
||||
if (response == GTK_RESPONSE_YES)
|
||||
mode = REPLY_MODE_ALL;
|
||||
type = E_MAIL_REPLY_TO_ALL;
|
||||
else if (response == GTK_RESPONSE_OK)
|
||||
mode = REPLY_MODE_LIST;
|
||||
type = E_MAIL_REPLY_TO_LIST;
|
||||
else if (response == GTK_RESPONSE_CANCEL)
|
||||
goto exit;
|
||||
|
||||
@ -1363,14 +1375,14 @@ action_mail_reply_sender_check (CamelFolder *folder,
|
||||
gtk_widget_destroy (dialog);
|
||||
|
||||
if (response == GTK_RESPONSE_NO)
|
||||
mode = REPLY_MODE_FROM;
|
||||
type = E_MAIL_REPLY_TO_FROM;
|
||||
else if (response == GTK_RESPONSE_OK)
|
||||
mode = REPLY_MODE_LIST;
|
||||
type = E_MAIL_REPLY_TO_LIST;
|
||||
else if (response == GTK_RESPONSE_CANCEL)
|
||||
goto exit;
|
||||
}
|
||||
|
||||
e_mail_reader_reply_to_message (reader, message, mode);
|
||||
e_mail_reader_reply_to_message (reader, message, type);
|
||||
check_close_browser_reader (reader);
|
||||
|
||||
exit:
|
||||
@ -1426,7 +1438,7 @@ action_mail_reply_sender_cb (GtkAction *action,
|
||||
action_mail_reply_sender_check (NULL, NULL, message, reader);
|
||||
return;
|
||||
}
|
||||
e_mail_reader_reply_to_message (reader, NULL, REPLY_MODE_SENDER);
|
||||
e_mail_reader_reply_to_message (reader, NULL, E_MAIL_REPLY_TO_SENDER);
|
||||
check_close_browser_reader (reader);
|
||||
}
|
||||
|
||||
@ -3189,7 +3201,17 @@ mail_reader_init_charset_actions (EMailReader *reader)
|
||||
static void
|
||||
e_mail_reader_default_init (EMailReaderInterface *interface)
|
||||
{
|
||||
quark_private = g_quark_from_static_string ("EMailReader-private");
|
||||
quark_private = g_quark_from_static_string ("e-mail-reader-private");
|
||||
|
||||
/* Forward and reply styles are stored outside of the private
|
||||
* structure as a workaround for EMailShellContent, which loads
|
||||
* extensions long before the private structure is initialized,
|
||||
* and one of those extensions binds our "forward-style" and
|
||||
* "reply-style" properties to EShellSettings properties. */
|
||||
quark_forward_style =
|
||||
g_quark_from_static_string ("e-mail-reader-forward-style");
|
||||
quark_reply_style =
|
||||
g_quark_from_static_string ("e-mail-reader-reply-style");
|
||||
|
||||
interface->get_selected_uids = mail_reader_get_selected_uids;
|
||||
interface->get_folder = mail_reader_get_folder;
|
||||
@ -3200,6 +3222,16 @@ e_mail_reader_default_init (EMailReaderInterface *interface)
|
||||
interface->open_selected_mail = e_mail_reader_open_selected;
|
||||
interface->update_actions = mail_reader_update_actions;
|
||||
|
||||
g_object_interface_install_property (
|
||||
interface,
|
||||
g_param_spec_enum (
|
||||
"forward-style",
|
||||
"Forward Style",
|
||||
"How to forward messages",
|
||||
E_TYPE_MAIL_FORWARD_STYLE,
|
||||
E_MAIL_FORWARD_STYLE_ATTACHED,
|
||||
G_PARAM_READWRITE));
|
||||
|
||||
g_object_interface_install_property (
|
||||
interface,
|
||||
g_param_spec_boolean (
|
||||
@ -3209,6 +3241,16 @@ e_mail_reader_default_init (EMailReaderInterface *interface)
|
||||
FALSE,
|
||||
G_PARAM_READWRITE));
|
||||
|
||||
g_object_interface_install_property (
|
||||
interface,
|
||||
g_param_spec_enum (
|
||||
"reply-style",
|
||||
"Reply Style",
|
||||
"How to reply to messages",
|
||||
E_TYPE_MAIL_REPLY_STYLE,
|
||||
E_MAIL_REPLY_STYLE_QUOTED,
|
||||
G_PARAM_READWRITE));
|
||||
|
||||
signals[CHANGED] = g_signal_new (
|
||||
"changed",
|
||||
G_OBJECT_CLASS_TYPE (interface),
|
||||
@ -3913,6 +3955,29 @@ e_mail_reader_open_selected_mail (EMailReader *reader)
|
||||
return interface->open_selected_mail (reader);
|
||||
}
|
||||
|
||||
EMailForwardStyle
|
||||
e_mail_reader_get_forward_style (EMailReader *reader)
|
||||
{
|
||||
g_return_val_if_fail (E_IS_MAIL_READER (reader), 0);
|
||||
|
||||
return (EMailForwardStyle)
|
||||
GPOINTER_TO_INT (g_object_get_qdata (
|
||||
G_OBJECT (reader), quark_forward_style));
|
||||
}
|
||||
|
||||
void
|
||||
e_mail_reader_set_forward_style (EMailReader *reader,
|
||||
EMailForwardStyle style)
|
||||
{
|
||||
g_return_if_fail (E_IS_MAIL_READER (reader));
|
||||
|
||||
g_object_set_qdata (
|
||||
G_OBJECT (reader), quark_forward_style,
|
||||
GINT_TO_POINTER (style));
|
||||
|
||||
g_object_notify (G_OBJECT (reader), "forward-style");
|
||||
}
|
||||
|
||||
gboolean
|
||||
e_mail_reader_get_group_by_threads (EMailReader *reader)
|
||||
{
|
||||
@ -3949,6 +4014,29 @@ e_mail_reader_set_group_by_threads (EMailReader *reader,
|
||||
g_object_notify (G_OBJECT (reader), "group-by-threads");
|
||||
}
|
||||
|
||||
EMailReplyStyle
|
||||
e_mail_reader_get_reply_style (EMailReader *reader)
|
||||
{
|
||||
g_return_val_if_fail (E_IS_MAIL_READER (reader), 0);
|
||||
|
||||
return (EMailReplyStyle)
|
||||
GPOINTER_TO_INT (g_object_get_qdata (
|
||||
G_OBJECT (reader), quark_reply_style));
|
||||
}
|
||||
|
||||
void
|
||||
e_mail_reader_set_reply_style (EMailReader *reader,
|
||||
EMailReplyStyle style)
|
||||
{
|
||||
g_return_if_fail (E_IS_MAIL_READER (reader));
|
||||
|
||||
g_object_set_qdata (
|
||||
G_OBJECT (reader), quark_reply_style,
|
||||
GINT_TO_POINTER (style));
|
||||
|
||||
g_object_notify (G_OBJECT (reader), "reply-style");
|
||||
}
|
||||
|
||||
void
|
||||
e_mail_reader_create_charset_menu (EMailReader *reader,
|
||||
GtkUIManager *ui_manager,
|
||||
|
||||
@ -139,11 +139,18 @@ void e_mail_reader_set_folder_uri (EMailReader *reader,
|
||||
const gchar *folder_uri);
|
||||
void e_mail_reader_set_message (EMailReader *reader,
|
||||
const gchar *uid);
|
||||
EMailForwardStyle
|
||||
e_mail_reader_get_forward_style (EMailReader *reader);
|
||||
void e_mail_reader_set_forward_style (EMailReader *reader,
|
||||
EMailForwardStyle style);
|
||||
gboolean e_mail_reader_get_group_by_threads
|
||||
(EMailReader *reader);
|
||||
void e_mail_reader_set_group_by_threads
|
||||
(EMailReader *reader,
|
||||
gboolean group_by_threads);
|
||||
EMailReplyStyle e_mail_reader_get_reply_style (EMailReader *reader);
|
||||
void e_mail_reader_set_reply_style (EMailReader *reader,
|
||||
EMailReplyStyle style);
|
||||
void e_mail_reader_create_charset_menu
|
||||
(EMailReader *reader,
|
||||
GtkUIManager *ui_manager,
|
||||
|
||||
@ -71,6 +71,7 @@
|
||||
#define GCONF_KEY_TEMPLATE_PLACEHOLDERS "/apps/evolution/mail/template_placeholders"
|
||||
|
||||
typedef struct _AsyncContext AsyncContext;
|
||||
typedef struct _ForwardData ForwardData;
|
||||
|
||||
struct _AsyncContext {
|
||||
CamelMimeMessage *message;
|
||||
@ -80,6 +81,14 @@ struct _AsyncContext {
|
||||
gchar *message_uid;
|
||||
};
|
||||
|
||||
struct _ForwardData {
|
||||
EShell *shell;
|
||||
CamelFolder *folder;
|
||||
GPtrArray *uids;
|
||||
gchar *from_uri;
|
||||
EMailForwardStyle style;
|
||||
};
|
||||
|
||||
static void
|
||||
async_context_free (AsyncContext *context)
|
||||
{
|
||||
@ -98,6 +107,23 @@ async_context_free (AsyncContext *context)
|
||||
g_slice_free (AsyncContext, context);
|
||||
}
|
||||
|
||||
static void
|
||||
forward_data_free (ForwardData *data)
|
||||
{
|
||||
if (data->shell != NULL)
|
||||
g_object_unref (data->shell);
|
||||
|
||||
if (data->folder != NULL)
|
||||
g_object_unref (data->folder);
|
||||
|
||||
if (data->uids != NULL)
|
||||
em_utils_uids_free (data->uids);
|
||||
|
||||
g_free (data->from_uri);
|
||||
|
||||
g_slice_free (ForwardData, data);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
ask_confirm_for_unwanted_html_mail (EMsgComposer *composer, EDestination **recipients)
|
||||
{
|
||||
@ -1194,15 +1220,6 @@ emu_update_composers_security (EMsgComposer *composer, guint32 validity_found)
|
||||
}
|
||||
}
|
||||
|
||||
/* Forwarding messages... */
|
||||
struct forward_attached_data
|
||||
{
|
||||
EShell *shell;
|
||||
CamelFolder *folder;
|
||||
GPtrArray *uids;
|
||||
gchar *from_uri;
|
||||
};
|
||||
|
||||
static void
|
||||
real_update_forwarded_flag (gpointer uid, gpointer folder)
|
||||
{
|
||||
@ -1213,44 +1230,40 @@ real_update_forwarded_flag (gpointer uid, gpointer folder)
|
||||
}
|
||||
|
||||
static void
|
||||
update_forwarded_flags_cb (EMsgComposer *composer, gpointer user_data)
|
||||
update_forwarded_flags_cb (EMsgComposer *composer,
|
||||
ForwardData *data)
|
||||
{
|
||||
struct forward_attached_data *fad = (struct forward_attached_data *) user_data;
|
||||
|
||||
if (fad && fad->uids && fad->folder)
|
||||
g_ptr_array_foreach (fad->uids, real_update_forwarded_flag, fad->folder);
|
||||
if (data && data->uids && data->folder)
|
||||
g_ptr_array_foreach (
|
||||
data->uids, real_update_forwarded_flag, data->folder);
|
||||
}
|
||||
|
||||
static void
|
||||
composer_destroy_fad_cb (gpointer user_data, GObject *deadbeef)
|
||||
setup_forward_attached_callbacks (EMsgComposer *composer,
|
||||
CamelFolder *folder,
|
||||
GPtrArray *uids)
|
||||
{
|
||||
struct forward_attached_data *fad = (struct forward_attached_data*) user_data;
|
||||
|
||||
if (fad) {
|
||||
g_object_unref (fad->folder);
|
||||
em_utils_uids_free (fad->uids);
|
||||
g_free (fad);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
setup_forward_attached_callbacks (EMsgComposer *composer, CamelFolder *folder, GPtrArray *uids)
|
||||
{
|
||||
struct forward_attached_data *fad;
|
||||
ForwardData *data;
|
||||
|
||||
if (!composer || !folder || !uids || !uids->len)
|
||||
return;
|
||||
|
||||
g_object_ref (folder);
|
||||
|
||||
fad = g_new0 (struct forward_attached_data, 1);
|
||||
fad->folder = folder;
|
||||
fad->uids = em_utils_uids_copy (uids);
|
||||
data = g_slice_new0 (ForwardData);
|
||||
data->folder = g_object_ref (folder);
|
||||
data->uids = em_utils_uids_copy (uids);
|
||||
|
||||
g_signal_connect (composer, "send", G_CALLBACK (update_forwarded_flags_cb), fad);
|
||||
g_signal_connect (composer, "save-draft", G_CALLBACK (update_forwarded_flags_cb), fad);
|
||||
g_signal_connect (
|
||||
composer, "send",
|
||||
G_CALLBACK (update_forwarded_flags_cb), data);
|
||||
g_signal_connect (
|
||||
composer, "save-draft",
|
||||
G_CALLBACK (update_forwarded_flags_cb), data);
|
||||
|
||||
g_object_weak_ref ((GObject *) composer, (GWeakNotify) composer_destroy_fad_cb, fad);
|
||||
g_object_set_data_full (
|
||||
G_OBJECT (composer), "forward-data", data,
|
||||
(GDestroyNotify) forward_data_free);
|
||||
}
|
||||
|
||||
static EMsgComposer *
|
||||
@ -1287,49 +1300,14 @@ forward_attached_cb (CamelFolder *folder,
|
||||
gchar *subject,
|
||||
gpointer user_data)
|
||||
{
|
||||
struct forward_attached_data *fad = user_data;
|
||||
ForwardData *data = user_data;
|
||||
|
||||
if (part)
|
||||
forward_attached (
|
||||
fad->shell, folder, fad->uids,
|
||||
messages, part, subject, fad->from_uri);
|
||||
data->shell, folder, data->uids,
|
||||
messages, part, subject, data->from_uri);
|
||||
|
||||
g_object_unref (fad->shell);
|
||||
g_free (fad->from_uri);
|
||||
g_free (fad);
|
||||
}
|
||||
|
||||
/**
|
||||
* em_utils_forward_attached:
|
||||
* @shell: an #EShell
|
||||
* @folder: folder containing messages to forward
|
||||
* @uids: uids of messages to forward
|
||||
* @from_uri: from folder uri
|
||||
*
|
||||
* If there is more than a single message in @uids, a multipart/digest
|
||||
* will be constructed and attached to a new composer window preset
|
||||
* with the appropriate header defaults for forwarding the first
|
||||
* message in the list. If only one message is to be forwarded, it is
|
||||
* forwarded as a simple message/rfc822 attachment.
|
||||
**/
|
||||
void
|
||||
em_utils_forward_attached (EShell *shell,
|
||||
CamelFolder *folder,
|
||||
GPtrArray *uids,
|
||||
const gchar *from_uri)
|
||||
{
|
||||
struct forward_attached_data *fad;
|
||||
|
||||
g_return_if_fail (E_IS_SHELL (shell));
|
||||
g_return_if_fail (CAMEL_IS_FOLDER (folder));
|
||||
g_return_if_fail (uids != NULL);
|
||||
|
||||
fad = g_new0 (struct forward_attached_data, 1);
|
||||
fad->shell = g_object_ref (shell);
|
||||
fad->uids = uids;
|
||||
fad->from_uri = g_strdup (from_uri);
|
||||
|
||||
mail_build_attachment (folder, uids, forward_attached_cb, fad);
|
||||
forward_data_free (data);
|
||||
}
|
||||
|
||||
static EMsgComposer *
|
||||
@ -1393,133 +1371,33 @@ forward_non_attached (EShell *shell,
|
||||
return composer;
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
EShell *shell;
|
||||
gchar *from_uri;
|
||||
} ForwardData;
|
||||
|
||||
static void
|
||||
forward_inline_cb (CamelFolder *folder,
|
||||
GPtrArray *uids,
|
||||
GPtrArray *messages,
|
||||
gpointer user_data)
|
||||
{
|
||||
ForwardData *data = user_data;
|
||||
|
||||
forward_non_attached (
|
||||
data->shell, folder, uids, messages,
|
||||
E_MAIL_FORWARD_STYLE_INLINE, data->from_uri);
|
||||
|
||||
g_free (data->from_uri);
|
||||
g_object_unref (data->shell);
|
||||
g_slice_free (ForwardData, data);
|
||||
}
|
||||
|
||||
/**
|
||||
* em_utils_forward_inline:
|
||||
* @shell: an #EShell
|
||||
* @folder: folder containing messages to forward
|
||||
* @uids: uids of messages to forward
|
||||
* @from_uri: from folder/account uri
|
||||
*
|
||||
* Forwards each message in the 'inline' form, each in its own composer window.
|
||||
**/
|
||||
void
|
||||
em_utils_forward_inline (EShell *shell,
|
||||
CamelFolder *folder,
|
||||
GPtrArray *uids,
|
||||
const gchar *from_uri)
|
||||
{
|
||||
ForwardData *data;
|
||||
|
||||
g_return_if_fail (E_IS_SHELL (shell));
|
||||
g_return_if_fail (CAMEL_IS_FOLDER (folder));
|
||||
g_return_if_fail (uids != NULL);
|
||||
|
||||
data = g_slice_new (ForwardData);
|
||||
data->shell = g_object_ref (shell);
|
||||
data->from_uri = g_strdup (from_uri);
|
||||
|
||||
mail_get_messages (folder, uids, forward_inline_cb, data);
|
||||
}
|
||||
|
||||
static void
|
||||
forward_quoted_cb (CamelFolder *folder,
|
||||
GPtrArray *uids,
|
||||
GPtrArray *messages,
|
||||
gpointer user_data)
|
||||
{
|
||||
ForwardData *data = user_data;
|
||||
|
||||
forward_non_attached (
|
||||
data->shell, folder, uids, messages,
|
||||
E_MAIL_FORWARD_STYLE_QUOTED, data->from_uri);
|
||||
|
||||
g_free (data->from_uri);
|
||||
g_object_unref (data->shell);
|
||||
g_slice_free (ForwardData, data);
|
||||
}
|
||||
|
||||
/**
|
||||
* em_utils_forward_quoted:
|
||||
* @shell: an #EShell
|
||||
* @folder: folder containing messages to forward
|
||||
* @uids: uids of messages to forward
|
||||
* @from_uri: from folder uri
|
||||
*
|
||||
* Forwards each message in the 'quoted' form (each line starting with
|
||||
* a "> "), each in its own composer window.
|
||||
**/
|
||||
void
|
||||
em_utils_forward_quoted (EShell *shell,
|
||||
CamelFolder *folder,
|
||||
GPtrArray *uids,
|
||||
const gchar *from_uri)
|
||||
{
|
||||
ForwardData *data;
|
||||
|
||||
g_return_if_fail (E_IS_SHELL (shell));
|
||||
g_return_if_fail (CAMEL_IS_FOLDER (folder));
|
||||
g_return_if_fail (uids != NULL);
|
||||
|
||||
data = g_slice_new (ForwardData);
|
||||
data->shell = g_object_ref (shell);
|
||||
data->from_uri = g_strdup (from_uri);
|
||||
|
||||
mail_get_messages (folder, uids, forward_quoted_cb, data);
|
||||
}
|
||||
|
||||
/**
|
||||
* em_utils_forward_message:
|
||||
* @shell: an #EShell
|
||||
* @message: message to be forwarded
|
||||
* @from_uri: from folder uri
|
||||
* @style: the forward style to use
|
||||
*
|
||||
* Forwards a message in the user's configured default style.
|
||||
* Forwards a message in the given style. See em_utils_forward_messages()
|
||||
* for more details about forwarding styles.
|
||||
**/
|
||||
EMsgComposer *
|
||||
em_utils_forward_message (EShell *shell,
|
||||
CamelMimeMessage *message,
|
||||
const gchar *from_uri)
|
||||
const gchar *from_uri,
|
||||
EMailForwardStyle style)
|
||||
{
|
||||
GPtrArray *messages;
|
||||
CamelMimePart *part;
|
||||
GConfClient *client;
|
||||
const gchar *key;
|
||||
gchar *subject;
|
||||
EMailForwardStyle style;
|
||||
EMsgComposer *composer = NULL;
|
||||
|
||||
g_return_val_if_fail (E_IS_SHELL (shell), NULL);
|
||||
g_return_val_if_fail (CAMEL_IS_MIME_MESSAGE (message), NULL);
|
||||
|
||||
messages = g_ptr_array_new ();
|
||||
g_ptr_array_add (messages, message);
|
||||
|
||||
client = gconf_client_get_default ();
|
||||
key = "/apps/evolution/mail/format/forward_style";
|
||||
style = gconf_client_get_int (client, key, NULL);
|
||||
g_object_unref (client);
|
||||
|
||||
switch (style) {
|
||||
case E_MAIL_FORWARD_STYLE_ATTACHED:
|
||||
default:
|
||||
@ -1552,43 +1430,75 @@ em_utils_forward_message (EShell *shell,
|
||||
return composer;
|
||||
}
|
||||
|
||||
static void
|
||||
forward_got_messages_cb (CamelFolder *folder,
|
||||
GPtrArray *uids,
|
||||
GPtrArray *messages,
|
||||
gpointer user_data)
|
||||
{
|
||||
ForwardData *data = user_data;
|
||||
|
||||
forward_non_attached (
|
||||
data->shell, folder, uids, messages,
|
||||
data->style, data->from_uri);
|
||||
|
||||
forward_data_free (data);
|
||||
}
|
||||
|
||||
/**
|
||||
* em_utils_forward_messages:
|
||||
* @shell: an #EShell
|
||||
* @folder: folder containing messages to forward
|
||||
* @uids: uids of messages to forward
|
||||
* @style: the forward style to use
|
||||
*
|
||||
* Forwards a group of messages in the user's configured default
|
||||
* style.
|
||||
* Forwards a group of messages in the given style.
|
||||
*
|
||||
* If @style is #E_MAIL_FORWARD_STYLE_ATTACHED, the new message is
|
||||
* created as follows. If there is more than a single message in @uids,
|
||||
* a multipart/digest will be constructed and attached to a new composer
|
||||
* window preset with the appropriate header defaults for forwarding the
|
||||
* first message in the list. If only one message is to be forwarded,
|
||||
* it is forwarded as a simple message/rfc822 attachment.
|
||||
*
|
||||
* If @style is #E_MAIL_FORWARD_STYLE_INLINE, each message is forwarded
|
||||
* in its own composer window in 'inline' form.
|
||||
*
|
||||
* If @style is #E_MAIL_FORWARD_STYLE_QUOTED, each message is forwarded
|
||||
* in its own composer window in 'quoted' form (each line starting with
|
||||
* a "> ").
|
||||
**/
|
||||
void
|
||||
em_utils_forward_messages (EShell *shell,
|
||||
CamelFolder *folder,
|
||||
GPtrArray *uids,
|
||||
const gchar *from_uri)
|
||||
const gchar *from_uri,
|
||||
EMailForwardStyle style)
|
||||
{
|
||||
GConfClient *client;
|
||||
const gchar *key;
|
||||
EMailForwardStyle style;
|
||||
ForwardData *data;
|
||||
|
||||
g_return_if_fail (E_IS_SHELL (shell));
|
||||
|
||||
client = gconf_client_get_default ();
|
||||
key = "/apps/evolution/mail/format/forward_style";
|
||||
style = gconf_client_get_int (client, key, NULL);
|
||||
g_object_unref (client);
|
||||
data = g_slice_new0 (ForwardData);
|
||||
data->shell = g_object_ref (shell);
|
||||
data->uids = em_utils_uids_copy (uids);
|
||||
data->from_uri = g_strdup (from_uri);
|
||||
data->style = style;
|
||||
|
||||
switch (style) {
|
||||
case E_MAIL_FORWARD_STYLE_ATTACHED:
|
||||
default:
|
||||
em_utils_forward_attached (shell, folder, uids, from_uri);
|
||||
mail_build_attachment (
|
||||
folder, uids, forward_attached_cb, data);
|
||||
break;
|
||||
|
||||
case E_MAIL_FORWARD_STYLE_INLINE:
|
||||
em_utils_forward_inline (shell, folder, uids, from_uri);
|
||||
break;
|
||||
case E_MAIL_FORWARD_STYLE_QUOTED:
|
||||
em_utils_forward_quoted (shell, folder, uids, from_uri);
|
||||
mail_get_messages (
|
||||
folder, uids, forward_got_messages_cb, data);
|
||||
break;
|
||||
|
||||
default:
|
||||
g_return_if_reached ();
|
||||
}
|
||||
}
|
||||
|
||||
@ -2457,7 +2367,10 @@ attribution_format (const gchar *format, CamelMimeMessage *message)
|
||||
}
|
||||
|
||||
static void
|
||||
composer_set_body (EMsgComposer *composer, CamelMimeMessage *message, EMFormat *source)
|
||||
composer_set_body (EMsgComposer *composer,
|
||||
CamelMimeMessage *message,
|
||||
EMailReplyStyle style,
|
||||
EMFormat *source)
|
||||
{
|
||||
gchar *text, *credits;
|
||||
CamelMimePart *part;
|
||||
@ -2466,16 +2379,12 @@ composer_set_body (EMsgComposer *composer, CamelMimeMessage *message, EMFormat *
|
||||
gboolean start_bottom;
|
||||
guint32 validity_found = 0;
|
||||
const gchar *key;
|
||||
EMailReplyStyle style;
|
||||
|
||||
client = gconf_client_get_default ();
|
||||
|
||||
key = "/apps/evolution/mail/composer/reply_start_bottom";
|
||||
start_bottom = gconf_client_get_bool (client, key, NULL);
|
||||
|
||||
key = "/apps/evolution/mail/format/reply_style";
|
||||
style = gconf_client_get_int (client, key, NULL);
|
||||
|
||||
switch (style) {
|
||||
case E_MAIL_REPLY_STYLE_DO_NOT_QUOTE:
|
||||
/* do nothing */
|
||||
@ -2527,7 +2436,8 @@ composer_set_body (EMsgComposer *composer, CamelMimeMessage *message, EMFormat *
|
||||
struct _reply_data {
|
||||
EShell *shell;
|
||||
EMFormat *source;
|
||||
gint mode;
|
||||
EMailReplyType reply_type;
|
||||
EMailReplyStyle reply_style;
|
||||
};
|
||||
|
||||
gchar *
|
||||
@ -2557,7 +2467,8 @@ reply_to_message (CamelFolder *folder,
|
||||
an extra ref for em_utils_reply_to_message () to drop. */
|
||||
g_object_ref (message);
|
||||
em_utils_reply_to_message (
|
||||
rd->shell, folder, uid, message, rd->mode, rd->source);
|
||||
rd->shell, folder, uid, message,
|
||||
rd->reply_type, rd->reply_style, rd->source);
|
||||
}
|
||||
|
||||
if (rd->shell != NULL)
|
||||
@ -2575,7 +2486,8 @@ reply_to_message (CamelFolder *folder,
|
||||
* @folder: optional folder
|
||||
* @uid: optional uid
|
||||
* @message: message to reply to, optional
|
||||
* @mode: reply mode
|
||||
* @type: the type of reply to create
|
||||
* @style: the reply style to use
|
||||
* @source: source to inherit view settings from
|
||||
*
|
||||
* Creates a new composer ready to reply to @message.
|
||||
@ -2592,7 +2504,8 @@ em_utils_reply_to_message (EShell *shell,
|
||||
CamelFolder *folder,
|
||||
const gchar *uid,
|
||||
CamelMimeMessage *message,
|
||||
gint mode,
|
||||
EMailReplyType type,
|
||||
EMailReplyStyle style,
|
||||
EMFormat *source)
|
||||
{
|
||||
CamelInternetAddress *to, *cc;
|
||||
@ -2607,7 +2520,8 @@ em_utils_reply_to_message (EShell *shell,
|
||||
struct _reply_data *rd = g_malloc0 (sizeof (*rd));
|
||||
|
||||
rd->shell = g_object_ref (shell);
|
||||
rd->mode = mode;
|
||||
rd->reply_type = type;
|
||||
rd->reply_style = style;
|
||||
rd->source = source;
|
||||
if (rd->source)
|
||||
g_object_ref (rd->source);
|
||||
@ -2626,25 +2540,25 @@ em_utils_reply_to_message (EShell *shell,
|
||||
account = em_utils_guess_account_with_recipients (message, folder);
|
||||
flags = CAMEL_MESSAGE_ANSWERED | CAMEL_MESSAGE_SEEN;
|
||||
|
||||
switch (mode) {
|
||||
case REPLY_MODE_FROM:
|
||||
switch (type) {
|
||||
case E_MAIL_REPLY_TO_FROM:
|
||||
if (folder)
|
||||
postto = camel_nntp_address_new ();
|
||||
|
||||
get_reply_from (message, to, postto);
|
||||
break;
|
||||
case REPLY_MODE_SENDER:
|
||||
case E_MAIL_REPLY_TO_SENDER:
|
||||
if (folder)
|
||||
postto = camel_nntp_address_new ();
|
||||
|
||||
get_reply_sender (message, to, postto);
|
||||
break;
|
||||
case REPLY_MODE_LIST:
|
||||
case E_MAIL_REPLY_TO_LIST:
|
||||
flags |= CAMEL_MESSAGE_ANSWERED_ALL;
|
||||
if (get_reply_list (message, to))
|
||||
break;
|
||||
/* falls through */
|
||||
case REPLY_MODE_ALL:
|
||||
case E_MAIL_REPLY_TO_ALL:
|
||||
flags |= CAMEL_MESSAGE_ANSWERED_ALL;
|
||||
if (folder)
|
||||
postto = camel_nntp_address_new ();
|
||||
@ -2662,7 +2576,7 @@ em_utils_reply_to_message (EShell *shell,
|
||||
g_object_unref (to);
|
||||
g_object_unref (cc);
|
||||
|
||||
composer_set_body (composer, message, source);
|
||||
composer_set_body (composer, message, style, source);
|
||||
|
||||
g_object_unref (message);
|
||||
|
||||
|
||||
@ -21,10 +21,11 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __EM_COMPOSER_UTILS_H__
|
||||
#define __EM_COMPOSER_UTILS_H__
|
||||
#ifndef EM_COMPOSER_UTILS_H
|
||||
#define EM_COMPOSER_UTILS_H
|
||||
|
||||
#include <em-format/em-format.h>
|
||||
#include <mail/e-mail-enums.h>
|
||||
#include <mail/e-mail-session.h>
|
||||
#include <composer/e-msg-composer.h>
|
||||
|
||||
@ -43,25 +44,15 @@ void em_utils_edit_messages (EShell *shell,
|
||||
CamelFolder *folder,
|
||||
GPtrArray *uids,
|
||||
gboolean replace);
|
||||
void em_utils_forward_attached (EShell *shell,
|
||||
CamelFolder *folder,
|
||||
GPtrArray *uids,
|
||||
const gchar *from_uri);
|
||||
void em_utils_forward_inline (EShell *shell,
|
||||
CamelFolder *folder,
|
||||
GPtrArray *uids,
|
||||
const gchar *from_uri);
|
||||
void em_utils_forward_quoted (EShell *shell,
|
||||
CamelFolder *folder,
|
||||
GPtrArray *uids,
|
||||
const gchar *from_uri);
|
||||
EMsgComposer * em_utils_forward_message (EShell *shell,
|
||||
CamelMimeMessage *msg,
|
||||
const gchar *from_uri);
|
||||
const gchar *from_uri,
|
||||
EMailForwardStyle style);
|
||||
void em_utils_forward_messages (EShell *shell,
|
||||
CamelFolder *folder,
|
||||
GPtrArray *uids,
|
||||
const gchar *from_uri);
|
||||
const gchar *from_uri,
|
||||
EMailForwardStyle style);
|
||||
void em_utils_redirect_message (EShell *shell,
|
||||
CamelMimeMessage *message);
|
||||
void em_utils_redirect_message_by_uid (EShell *shell,
|
||||
@ -74,23 +65,28 @@ void em_utils_handle_receipt (EMailSession *session,
|
||||
void em_utils_send_receipt (EMailSession *session,
|
||||
CamelFolder *folder,
|
||||
CamelMimeMessage *message);
|
||||
|
||||
enum {
|
||||
REPLY_MODE_SENDER, /* Reply-To?:From */
|
||||
REPLY_MODE_FROM,
|
||||
REPLY_MODE_ALL,
|
||||
REPLY_MODE_LIST
|
||||
};
|
||||
|
||||
gchar *em_utils_construct_composer_text (CamelMimeMessage *message, EMFormat *source);
|
||||
gboolean em_utils_is_munged_list_message (CamelMimeMessage *message);
|
||||
void em_utils_get_reply_sender (CamelMimeMessage *message, CamelInternetAddress *to, CamelNNTPAddress *postto);
|
||||
void em_utils_get_reply_all (CamelMimeMessage *message, CamelInternetAddress *to, CamelInternetAddress *cc, CamelNNTPAddress *postto);
|
||||
EMsgComposer * em_utils_reply_to_message (EShell *shell, CamelFolder *, const gchar *uid, CamelMimeMessage *message, gint mode, EMFormat *source);
|
||||
EDestination ** em_utils_camel_address_to_destination (CamelInternetAddress *iaddr);
|
||||
|
||||
void em_configure_new_composer (struct _EMsgComposer *composer);
|
||||
gchar * em_utils_construct_composer_text
|
||||
(CamelMimeMessage *message,
|
||||
EMFormat *source);
|
||||
gboolean em_utils_is_munged_list_message (CamelMimeMessage *message);
|
||||
void em_utils_get_reply_sender (CamelMimeMessage *message,
|
||||
CamelInternetAddress *to,
|
||||
CamelNNTPAddress *postto);
|
||||
void em_utils_get_reply_all (CamelMimeMessage *message,
|
||||
CamelInternetAddress *to,
|
||||
CamelInternetAddress *cc,
|
||||
CamelNNTPAddress *postto);
|
||||
EMsgComposer * em_utils_reply_to_message (EShell *shell,
|
||||
CamelFolder *folder,
|
||||
const gchar *uid,
|
||||
CamelMimeMessage *message,
|
||||
EMailReplyType type,
|
||||
EMailReplyStyle style,
|
||||
EMFormat *source);
|
||||
EDestination ** em_utils_camel_address_to_destination
|
||||
(CamelInternetAddress *iaddr);
|
||||
void em_configure_new_composer (EMsgComposer *composer);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __EM_COMPOSER_UTILS_H__ */
|
||||
#endif /* EM_COMPOSER_UTILS_H */
|
||||
|
||||
@ -21,6 +21,8 @@ libevolution_module_mail_la_SOURCES = \
|
||||
e-mail-config-format-html.h \
|
||||
e-mail-config-hook.c \
|
||||
e-mail-config-hook.h \
|
||||
e-mail-config-reader.c \
|
||||
e-mail-config-reader.h \
|
||||
e-mail-config-web-view.c \
|
||||
e-mail-config-web-view.h \
|
||||
e-mail-event-hook.c \
|
||||
|
||||
@ -61,10 +61,13 @@ mail_attachment_handler_forward (GtkAction *action,
|
||||
EAttachmentHandler *handler)
|
||||
{
|
||||
EMailAttachmentHandlerPrivate *priv;
|
||||
EShellSettings *shell_settings;
|
||||
EAttachment *attachment;
|
||||
EAttachmentView *view;
|
||||
CamelMimePart *mime_part;
|
||||
CamelDataWrapper *wrapper;
|
||||
EMailForwardStyle style;
|
||||
const gchar *property_name;
|
||||
GList *selected;
|
||||
|
||||
view = e_attachment_handler_get_view (handler);
|
||||
@ -77,8 +80,12 @@ mail_attachment_handler_forward (GtkAction *action,
|
||||
mime_part = e_attachment_get_mime_part (attachment);
|
||||
wrapper = camel_medium_get_content (CAMEL_MEDIUM (mime_part));
|
||||
|
||||
property_name = "mail-forward-style";
|
||||
shell_settings = e_shell_get_shell_settings (priv->shell);
|
||||
style = e_shell_settings_get_int (shell_settings, property_name);
|
||||
|
||||
em_utils_forward_message (
|
||||
priv->shell, CAMEL_MIME_MESSAGE (wrapper), NULL);
|
||||
priv->shell, CAMEL_MIME_MESSAGE (wrapper), NULL, style);
|
||||
|
||||
g_list_foreach (selected, (GFunc) g_object_unref, NULL);
|
||||
g_list_free (selected);
|
||||
@ -89,10 +96,13 @@ mail_attachment_handler_reply_all (GtkAction *action,
|
||||
EAttachmentHandler *handler)
|
||||
{
|
||||
EMailAttachmentHandlerPrivate *priv;
|
||||
EShellSettings *shell_settings;
|
||||
EAttachment *attachment;
|
||||
EAttachmentView *view;
|
||||
CamelMimePart *mime_part;
|
||||
CamelDataWrapper *wrapper;
|
||||
EMailReplyStyle style;
|
||||
const gchar *property_name;
|
||||
GList *selected;
|
||||
|
||||
view = e_attachment_handler_get_view (handler);
|
||||
@ -105,9 +115,13 @@ mail_attachment_handler_reply_all (GtkAction *action,
|
||||
mime_part = e_attachment_get_mime_part (attachment);
|
||||
wrapper = camel_medium_get_content (CAMEL_MEDIUM (mime_part));
|
||||
|
||||
property_name = "mail-reply-style";
|
||||
shell_settings = e_shell_get_shell_settings (priv->shell);
|
||||
style = e_shell_settings_get_int (shell_settings, property_name);
|
||||
|
||||
em_utils_reply_to_message (
|
||||
priv->shell, NULL, NULL, CAMEL_MIME_MESSAGE (wrapper),
|
||||
REPLY_MODE_ALL, NULL);
|
||||
E_MAIL_REPLY_TO_ALL, style, NULL);
|
||||
|
||||
g_list_foreach (selected, (GFunc) g_object_unref, NULL);
|
||||
g_list_free (selected);
|
||||
@ -118,10 +132,13 @@ mail_attachment_handler_reply_sender (GtkAction *action,
|
||||
EAttachmentHandler *handler)
|
||||
{
|
||||
EMailAttachmentHandlerPrivate *priv;
|
||||
EShellSettings *shell_settings;
|
||||
EAttachment *attachment;
|
||||
EAttachmentView *view;
|
||||
CamelMimePart *mime_part;
|
||||
CamelDataWrapper *wrapper;
|
||||
EMailForwardStyle style;
|
||||
const gchar *property_name;
|
||||
GList *selected;
|
||||
|
||||
view = e_attachment_handler_get_view (handler);
|
||||
@ -134,9 +151,13 @@ mail_attachment_handler_reply_sender (GtkAction *action,
|
||||
mime_part = e_attachment_get_mime_part (attachment);
|
||||
wrapper = camel_medium_get_content (CAMEL_MEDIUM (mime_part));
|
||||
|
||||
property_name = "mail-reply-style";
|
||||
shell_settings = e_shell_get_shell_settings (priv->shell);
|
||||
style = e_shell_settings_get_int (shell_settings, property_name);
|
||||
|
||||
em_utils_reply_to_message (
|
||||
priv->shell, NULL, NULL, CAMEL_MIME_MESSAGE (wrapper),
|
||||
REPLY_MODE_SENDER, NULL);
|
||||
E_MAIL_REPLY_TO_SENDER, style, NULL);
|
||||
|
||||
g_list_foreach (selected, (GFunc) g_object_unref, NULL);
|
||||
g_list_free (selected);
|
||||
|
||||
80
modules/mail/e-mail-config-reader.c
Normal file
80
modules/mail/e-mail-config-reader.c
Normal file
@ -0,0 +1,80 @@
|
||||
/*
|
||||
* e-mail-config-reader.c
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) version 3.
|
||||
*
|
||||
* 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with the program; if not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
*/
|
||||
|
||||
#include "e-mail-config-reader.h"
|
||||
|
||||
#include <shell/e-shell.h>
|
||||
#include <e-util/e-extension.h>
|
||||
#include <mail/e-mail-reader.h>
|
||||
|
||||
static void
|
||||
mail_config_reader_constructed (GObject *object)
|
||||
{
|
||||
EExtension *extension;
|
||||
EExtensible *extensible;
|
||||
EShellSettings *shell_settings;
|
||||
EShell *shell;
|
||||
|
||||
extension = E_EXTENSION (object);
|
||||
extensible = e_extension_get_extensible (extension);
|
||||
|
||||
shell = e_shell_get_default ();
|
||||
shell_settings = e_shell_get_shell_settings (shell);
|
||||
|
||||
g_object_bind_property (
|
||||
shell_settings, "mail-forward-style",
|
||||
extensible, "forward-style",
|
||||
G_BINDING_SYNC_CREATE);
|
||||
|
||||
g_object_bind_property (
|
||||
shell_settings, "mail-reply-style",
|
||||
extensible, "reply-style",
|
||||
G_BINDING_SYNC_CREATE);
|
||||
}
|
||||
|
||||
static void
|
||||
mail_config_reader_class_init (EExtensionClass *class)
|
||||
{
|
||||
GObjectClass *object_class;
|
||||
|
||||
object_class = G_OBJECT_CLASS (class);
|
||||
object_class->constructed = mail_config_reader_constructed;
|
||||
|
||||
class->extensible_type = E_TYPE_MAIL_READER;
|
||||
}
|
||||
|
||||
void
|
||||
e_mail_config_reader_register_type (GTypeModule *type_module)
|
||||
{
|
||||
static const GTypeInfo type_info = {
|
||||
sizeof (EExtensionClass),
|
||||
(GBaseInitFunc) NULL,
|
||||
(GBaseFinalizeFunc) NULL,
|
||||
(GClassInitFunc) mail_config_reader_class_init,
|
||||
(GClassFinalizeFunc) NULL,
|
||||
NULL, /* class_data */
|
||||
sizeof (EExtension),
|
||||
0, /* n_preallocs */
|
||||
(GInstanceInitFunc) NULL,
|
||||
NULL /* value_table */
|
||||
};
|
||||
|
||||
g_type_module_register_type (
|
||||
type_module, E_TYPE_EXTENSION,
|
||||
"EMailConfigReader", &type_info, 0);
|
||||
}
|
||||
30
modules/mail/e-mail-config-reader.h
Normal file
30
modules/mail/e-mail-config-reader.h
Normal file
@ -0,0 +1,30 @@
|
||||
/*
|
||||
* e-mail-config-reader.h
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) version 3.
|
||||
*
|
||||
* 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with the program; if not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef E_MAIL_CONFIG_READER_H
|
||||
#define E_MAIL_CONFIG_READER_H
|
||||
|
||||
#include <glib-object.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
void e_mail_config_reader_register_type (GTypeModule *type_module);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* E_MAIL_CONFIG_READER_H */
|
||||
@ -236,6 +236,7 @@ mail_shell_backend_handle_email_uri_cb (gchar *folder_uri,
|
||||
gpointer user_data)
|
||||
{
|
||||
EShellBackend *shell_backend = user_data;
|
||||
EShellSettings *shell_settings;
|
||||
EMailBackend *backend;
|
||||
CamelURL *url = user_data;
|
||||
EShell *shell;
|
||||
@ -245,6 +246,7 @@ mail_shell_backend_handle_email_uri_cb (gchar *folder_uri,
|
||||
|
||||
backend = E_MAIL_BACKEND (shell_backend);
|
||||
shell = e_shell_backend_get_shell (shell_backend);
|
||||
shell_settings = e_shell_get_shell_settings (shell);
|
||||
|
||||
if (folder == NULL) {
|
||||
g_warning ("Could not open folder '%s'", folder_uri);
|
||||
@ -256,36 +258,42 @@ mail_shell_backend_handle_email_uri_cb (gchar *folder_uri,
|
||||
uid = camel_url_get_param (url, "uid");
|
||||
|
||||
if (reply != NULL) {
|
||||
gint mode;
|
||||
EMailReplyType reply_type;
|
||||
EMailReplyStyle reply_style;
|
||||
|
||||
if (g_strcmp0 (reply, "all") == 0)
|
||||
mode = REPLY_MODE_ALL;
|
||||
reply_type = E_MAIL_REPLY_TO_ALL;
|
||||
else if (g_strcmp0 (reply, "list") == 0)
|
||||
mode = REPLY_MODE_LIST;
|
||||
reply_type = E_MAIL_REPLY_TO_LIST;
|
||||
else
|
||||
mode = REPLY_MODE_SENDER;
|
||||
reply_type = E_MAIL_REPLY_TO_SENDER;
|
||||
|
||||
reply_style = e_shell_settings_get_int (
|
||||
shell_settings, "mail-reply-style");
|
||||
|
||||
em_utils_reply_to_message (
|
||||
shell, folder, uid, NULL, mode, NULL);
|
||||
shell, folder, uid, NULL,
|
||||
reply_type, reply_style, NULL);
|
||||
|
||||
} else if (forward != NULL) {
|
||||
EMailForwardStyle forward_style;
|
||||
GPtrArray *uids;
|
||||
|
||||
uids = g_ptr_array_new ();
|
||||
g_ptr_array_add (uids, g_strdup (uid));
|
||||
|
||||
if (g_strcmp0 (forward, "attached") == 0)
|
||||
em_utils_forward_attached (
|
||||
shell, folder, uids, folder_uri);
|
||||
forward_style = E_MAIL_FORWARD_STYLE_ATTACHED;
|
||||
else if (g_strcmp0 (forward, "inline") == 0)
|
||||
em_utils_forward_inline (
|
||||
shell, folder, uids, folder_uri);
|
||||
forward_style = E_MAIL_FORWARD_STYLE_INLINE;
|
||||
else if (g_strcmp0 (forward, "quoted") == 0)
|
||||
em_utils_forward_quoted (
|
||||
shell, folder, uids, folder_uri);
|
||||
forward_style = E_MAIL_FORWARD_STYLE_QUOTED;
|
||||
else
|
||||
em_utils_forward_messages (
|
||||
shell, folder, uids, folder_uri);
|
||||
forward_style = e_shell_settings_get_int (
|
||||
shell_settings, "mail-forward-style");
|
||||
|
||||
em_utils_forward_messages (
|
||||
shell, folder, uids, folder_uri, forward_style);
|
||||
|
||||
} else {
|
||||
GtkWidget *browser;
|
||||
|
||||
@ -53,21 +53,25 @@ struct _EMailShellContentPrivate {
|
||||
|
||||
enum {
|
||||
PROP_0,
|
||||
PROP_FORWARD_STYLE,
|
||||
PROP_GROUP_BY_THREADS,
|
||||
PROP_MAIL_VIEW
|
||||
PROP_MAIL_VIEW,
|
||||
PROP_REPLY_STYLE
|
||||
};
|
||||
|
||||
static gpointer parent_class;
|
||||
static GType mail_shell_content_type;
|
||||
|
||||
static void
|
||||
reconnect_changed_event (EMailReader *child, EMailReader *parent)
|
||||
reconnect_changed_event (EMailReader *child,
|
||||
EMailReader *parent)
|
||||
{
|
||||
g_signal_emit_by_name (parent, "changed");
|
||||
}
|
||||
|
||||
static void
|
||||
reconnect_folder_loaded_event (EMailReader *child, EMailReader *parent)
|
||||
reconnect_folder_loaded_event (EMailReader *child,
|
||||
EMailReader *parent)
|
||||
{
|
||||
g_signal_emit_by_name (parent, "folder-loaded");
|
||||
}
|
||||
@ -88,11 +92,23 @@ mail_shell_content_set_property (GObject *object,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
switch (property_id) {
|
||||
case PROP_FORWARD_STYLE:
|
||||
e_mail_reader_set_forward_style (
|
||||
E_MAIL_READER (object),
|
||||
g_value_get_enum (value));
|
||||
return;
|
||||
|
||||
case PROP_GROUP_BY_THREADS:
|
||||
e_mail_reader_set_group_by_threads (
|
||||
E_MAIL_READER (object),
|
||||
g_value_get_boolean (value));
|
||||
return;
|
||||
|
||||
case PROP_REPLY_STYLE:
|
||||
e_mail_reader_set_reply_style (
|
||||
E_MAIL_READER (object),
|
||||
g_value_get_enum (value));
|
||||
return;
|
||||
}
|
||||
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
||||
@ -105,6 +121,12 @@ mail_shell_content_get_property (GObject *object,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
switch (property_id) {
|
||||
case PROP_FORWARD_STYLE:
|
||||
g_value_set_enum (
|
||||
value, e_mail_reader_get_forward_style (
|
||||
E_MAIL_READER (object)));
|
||||
return;
|
||||
|
||||
case PROP_GROUP_BY_THREADS:
|
||||
g_value_set_boolean (
|
||||
value, e_mail_reader_get_group_by_threads (
|
||||
@ -116,6 +138,12 @@ mail_shell_content_get_property (GObject *object,
|
||||
value, e_mail_shell_content_get_mail_view (
|
||||
E_MAIL_SHELL_CONTENT (object)));
|
||||
return;
|
||||
|
||||
case PROP_REPLY_STYLE:
|
||||
g_value_set_enum (
|
||||
value, e_mail_reader_get_reply_style (
|
||||
E_MAIL_READER (object)));
|
||||
return;
|
||||
}
|
||||
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
||||
@ -181,7 +209,6 @@ mail_shell_content_constructed (GObject *object)
|
||||
g_signal_connect (
|
||||
widget, "folder-loaded",
|
||||
G_CALLBACK (reconnect_folder_loaded_event), object);
|
||||
|
||||
}
|
||||
|
||||
static guint32
|
||||
@ -375,6 +402,13 @@ mail_shell_content_class_init (EMailShellContentClass *class)
|
||||
shell_content_class->check_state = mail_shell_content_check_state;
|
||||
shell_content_class->focus_search_results = mail_shell_content_focus_search_results;
|
||||
|
||||
/* Inherited from EMailReader */
|
||||
g_object_class_override_property (
|
||||
object_class,
|
||||
PROP_FORWARD_STYLE,
|
||||
"forward-style");
|
||||
|
||||
/* Inherited from EMailReader */
|
||||
g_object_class_override_property (
|
||||
object_class,
|
||||
PROP_GROUP_BY_THREADS,
|
||||
@ -389,6 +423,12 @@ mail_shell_content_class_init (EMailShellContentClass *class)
|
||||
NULL,
|
||||
E_TYPE_MAIL_VIEW,
|
||||
G_PARAM_READABLE));
|
||||
|
||||
/* Inherited from EMailReader */
|
||||
g_object_class_override_property (
|
||||
object_class,
|
||||
PROP_REPLY_STYLE,
|
||||
"reply-style");
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
@ -144,7 +144,7 @@ e_mail_shell_settings_init (EShellBackend *shell_backend)
|
||||
"mail-force-message-limit",
|
||||
"/apps/evolution/mail/display/force_message_limit");
|
||||
|
||||
/* This value corresponds to MailConfigForwardStyle enum. */
|
||||
/* This value corresponds to the EMailForwardStyle enum. */
|
||||
e_shell_settings_install_property_for_key (
|
||||
"mail-forward-style",
|
||||
"/apps/evolution/mail/format/forward_style");
|
||||
@ -195,7 +195,7 @@ e_mail_shell_settings_init (EShellBackend *shell_backend)
|
||||
"mail-prompt-delete-in-vfolder",
|
||||
"/apps/evolution/mail/prompts/delete_in_vfolder");
|
||||
|
||||
/* This value corresponds to MailConfigReplyStyle enum,
|
||||
/* This value corresponds to the EMailReplyStyle enum,
|
||||
* but the ordering of the combo box items in preferences
|
||||
* has changed. We use transformation functions there. */
|
||||
e_shell_settings_install_property_for_key (
|
||||
|
||||
@ -31,6 +31,7 @@
|
||||
#include "e-mail-shell-view.h"
|
||||
|
||||
#include "e-mail-config-format-html.h"
|
||||
#include "e-mail-config-reader.h"
|
||||
#include "e-mail-config-web-view.h"
|
||||
|
||||
/* Module Entry Points */
|
||||
@ -55,6 +56,7 @@ e_module_load (GTypeModule *type_module)
|
||||
e_mail_shell_view_register_type (type_module);
|
||||
|
||||
e_mail_config_format_html_register_type (type_module);
|
||||
e_mail_config_reader_register_type (type_module);
|
||||
e_mail_config_web_view_register_type (type_module);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user