aboutsummaryrefslogtreecommitdiffstats
path: root/composer
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@src.gnome.org>2009-01-12 12:12:01 +0800
committerMatthew Barnes <mbarnes@src.gnome.org>2009-01-12 12:12:01 +0800
commitc7d3c9f95609123035ebaa267f9d2e6ecfa8c2e8 (patch)
tree246bdb714e24e1b0c9a8ce4a3e45a46b230316de /composer
parentf8b33bc4ebe9dd8043674141b5fe4660efaa99e8 (diff)
downloadgsoc2013-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/ChangeLog38
-rw-r--r--composer/e-composer-actions.c8
-rw-r--r--composer/e-composer-header-table.c2
-rw-r--r--composer/e-composer-private.h2
-rw-r--r--composer/e-msg-composer.c37
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 &amp; 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);