diff options
author | Matthew Barnes <mbarnes@src.gnome.org> | 2009-01-12 12:12:01 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@src.gnome.org> | 2009-01-12 12:12:01 +0800 |
commit | c7d3c9f95609123035ebaa267f9d2e6ecfa8c2e8 (patch) | |
tree | 246bdb714e24e1b0c9a8ce4a3e45a46b230316de /composer | |
parent | f8b33bc4ebe9dd8043674141b5fe4660efaa99e8 (diff) | |
download | gsoc2013-evolution-c7d3c9f95609123035ebaa267f9d2e6ecfa8c2e8.tar gsoc2013-evolution-c7d3c9f95609123035ebaa267f9d2e6ecfa8c2e8.tar.gz gsoc2013-evolution-c7d3c9f95609123035ebaa267f9d2e6ecfa8c2e8.tar.bz2 gsoc2013-evolution-c7d3c9f95609123035ebaa267f9d2e6ecfa8c2e8.tar.lz gsoc2013-evolution-c7d3c9f95609123035ebaa267f9d2e6ecfa8c2e8.tar.xz gsoc2013-evolution-c7d3c9f95609123035ebaa267f9d2e6ecfa8c2e8.tar.zst gsoc2013-evolution-c7d3c9f95609123035ebaa267f9d2e6ecfa8c2e8.zip |
Merge revisions 36866:37046 from trunk.
svn path=/branches/kill-bonobo/; revision=37050
Diffstat (limited to 'composer')
-rw-r--r-- | composer/ChangeLog | 38 | ||||
-rw-r--r-- | composer/e-composer-actions.c | 8 | ||||
-rw-r--r-- | composer/e-composer-header-table.c | 2 | ||||
-rw-r--r-- | composer/e-composer-private.h | 2 | ||||
-rw-r--r-- | composer/e-msg-composer.c | 37 |
5 files changed, 78 insertions, 9 deletions
diff --git a/composer/ChangeLog b/composer/ChangeLog index 7a08fc49ae..dab9cff1a7 100644 --- a/composer/ChangeLog +++ b/composer/ChangeLog @@ -1,8 +1,44 @@ +2009-01-11 Matthew Barnes <mbarnes@redhat.com> + + * e-msg-composer.c (msg_composer_link_clicked): + Call e_show_uri() instead of gnome_url_show(). + +2009-01-09 Takao Fujiwara <takao.fujiwara@sun.com> + + Reviewed by Matthew Barnes <mbarnes@redhat.com> + + * Fix for bug #566011 + + * e-composer-header-table.c: + * e-composer-private.h: + Include <glib/gi18n-lib.h> instead of <glib/gi18n.h>. + +2008-12-18 Matthew Barnes <mbarnes@redhat.com> + + * e-composer-actions.c: + Change "Save Draft" menu item to "Save as Draft" to be consistent + with "Save as Template". I like that better. But leave the toolbar + button alone. + +2008-12-16 Milan Crha <mcrha@redhat.com> + + ** Fix for bug #564248 + + * e-msg-composer.c: (msg_composer_paste_clipboard): + Attach images pasted from a clipboard. + +2008-12-11 Matthew Barnes <mbarnes@redhat.com> + + ** Fixes bug #562450 + + * e-msg-composer.c (handle_multipart_signed): + Fix a typo that broke "Edit as New Message" for signed messages. + 2008-12-04 Matthew Barnes <mbarnes@redhat.com> ** Fixes bug #562886 - * e-msg-composer (handle_mailto): + * e-msg-composer.c (handle_mailto): Don't double-decode attachment URIs. Also, parse & correctly. 2008-11-07 Srinivasa Ragavan <sragavan@novell.com> diff --git a/composer/e-composer-actions.c b/composer/e-composer-actions.c index fc1ec7a475..1a04924338 100644 --- a/composer/e-composer-actions.c +++ b/composer/e-composer-actions.c @@ -508,7 +508,7 @@ static GtkActionEntry entries[] = { { "save-draft", GTK_STOCK_SAVE, - N_("Save _Draft"), + N_("Save as _Draft"), "<Shift><Control>s", N_("Save as draft"), G_CALLBACK (action_save_draft_cb) }, @@ -693,8 +693,10 @@ e_composer_actions_init (EMsgComposer *composer) /* Fine Tuning */ g_object_set ( - G_OBJECT (ACTION (ATTACH)), - "short-label", _("Attach"), NULL); + ACTION (ATTACH), "short-label", _("Attach"), NULL); + + g_object_set ( + ACTION (SAVE_DRAFT), "short-label", _("Save Draft"), NULL); #if defined (HAVE_NSS) visible = TRUE; diff --git a/composer/e-composer-header-table.c b/composer/e-composer-header-table.c index 7bce8bb6fb..c3af87a76d 100644 --- a/composer/e-composer-header-table.c +++ b/composer/e-composer-header-table.c @@ -18,7 +18,7 @@ #include "e-composer-header-table.h" #include <string.h> -#include <glib/gi18n.h> +#include <glib/gi18n-lib.h> #include <libedataserverui/e-name-selector.h> #include "e-signature-combo-box.h" diff --git a/composer/e-composer-private.h b/composer/e-composer-private.h index c31fa2751a..5984d3cb2b 100644 --- a/composer/e-composer-private.h +++ b/composer/e-composer-private.h @@ -20,7 +20,7 @@ #include "e-msg-composer.h" -#include <glib/gi18n.h> +#include <glib/gi18n-lib.h> #include <glib/gstdio.h> #include <camel/camel-iconv.h> diff --git a/composer/e-msg-composer.c b/composer/e-msg-composer.c index 7b55072653..f930d102f2 100644 --- a/composer/e-msg-composer.c +++ b/composer/e-msg-composer.c @@ -62,6 +62,7 @@ #include "misc/e-charset-picker.h" #include "misc/e-expander.h" #include "e-util/e-error.h" +#include "e-util/e-mktemp.h" #include "e-util/e-plugin-ui.h" #include "e-util/e-util-private.h" #include "e-signature-combo-box.h" @@ -2407,6 +2408,7 @@ msg_composer_paste_clipboard (GtkhtmlEditor *editor) EMsgComposer *composer; GtkWidget *parent; GtkWidget *widget; + GtkClipboard *clipboard; composer = E_MSG_COMPOSER (editor); widget = gtk_window_get_focus (GTK_WINDOW (editor)); @@ -2417,8 +2419,37 @@ msg_composer_paste_clipboard (GtkhtmlEditor *editor) return; } - /* Chain up to parent's paste_clipboard() method. */ - GTKHTML_EDITOR_CLASS (parent_class)->paste_clipboard (editor); + clipboard = gtk_widget_get_clipboard (widget, GDK_SELECTION_CLIPBOARD); + if (clipboard && gtk_clipboard_wait_is_image_available (clipboard)) { + GdkPixbuf *pixbuf; + + pixbuf = gtk_clipboard_wait_for_image (clipboard); + if (pixbuf) { + char *tmpl = g_strconcat (_("Image"), "-XXXXXX", NULL); + char *filename = e_mktemp (tmpl); + + g_free (tmpl); + + if (filename && gdk_pixbuf_save (pixbuf, filename, "png", NULL, NULL)) { + if (gtkhtml_editor_get_html_mode (editor)) { + char *uri = g_strconcat ("file://", filename, NULL); + /* this loads image async, thus cannot remove file from this */ + gtkhtml_editor_insert_image (editor, uri); + g_free (uri); + } else { + /* this loads image immediately, remove file from cache to free up disk space */ + e_attachment_bar_attach (E_ATTACHMENT_BAR (composer->priv->attachment_bar), filename, "image/png"); + g_remove (filename); + } + } + + g_free (filename); + g_object_unref (pixbuf); + } + } else { + /* Chain up to parent's paste_clipboard() method. */ + GTKHTML_EDITOR_CLASS (parent_class)->paste_clipboard (editor); + } } static void @@ -3096,7 +3127,7 @@ handle_multipart_signed (EMsgComposer *composer, mime_part = camel_multipart_get_part ( multipart, CAMEL_MULTIPART_SIGNED_CONTENT); - if (mime_part != NULL) + if (mime_part == NULL) return; content_type = camel_mime_part_get_content_type (mime_part); |