From 63849151cddae5c40bc77b27df8996b143b727d9 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Sun, 31 Oct 2010 21:19:21 -0400 Subject: EMailBrowser: Implement EAlertSink. --- mail/e-mail-browser.c | 102 +++++++++++++++++++++++++++++++------------------- 1 file changed, 64 insertions(+), 38 deletions(-) (limited to 'mail/e-mail-browser.c') diff --git a/mail/e-mail-browser.c b/mail/e-mail-browser.c index ed4d4c471c..5c8dba2635 100644 --- a/mail/e-mail-browser.c +++ b/mail/e-mail-browser.c @@ -26,9 +26,11 @@ #include "e-util/e-util.h" #include "e-util/e-plugin-ui.h" +#include "e-util/e-alert-dialog.h" #include "e-util/gconf-bridge.h" #include "shell/e-shell.h" #include "shell/e-shell-utils.h" +#include "widgets/misc/e-alert-bar.h" #include "widgets/misc/e-popup-action.h" #include "widgets/misc/e-preview-pane.h" @@ -57,6 +59,7 @@ struct _EMailBrowserPrivate { GtkWidget *main_menu; GtkWidget *main_toolbar; GtkWidget *message_list; + GtkWidget *alert_bar; GtkWidget *search_bar; GtkWidget *statusbar; @@ -99,6 +102,20 @@ static const gchar *ui = " " ""; +static void e_mail_browser_alert_sink_init + (EAlertSinkInterface *interface); +static void e_mail_browser_reader_init + (EMailReaderInterface *interface); + +G_DEFINE_TYPE_WITH_CODE ( + EMailBrowser, + e_mail_browser, + GTK_TYPE_WINDOW, + G_IMPLEMENT_INTERFACE ( + E_TYPE_ALERT_SINK, e_mail_browser_alert_sink_init) + G_IMPLEMENT_INTERFACE ( + E_TYPE_MAIL_READER, e_mail_browser_reader_init)) + static void action_close_cb (GtkAction *action, EMailBrowser *browser) @@ -492,6 +509,11 @@ mail_browser_dispose (GObject *object) priv->message_list = NULL; } + if (priv->alert_bar != NULL) { + g_object_unref (priv->alert_bar); + priv->alert_bar = NULL; + } + if (priv->search_bar != NULL) { g_object_unref (priv->search_bar); priv->search_bar = NULL; @@ -639,6 +661,11 @@ mail_browser_constructed (GObject *object) priv->main_toolbar = g_object_ref (widget); gtk_widget_show (widget); + widget = e_alert_bar_new (); + gtk_box_pack_start (GTK_BOX (container), widget, FALSE, FALSE, 0); + priv->alert_bar = g_object_ref (widget); + /* EAlertBar controls its own visibility. */ + gtk_widget_show (GTK_WIDGET (web_view)); widget = e_preview_pane_new (web_view); @@ -681,6 +708,34 @@ mail_browser_key_press_event (GtkWidget *widget, key_press_event (widget, event); } +static void +mail_browser_submit_alert (EAlertSink *alert_sink, + EAlert *alert) +{ + EMailBrowserPrivate *priv; + EAlertBar *alert_bar; + GtkWidget *dialog; + GtkWindow *parent; + + priv = E_MAIL_BROWSER_GET_PRIVATE (alert_sink); + + switch (e_alert_get_message_type (alert)) { + case GTK_MESSAGE_INFO: + case GTK_MESSAGE_WARNING: + case GTK_MESSAGE_ERROR: + alert_bar = E_ALERT_BAR (priv->alert_bar); + e_alert_bar_add_alert (alert_bar, alert); + break; + + default: + parent = GTK_WINDOW (alert_sink); + dialog = e_alert_dialog_new (parent, alert); + gtk_dialog_run (GTK_DIALOG (dialog)); + gtk_widget_destroy (dialog); + break; + } +} + static GtkActionGroup * mail_browser_get_action_group (EMailReader *reader) { @@ -790,7 +845,7 @@ mail_browser_show_search_bar (EMailReader *reader) } static void -mail_browser_class_init (EMailBrowserClass *class) +e_mail_browser_class_init (EMailBrowserClass *class) { GObjectClass *object_class; GtkWidgetClass *widget_class; @@ -858,7 +913,13 @@ mail_browser_class_init (EMailBrowserClass *class) } static void -mail_browser_interface_init (EMailReaderInterface *interface) +e_mail_browser_alert_sink_init (EAlertSinkInterface *interface) +{ + interface->submit_alert = mail_browser_submit_alert; +} + +static void +e_mail_browser_reader_init (EMailReaderInterface *interface) { interface->get_action_group = mail_browser_get_action_group; interface->get_backend = mail_browser_get_backend; @@ -872,7 +933,7 @@ mail_browser_interface_init (EMailReaderInterface *interface) } static void -mail_browser_init (EMailBrowser *browser) +e_mail_browser_init (EMailBrowser *browser) { GConfBridge *bridge; const gchar *prefix; @@ -889,41 +950,6 @@ mail_browser_init (EMailBrowser *browser) gtk_window_set_title (GTK_WINDOW (browser), _("Evolution")); } -GType -e_mail_browser_get_type (void) -{ - static GType type = 0; - - if (G_UNLIKELY (type == 0)) { - static const GTypeInfo type_info = { - sizeof (EMailBrowserClass), - (GBaseInitFunc) NULL, - (GBaseFinalizeFunc) NULL, - (GClassInitFunc) mail_browser_class_init, - (GClassFinalizeFunc) NULL, - NULL, /* class_data */ - sizeof (EMailBrowser), - 0, /* n_preallocs */ - (GInstanceInitFunc) mail_browser_init, - NULL /* value_table */ - }; - - static const GInterfaceInfo interface_info = { - (GInterfaceInitFunc) mail_browser_interface_init, - (GInterfaceFinalizeFunc) NULL, - NULL /* interface_data */ - }; - - type = g_type_register_static ( - GTK_TYPE_WINDOW, "EMailBrowser", &type_info, 0); - - g_type_add_interface_static ( - type, E_TYPE_MAIL_READER, &interface_info); - } - - return type; -} - GtkWidget * e_mail_browser_new (EMailBackend *backend) { -- cgit v1.2.3 From eb5f523bd7c3b297ce2d6321049aa4900729f098 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Sun, 31 Oct 2010 21:40:42 -0400 Subject: EMailReader: Add a get_alert_sink() method. --- mail/e-mail-browser.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'mail/e-mail-browser.c') diff --git a/mail/e-mail-browser.c b/mail/e-mail-browser.c index 5c8dba2635..72afe77318 100644 --- a/mail/e-mail-browser.c +++ b/mail/e-mail-browser.c @@ -746,6 +746,12 @@ mail_browser_get_action_group (EMailReader *reader) return priv->action_group; } +static EAlertSink * +mail_browser_get_alert_sink (EMailReader *reader) +{ + return E_ALERT_SINK (reader); +} + static EMailBackend * mail_browser_get_backend (EMailReader *reader) { @@ -922,6 +928,7 @@ static void e_mail_browser_reader_init (EMailReaderInterface *interface) { interface->get_action_group = mail_browser_get_action_group; + interface->get_alert_sink = mail_browser_get_alert_sink; interface->get_backend = mail_browser_get_backend; interface->get_formatter = mail_browser_get_formatter; interface->get_hide_deleted = mail_browser_get_hide_deleted; -- cgit v1.2.3 From 18b6c327835c614ab427d753247f9ffcb542b0cd Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Tue, 30 Nov 2010 08:38:24 +0100 Subject: Update actions in EMailBrowser on message select too --- mail/e-mail-browser.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'mail/e-mail-browser.c') diff --git a/mail/e-mail-browser.c b/mail/e-mail-browser.c index 72afe77318..0665ccec11 100644 --- a/mail/e-mail-browser.c +++ b/mail/e-mail-browser.c @@ -269,10 +269,12 @@ mail_browser_message_selected_cb (EMailBrowser *browser, EWebView *web_view; const gchar *title; + reader = E_MAIL_READER (browser); + e_mail_reader_update_actions (reader, e_mail_reader_check_state (reader)); + if (uid == NULL) return; - reader = E_MAIL_READER (browser); folder = e_mail_reader_get_folder (reader); formatter = e_mail_reader_get_formatter (reader); web_view = em_format_html_get_web_view (formatter); -- cgit v1.2.3 From a3ba231fcc2746e664a67c85d88eb49a64813989 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Tue, 9 Nov 2010 08:48:33 -0500 Subject: Drop backward-compatibility cruft. --- mail/e-mail-browser.c | 3 --- 1 file changed, 3 deletions(-) (limited to 'mail/e-mail-browser.c') diff --git a/mail/e-mail-browser.c b/mail/e-mail-browser.c index 0665ccec11..d46217e706 100644 --- a/mail/e-mail-browser.c +++ b/mail/e-mail-browser.c @@ -40,9 +40,6 @@ #include "mail/em-format-html-display.h" #include "mail/message-list.h" -/* backward-compatibility cruft */ -#include "e-util/gtk-compat.h" - #define E_MAIL_BROWSER_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE \ ((obj), E_TYPE_MAIL_BROWSER, EMailBrowserPrivate)) -- cgit v1.2.3 From 274697623e2a6749a3b173c28f4832d9e88019e3 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Sat, 12 Feb 2011 11:37:05 -0500 Subject: Remove NULL checks for GObject methods. As of GLib 2.28 all GObject virtual methods, including constructed(), are safe to chain up to unconditionally. Remove unnecessary checks. --- mail/e-mail-browser.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'mail/e-mail-browser.c') diff --git a/mail/e-mail-browser.c b/mail/e-mail-browser.c index d46217e706..750e84afd8 100644 --- a/mail/e-mail-browser.c +++ b/mail/e-mail-browser.c @@ -552,8 +552,7 @@ mail_browser_constructed (GObject *object) guint merge_id; /* Chain up to parent's constructed() method. */ - if (G_OBJECT_CLASS (parent_class)->constructed) - G_OBJECT_CLASS (parent_class)->constructed (object); + G_OBJECT_CLASS (parent_class)->constructed (object); priv = E_MAIL_BROWSER_GET_PRIVATE (object); -- cgit v1.2.3 From c003c99a75587ba39a45d164272760c33f9666b5 Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Fri, 25 Feb 2011 16:20:41 +0100 Subject: Bug #614480 - Avoid using G_TYPE_INSTANCE_GET_PRIVATE repeatedly --- mail/e-mail-browser.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) (limited to 'mail/e-mail-browser.c') diff --git a/mail/e-mail-browser.c b/mail/e-mail-browser.c index 750e84afd8..b1186aa945 100644 --- a/mail/e-mail-browser.c +++ b/mail/e-mail-browser.c @@ -40,10 +40,6 @@ #include "mail/em-format-html-display.h" #include "mail/message-list.h" -#define E_MAIL_BROWSER_GET_PRIVATE(obj) \ - (G_TYPE_INSTANCE_GET_PRIVATE \ - ((obj), E_TYPE_MAIL_BROWSER, EMailBrowserPrivate)) - #define MAIL_BROWSER_GCONF_PREFIX "/apps/evolution/mail/mail_browser" struct _EMailBrowserPrivate { @@ -465,7 +461,7 @@ mail_browser_dispose (GObject *object) { EMailBrowserPrivate *priv; - priv = E_MAIL_BROWSER_GET_PRIVATE (object); + priv = E_MAIL_BROWSER (object)->priv; if (priv->backend != NULL) { g_object_unref (priv->backend); @@ -554,7 +550,7 @@ mail_browser_constructed (GObject *object) /* Chain up to parent's constructed() method. */ G_OBJECT_CLASS (parent_class)->constructed (object); - priv = E_MAIL_BROWSER_GET_PRIVATE (object); + priv = E_MAIL_BROWSER (object)->priv; reader = E_MAIL_READER (object); backend = e_mail_reader_get_backend (reader); @@ -715,7 +711,7 @@ mail_browser_submit_alert (EAlertSink *alert_sink, GtkWidget *dialog; GtkWindow *parent; - priv = E_MAIL_BROWSER_GET_PRIVATE (alert_sink); + priv = E_MAIL_BROWSER (alert_sink)->priv; switch (e_alert_get_message_type (alert)) { case GTK_MESSAGE_INFO: @@ -739,7 +735,7 @@ mail_browser_get_action_group (EMailReader *reader) { EMailBrowserPrivate *priv; - priv = E_MAIL_BROWSER_GET_PRIVATE (reader); + priv = E_MAIL_BROWSER (reader)->priv; return priv->action_group; } @@ -755,7 +751,7 @@ mail_browser_get_backend (EMailReader *reader) { EMailBrowserPrivate *priv; - priv = E_MAIL_BROWSER_GET_PRIVATE (reader); + priv = E_MAIL_BROWSER (reader)->priv; return priv->backend; } @@ -775,7 +771,7 @@ mail_browser_get_formatter (EMailReader *reader) { EMailBrowserPrivate *priv; - priv = E_MAIL_BROWSER_GET_PRIVATE (reader); + priv = E_MAIL_BROWSER (reader)->priv; return EM_FORMAT_HTML (priv->formatter); } @@ -785,7 +781,7 @@ mail_browser_get_message_list (EMailReader *reader) { EMailBrowserPrivate *priv; - priv = E_MAIL_BROWSER_GET_PRIVATE (reader); + priv = E_MAIL_BROWSER (reader)->priv; return priv->message_list; } @@ -843,7 +839,7 @@ mail_browser_show_search_bar (EMailReader *reader) { EMailBrowserPrivate *priv; - priv = E_MAIL_BROWSER_GET_PRIVATE (reader); + priv = E_MAIL_BROWSER (reader)->priv; gtk_widget_show (priv->search_bar); } @@ -943,7 +939,7 @@ e_mail_browser_init (EMailBrowser *browser) GConfBridge *bridge; const gchar *prefix; - browser->priv = E_MAIL_BROWSER_GET_PRIVATE (browser); + browser->priv = G_TYPE_INSTANCE_GET_PRIVATE (browser, E_TYPE_MAIL_BROWSER, EMailBrowserPrivate); browser->priv->action_group = gtk_action_group_new ("mail-browser"); browser->priv->formatter = em_format_html_display_new (); -- cgit v1.2.3 From 7aacf983b32ecac26bc9707697da622b3ef164a3 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Sat, 5 Mar 2011 12:33:49 -0500 Subject: Coding style and whitespace cleanup. --- mail/e-mail-browser.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'mail/e-mail-browser.c') diff --git a/mail/e-mail-browser.c b/mail/e-mail-browser.c index b1186aa945..ba0c585f7b 100644 --- a/mail/e-mail-browser.c +++ b/mail/e-mail-browser.c @@ -939,7 +939,8 @@ e_mail_browser_init (EMailBrowser *browser) GConfBridge *bridge; const gchar *prefix; - browser->priv = G_TYPE_INSTANCE_GET_PRIVATE (browser, E_TYPE_MAIL_BROWSER, EMailBrowserPrivate); + browser->priv = G_TYPE_INSTANCE_GET_PRIVATE ( + browser, E_TYPE_MAIL_BROWSER, EMailBrowserPrivate); browser->priv->action_group = gtk_action_group_new ("mail-browser"); browser->priv->formatter = em_format_html_display_new (); -- cgit v1.2.3 From 7b71f8f18c283032a9edf2f2a191e2c693cb2a61 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Thu, 21 Apr 2011 07:44:26 -0400 Subject: Bug 648346 - Add style class to message browser toolbar --- mail/e-mail-browser.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'mail/e-mail-browser.c') diff --git a/mail/e-mail-browser.c b/mail/e-mail-browser.c index ba0c585f7b..e1aeed0abf 100644 --- a/mail/e-mail-browser.c +++ b/mail/e-mail-browser.c @@ -655,6 +655,10 @@ mail_browser_constructed (GObject *object) priv->main_toolbar = g_object_ref (widget); gtk_widget_show (widget); + gtk_style_context_add_class ( + gtk_widget_get_style_context (widget), + GTK_STYLE_CLASS_PRIMARY_TOOLBAR); + widget = e_alert_bar_new (); gtk_box_pack_start (GTK_BOX (container), widget, FALSE, FALSE, 0); priv->alert_bar = g_object_ref (widget); -- cgit v1.2.3 From 4542662853b2a7707f09a5428d3121d00faf93ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Vr=C3=A1til?= Date: Wed, 27 Apr 2011 17:42:49 +0200 Subject: Bug #303653 - Make headers collapsable in preview pane --- mail/e-mail-browser.c | 1 + 1 file changed, 1 insertion(+) (limited to 'mail/e-mail-browser.c') diff --git a/mail/e-mail-browser.c b/mail/e-mail-browser.c index e1aeed0abf..6866913ff4 100644 --- a/mail/e-mail-browser.c +++ b/mail/e-mail-browser.c @@ -30,6 +30,7 @@ #include "e-util/gconf-bridge.h" #include "shell/e-shell.h" #include "shell/e-shell-utils.h" +#include "shell/e-shell-settings.h" #include "widgets/misc/e-alert-bar.h" #include "widgets/misc/e-popup-action.h" #include "widgets/misc/e-preview-pane.h" -- cgit v1.2.3 From fb38e4a4ba22026cd4524ca6bb3c35bb2cdba0ef Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Mon, 16 May 2011 13:21:22 +0200 Subject: Bug #601541 - Add 'Copy Image' Option On Inline Email Images --- mail/e-mail-browser.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'mail/e-mail-browser.c') diff --git a/mail/e-mail-browser.c b/mail/e-mail-browser.c index 6866913ff4..900ba63052 100644 --- a/mail/e-mail-browser.c +++ b/mail/e-mail-browser.c @@ -311,6 +311,7 @@ mail_browser_popup_event_cb (EMailBrowser *browser, GdkEventButton *event, const gchar *uri) { + EMFormatHTML *html_formatter; EMailReader *reader; GtkMenu *menu; guint32 state; @@ -319,6 +320,11 @@ mail_browser_popup_event_cb (EMailBrowser *browser, return FALSE; reader = E_MAIL_READER (browser); + html_formatter = e_mail_reader_get_formatter (reader); + + if (html_formatter && e_web_view_get_cursor_image (em_format_html_get_web_view (html_formatter)) != NULL) + return FALSE; + menu = e_mail_reader_get_popup_menu (reader); state = e_mail_reader_check_state (reader); -- cgit v1.2.3 From 6fb8b27d3d847ab42aa5247a0a924912e1d4a2dd Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Fri, 20 May 2011 15:29:00 -0400 Subject: EMailReader: Support multiple action groups. Use an enum type to request different action groups. For now we just have E_MAIL_READER_ACTION_GROUP_STANDARD. EMailReader implementations should map the enum value to an appropriate GtkActionGroup. --- mail/e-mail-browser.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'mail/e-mail-browser.c') diff --git a/mail/e-mail-browser.c b/mail/e-mail-browser.c index 900ba63052..6e0a18ff21 100644 --- a/mail/e-mail-browser.c +++ b/mail/e-mail-browser.c @@ -742,13 +742,19 @@ mail_browser_submit_alert (EAlertSink *alert_sink, } static GtkActionGroup * -mail_browser_get_action_group (EMailReader *reader) +mail_browser_get_action_group (EMailReader *reader, + EMailReaderActionGroup group) { EMailBrowserPrivate *priv; priv = E_MAIL_BROWSER (reader)->priv; - return priv->action_group; + switch (group) { + case E_MAIL_READER_ACTION_GROUP_STANDARD: + return priv->action_group; + default: + g_return_val_if_reached (NULL); + } } static EAlertSink * -- cgit v1.2.3 From b1e34279d9a7f2e453fa3bbfd93856866aa4f5e4 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Fri, 20 May 2011 18:33:11 -0400 Subject: Bug 650587 - Hide Search Folder actions when Search Folders are disabled Add an action group for Search Folders to EMailReader. The action group's visibility is bound to the "mail-enable-search-folders" setting, so that menu items related to Search Folders are hidden when Search Folders are disabled in GConf. Affected menu items are: Edit -> Search Folders Message -> Create Rule -> Search Folder from Subject... Message -> Create Rule -> Search Folder from Sender... Message -> Create Rule -> Search Folder from Recipients... Message -> Create Rule -> Search Folder from Mailing List... Search -> Create Search Folder From Search... --- mail/e-mail-browser.c | 48 ++++++++++++++++++++++++++++++++---------------- 1 file changed, 32 insertions(+), 16 deletions(-) (limited to 'mail/e-mail-browser.c') diff --git a/mail/e-mail-browser.c b/mail/e-mail-browser.c index 6e0a18ff21..63bfb4d5b5 100644 --- a/mail/e-mail-browser.c +++ b/mail/e-mail-browser.c @@ -43,11 +43,13 @@ #define MAIL_BROWSER_GCONF_PREFIX "/apps/evolution/mail/mail_browser" +#define ACTION_GROUP_STANDARD "action-group-standard" +#define ACTION_GROUP_SEARCH_FOLDERS "action-group-search-folders" + struct _EMailBrowserPrivate { EMailBackend *backend; GtkUIManager *ui_manager; EFocusTracker *focus_tracker; - GtkActionGroup *action_group; EMFormatHTMLDisplay *formatter; GtkWidget *main_menu; @@ -485,11 +487,6 @@ mail_browser_dispose (GObject *object) priv->focus_tracker = NULL; } - if (priv->action_group != NULL) { - g_object_unref (priv->action_group); - priv->action_group = NULL; - } - if (priv->formatter != NULL) { g_object_unref (priv->formatter); priv->formatter = NULL; @@ -598,9 +595,11 @@ mail_browser_constructed (GObject *object) web_view, "status-message", G_CALLBACK (mail_browser_status_message_cb), object); + /* Add action groups before initializing the reader interface. */ + e_mail_reader_init (reader, TRUE, TRUE); - action_group = priv->action_group; + action_group = gtk_action_group_new (ACTION_GROUP_STANDARD); gtk_action_group_set_translation_domain (action_group, domain); gtk_action_group_add_actions ( action_group, mail_browser_entries, @@ -610,6 +609,20 @@ mail_browser_constructed (GObject *object) G_N_ELEMENTS (mail_browser_popup_entries)); gtk_ui_manager_insert_action_group (ui_manager, action_group, 0); + /* For easy access. Takes ownership of the reference. */ + g_object_set_data_full ( + object, ACTION_GROUP_STANDARD, + action_group, (GDestroyNotify) g_object_unref); + + action_group = gtk_action_group_new (ACTION_GROUP_SEARCH_FOLDERS); + gtk_action_group_set_translation_domain (action_group, domain); + gtk_ui_manager_insert_action_group (ui_manager, action_group, 0); + + /* For easy access. Takes ownership of the reference. */ + g_object_set_data_full ( + object, ACTION_GROUP_SEARCH_FOLDERS, + action_group, (GDestroyNotify) g_object_unref); + e_ui_manager_add_ui_from_file ( E_UI_MANAGER (ui_manager), E_MAIL_READER_UI_DEFINITION); e_ui_manager_add_ui_from_string ( @@ -628,13 +641,13 @@ mail_browser_constructed (GObject *object) /* Configure an EFocusTracker to manage selection actions. */ focus_tracker = e_focus_tracker_new (GTK_WINDOW (object)); - action = gtk_action_group_get_action (action_group, "cut-clipboard"); + action = e_mail_reader_get_action (reader, "cut-clipboard"); e_focus_tracker_set_cut_clipboard_action (focus_tracker, action); - action = gtk_action_group_get_action (action_group, "copy-clipboard"); + action = e_mail_reader_get_action (reader, "copy-clipboard"); e_focus_tracker_set_copy_clipboard_action (focus_tracker, action); - action = gtk_action_group_get_action (action_group, "paste-clipboard"); + action = e_mail_reader_get_action (reader, "paste-clipboard"); e_focus_tracker_set_paste_clipboard_action (focus_tracker, action); - action = gtk_action_group_get_action (action_group, "select-all"); + action = e_mail_reader_get_action (reader, "select-all"); e_focus_tracker_set_select_all_action (focus_tracker, action); priv->focus_tracker = focus_tracker; @@ -745,16 +758,20 @@ static GtkActionGroup * mail_browser_get_action_group (EMailReader *reader, EMailReaderActionGroup group) { - EMailBrowserPrivate *priv; - - priv = E_MAIL_BROWSER (reader)->priv; + const gchar *group_name; switch (group) { case E_MAIL_READER_ACTION_GROUP_STANDARD: - return priv->action_group; + group_name = ACTION_GROUP_STANDARD; + break; + case E_MAIL_READER_ACTION_GROUP_SEARCH_FOLDERS: + group_name = ACTION_GROUP_SEARCH_FOLDERS; + break; default: g_return_val_if_reached (NULL); } + + return g_object_get_data (G_OBJECT (reader), group_name); } static EAlertSink * @@ -959,7 +976,6 @@ e_mail_browser_init (EMailBrowser *browser) browser->priv = G_TYPE_INSTANCE_GET_PRIVATE ( browser, E_TYPE_MAIL_BROWSER, EMailBrowserPrivate); - browser->priv->action_group = gtk_action_group_new ("mail-browser"); browser->priv->formatter = em_format_html_display_new (); bridge = gconf_bridge_get (); -- cgit v1.2.3 From 5146ff4c535f443fe25290eb96631e91ad44c8ef Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Sat, 21 May 2011 10:02:58 -0400 Subject: Coding style and whitespace cleanup. --- mail/e-mail-browser.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'mail/e-mail-browser.c') diff --git a/mail/e-mail-browser.c b/mail/e-mail-browser.c index 63bfb4d5b5..2179522c60 100644 --- a/mail/e-mail-browser.c +++ b/mail/e-mail-browser.c @@ -313,8 +313,9 @@ mail_browser_popup_event_cb (EMailBrowser *browser, GdkEventButton *event, const gchar *uri) { - EMFormatHTML *html_formatter; + EMFormatHTML *formatter; EMailReader *reader; + EWebView *web_view; GtkMenu *menu; guint32 state; @@ -322,9 +323,10 @@ mail_browser_popup_event_cb (EMailBrowser *browser, return FALSE; reader = E_MAIL_READER (browser); - html_formatter = e_mail_reader_get_formatter (reader); + formatter = e_mail_reader_get_formatter (reader); + web_view = em_format_html_get_web_view (formatter); - if (html_formatter && e_web_view_get_cursor_image (em_format_html_get_web_view (html_formatter)) != NULL) + if (e_web_view_get_cursor_image (web_view) != NULL) return FALSE; menu = e_mail_reader_get_popup_menu (reader); -- cgit v1.2.3 From 43e043c2c4c210a60d74727fe82189fe32f1a288 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Sat, 21 May 2011 21:35:10 -0400 Subject: Fix crash when opening message window. Would help if I actually did what the comment said... --- mail/e-mail-browser.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'mail/e-mail-browser.c') diff --git a/mail/e-mail-browser.c b/mail/e-mail-browser.c index 2179522c60..3678092a62 100644 --- a/mail/e-mail-browser.c +++ b/mail/e-mail-browser.c @@ -599,8 +599,6 @@ mail_browser_constructed (GObject *object) /* Add action groups before initializing the reader interface. */ - e_mail_reader_init (reader, TRUE, TRUE); - action_group = gtk_action_group_new (ACTION_GROUP_STANDARD); gtk_action_group_set_translation_domain (action_group, domain); gtk_action_group_add_actions ( @@ -625,6 +623,8 @@ mail_browser_constructed (GObject *object) object, ACTION_GROUP_SEARCH_FOLDERS, action_group, (GDestroyNotify) g_object_unref); + e_mail_reader_init (reader, TRUE, TRUE); + e_ui_manager_add_ui_from_file ( E_UI_MANAGER (ui_manager), E_MAIL_READER_UI_DEFINITION); e_ui_manager_add_ui_from_string ( -- cgit v1.2.3 From c24038c4f62f37b89d1bda9542ca5ccc843d4ea0 Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Fri, 27 May 2011 15:23:07 +0200 Subject: Bug #646109 - Fix use of include to make sure translations work --- mail/e-mail-browser.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'mail/e-mail-browser.c') diff --git a/mail/e-mail-browser.c b/mail/e-mail-browser.c index 3678092a62..e24e69534e 100644 --- a/mail/e-mail-browser.c +++ b/mail/e-mail-browser.c @@ -19,6 +19,10 @@ * */ +#ifdef HAVE_CONFIG_H +#include +#endif + #include "e-mail-browser.h" #include -- cgit v1.2.3 From fcc3aff7d6f099b6e343dc1165d6f9776be4c4c0 Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Fri, 3 Jun 2011 10:30:50 +0200 Subject: Bug #651761 - Message window doesn't mark message seen --- mail/e-mail-browser.c | 1 + 1 file changed, 1 insertion(+) (limited to 'mail/e-mail-browser.c') diff --git a/mail/e-mail-browser.c b/mail/e-mail-browser.c index e24e69534e..7e496e9daa 100644 --- a/mail/e-mail-browser.c +++ b/mail/e-mail-browser.c @@ -291,6 +291,7 @@ mail_browser_message_selected_cb (EMailBrowser *browser, gtk_window_set_title (GTK_WINDOW (browser), title); gtk_widget_grab_focus (GTK_WIDGET (web_view)); + camel_message_info_set_flags (info, CAMEL_MESSAGE_SEEN, CAMEL_MESSAGE_SEEN); camel_folder_free_message_info (folder, info); } -- cgit v1.2.3 From 2e95d4297c91b76ea03b51b3b420c922e7d64bb9 Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Mon, 6 Jun 2011 11:27:16 +0200 Subject: Bug #651976 - Reply/Forward setting isn't respected in message window --- mail/e-mail-browser.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'mail/e-mail-browser.c') diff --git a/mail/e-mail-browser.c b/mail/e-mail-browser.c index 7e496e9daa..db5150bebd 100644 --- a/mail/e-mail-browser.c +++ b/mail/e-mail-browser.c @@ -114,7 +114,9 @@ G_DEFINE_TYPE_WITH_CODE ( G_IMPLEMENT_INTERFACE ( E_TYPE_ALERT_SINK, e_mail_browser_alert_sink_init) G_IMPLEMENT_INTERFACE ( - E_TYPE_MAIL_READER, e_mail_browser_reader_init)) + E_TYPE_MAIL_READER, e_mail_browser_reader_init) + G_IMPLEMENT_INTERFACE ( + E_TYPE_EXTENSIBLE, NULL)) static void action_close_cb (GtkAction *action, @@ -717,6 +719,8 @@ mail_browser_constructed (GObject *object) e_plugin_ui_enable_manager (ui_manager, id); e_mail_reader_connect_headers (E_MAIL_READER (reader)); + + e_extensible_load_extensions (E_EXTENSIBLE (object)); } static gboolean -- cgit v1.2.3 From 777c1cbd40eb63365f2c28e38f6a93beb2d1c9d1 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Tue, 16 Aug 2011 11:25:56 -0400 Subject: Coding style and whitespace cleanup. --- mail/e-mail-browser.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'mail/e-mail-browser.c') diff --git a/mail/e-mail-browser.c b/mail/e-mail-browser.c index db5150bebd..95084c6d28 100644 --- a/mail/e-mail-browser.c +++ b/mail/e-mail-browser.c @@ -270,9 +270,11 @@ mail_browser_message_selected_cb (EMailBrowser *browser, EMailReader *reader; EWebView *web_view; const gchar *title; + guint32 state; reader = E_MAIL_READER (browser); - e_mail_reader_update_actions (reader, e_mail_reader_check_state (reader)); + state = e_mail_reader_check_state (reader); + e_mail_reader_update_actions (reader, state); if (uid == NULL) return; @@ -293,7 +295,8 @@ mail_browser_message_selected_cb (EMailBrowser *browser, gtk_window_set_title (GTK_WINDOW (browser), title); gtk_widget_grab_focus (GTK_WIDGET (web_view)); - camel_message_info_set_flags (info, CAMEL_MESSAGE_SEEN, CAMEL_MESSAGE_SEEN); + camel_message_info_set_flags ( + info, CAMEL_MESSAGE_SEEN, CAMEL_MESSAGE_SEEN); camel_folder_free_message_info (folder, info); } -- cgit v1.2.3 From 9744056c5e69227abdcdd55c4bffb674b29bd765 Mon Sep 17 00:00:00 2001 From: Rodrigo Moya Date: Wed, 26 Oct 2011 17:54:50 +0200 Subject: More GSettings migration --- mail/e-mail-browser.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'mail/e-mail-browser.c') diff --git a/mail/e-mail-browser.c b/mail/e-mail-browser.c index fe8b8984f3..aaa12b1d14 100644 --- a/mail/e-mail-browser.c +++ b/mail/e-mail-browser.c @@ -550,7 +550,7 @@ mail_browser_constructed (GObject *object) EShell *shell; EFocusTracker *focus_tracker; ESearchBar *search_bar; - GConfBridge *bridge; + GSettings *settings; GtkAccelGroup *accel_group; GtkActionGroup *action_group; GtkAction *action; @@ -710,13 +710,13 @@ mail_browser_constructed (GObject *object) search_bar, "changed", G_CALLBACK (em_format_queue_redraw), priv->formatter); - /* Bind GObject properties to GConf keys. */ + /* Bind GObject properties to GSettings keys. */ - bridge = gconf_bridge_get (); + settings = g_settings_new ("org.gnome.evolution.mail"); object = G_OBJECT (reader); - key = "/apps/evolution/mail/display/show_deleted"; - gconf_bridge_bind_property (bridge, key, object, "show-deleted"); + g_settings_bind (settings, "show-deleted", object, "show-deleted", G_SETTINGS_BIND_DEFAULT); + g_object_unref (settings); id = "org.gnome.evolution.mail.browser"; e_plugin_ui_register_manager (ui_manager, id, object); -- cgit v1.2.3 From c75f58d01bb7bbe139cd73a85894dc5f50185816 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Fri, 18 Nov 2011 09:58:44 -0500 Subject: Fix compiler warnings. --- mail/e-mail-browser.c | 1 - 1 file changed, 1 deletion(-) (limited to 'mail/e-mail-browser.c') diff --git a/mail/e-mail-browser.c b/mail/e-mail-browser.c index aaa12b1d14..1125510915 100644 --- a/mail/e-mail-browser.c +++ b/mail/e-mail-browser.c @@ -559,7 +559,6 @@ mail_browser_constructed (GObject *object) GtkWidget *widget; EWebView *web_view; const gchar *domain; - const gchar *key; const gchar *id; guint merge_id; -- cgit v1.2.3