diff options
author | Dan Vrátil <dvratil@redhat.com> | 2012-06-08 17:30:03 +0800 |
---|---|---|
committer | Dan Vrátil <dvratil@redhat.com> | 2012-06-08 17:30:44 +0800 |
commit | a6cac3f275db19342e57f2d96141ccfbbf13a8ec (patch) | |
tree | e2274b05feb669fae22f3ef03a2ee504ffed3d21 /modules/vcard-inline/e-mail-parser-vcard-inline.c | |
parent | b3c57ed8e5f1bcbda9ec0fa37a252aeb5313f279 (diff) | |
download | gsoc2013-evolution-a6cac3f275db19342e57f2d96141ccfbbf13a8ec.tar gsoc2013-evolution-a6cac3f275db19342e57f2d96141ccfbbf13a8ec.tar.gz gsoc2013-evolution-a6cac3f275db19342e57f2d96141ccfbbf13a8ec.tar.bz2 gsoc2013-evolution-a6cac3f275db19342e57f2d96141ccfbbf13a8ec.tar.lz gsoc2013-evolution-a6cac3f275db19342e57f2d96141ccfbbf13a8ec.tar.xz gsoc2013-evolution-a6cac3f275db19342e57f2d96141ccfbbf13a8ec.tar.zst gsoc2013-evolution-a6cac3f275db19342e57f2d96141ccfbbf13a8ec.zip |
Bug #670876 - Missing mnemonics for buttons for vcard attached to email
Diffstat (limited to 'modules/vcard-inline/e-mail-parser-vcard-inline.c')
-rw-r--r-- | modules/vcard-inline/e-mail-parser-vcard-inline.c | 33 |
1 files changed, 28 insertions, 5 deletions
diff --git a/modules/vcard-inline/e-mail-parser-vcard-inline.c b/modules/vcard-inline/e-mail-parser-vcard-inline.c index 562ca75c72..e4827d0709 100644 --- a/modules/vcard-inline/e-mail-parser-vcard-inline.c +++ b/modules/vcard-inline/e-mail-parser-vcard-inline.c @@ -34,7 +34,7 @@ #include <em-format/e-mail-parser-extension.h> #include <em-format/e-mail-part.h> #include <em-format/e-mail-part-utils.h> -#include <em-format/e-mail-formatter.h> +#include <em-format/e-mail-formatter-utils.h> #include <libebook/libebook.h> #include <libedataserver/libedataserver.h> @@ -191,21 +191,44 @@ display_mode_toggle_cb (WebKitDOMEventTarget *button, { EABContactDisplayMode mode; gchar *uri; + gchar *html_label, *access_key; mode = eab_contact_formatter_get_display_mode (vcard_part->formatter); if (mode == EAB_CONTACT_DISPLAY_RENDER_NORMAL) { mode = EAB_CONTACT_DISPLAY_RENDER_COMPACT; - webkit_dom_html_element_set_inner_text ( + html_label = e_mail_formatter_parse_html_mnemonics ( + _("Show F_ull vCard"), &access_key); + + webkit_dom_html_element_set_inner_html ( WEBKIT_DOM_HTML_ELEMENT (button), - _("Show Full vCard"), NULL); + html_label, NULL); + if (access_key) { + webkit_dom_html_element_set_access_key ( + WEBKIT_DOM_HTML_ELEMENT (button), + access_key); + g_free (access_key); + } + + g_free (html_label); } else { mode = EAB_CONTACT_DISPLAY_RENDER_NORMAL; - webkit_dom_html_element_set_inner_text ( + html_label = e_mail_formatter_parse_html_mnemonics ( + _("Show Com_pact vCard"), &access_key); + + webkit_dom_html_element_set_inner_html ( WEBKIT_DOM_HTML_ELEMENT (button), - _("Show Compact vCard"), NULL); + html_label, NULL); + if (access_key) { + webkit_dom_html_element_set_access_key ( + WEBKIT_DOM_HTML_ELEMENT (button), + access_key); + g_free (access_key); + } + + g_free (html_label); } eab_contact_formatter_set_display_mode (vcard_part->formatter, mode); |