[evolution/wip/webkit2] EMsgComposer - Prefer the plain text over HTML when pasting in plain text mode
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution/wip/webkit2] EMsgComposer - Prefer the plain text over HTML when pasting in plain text mode
- Date: Wed, 2 Mar 2016 14:39:48 +0000 (UTC)
commit 503100c5985769a791e17d393ff83eeacebf6001
Author: Tomas Popela <tpopela redhat com>
Date: Fri Oct 23 09:19:24 2015 +0200
EMsgComposer - Prefer the plain text over HTML when pasting in plain text mode
But only when not pasting content from composer.
composer/e-msg-composer.c | 32 +++++++++++++++++++++++++-------
1 files changed, 25 insertions(+), 7 deletions(-)
---
diff --git a/composer/e-msg-composer.c b/composer/e-msg-composer.c
index bfa6a21..4a08445 100644
--- a/composer/e-msg-composer.c
+++ b/composer/e-msg-composer.c
@@ -1694,6 +1694,9 @@ msg_composer_paste_clipboard_targets_cb (GtkClipboard *clipboard,
gint n_targets,
EMsgComposer *composer)
{
+ EHTMLEditor *editor = e_msg_composer_get_editor (composer);
+ EHTMLEditorView *editor_view = e_html_editor_get_view (editor);
+
if (targets == NULL || n_targets < 0)
return;
@@ -1705,14 +1708,29 @@ msg_composer_paste_clipboard_targets_cb (GtkClipboard *clipboard,
return;
}
- if (e_targets_include_html (targets, n_targets)) {
- e_composer_paste_html (composer, clipboard);
- return;
- }
+ /* Prefer plain text over HTML when in the plain text mode, but only
+ * when pasting content from outside the editor view. */
+ if (e_html_editor_view_get_html_mode (editor_view) ||
+ e_html_editor_view_is_pasting_content_from_itself (editor_view)) {
+ if (e_targets_include_html (targets, n_targets)) {
+ e_composer_paste_html (composer, clipboard);
+ return;
+ }
- if (gtk_targets_include_text (targets, n_targets)) {
- e_composer_paste_text (composer, clipboard);
- return;
+ if (gtk_targets_include_text (targets, n_targets)) {
+ e_composer_paste_text (composer, clipboard);
+ return;
+ }
+ } else {
+ if (gtk_targets_include_text (targets, n_targets)) {
+ e_composer_paste_text (composer, clipboard);
+ return;
+ }
+
+ if (e_targets_include_html (targets, n_targets)) {
+ e_composer_paste_html (composer, clipboard);
+ return;
+ }
}
if (gtk_targets_include_image (targets, n_targets, TRUE)) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]