[evolution/wip/webkit-composer: 939/966] Bug 726706: [webkit-composer] Middle click in body should focus & paste



commit bbd824a88123ed60c92c54f65bc982efb64e2012
Author: Tomas Popela <tpopela redhat com>
Date:   Thu Mar 27 12:54:39 2014 +0100

    Bug 726706: [webkit-composer] Middle click in body should focus & paste

 composer/e-composer-private.c |   15 ++++++++-------
 e-util/e-editor-actions.c     |    9 ++++++---
 2 files changed, 14 insertions(+), 10 deletions(-)
---
diff --git a/composer/e-composer-private.c b/composer/e-composer-private.c
index f28e4a1..83bad2d 100644
--- a/composer/e-composer-private.c
+++ b/composer/e-composer-private.c
@@ -601,14 +601,15 @@ e_composer_paste_text (EMsgComposer *composer,
        editor = e_msg_composer_get_editor (composer);
        editor_widget = e_editor_get_editor_widget (editor);
        editor_selection = e_editor_widget_get_selection (editor_widget);
-       /* Paste to EEditorWidget when it has focus */
-       if (gtk_widget_has_focus (GTK_WIDGET (editor_widget))) {
-               e_editor_selection_insert_text (editor_selection, text);
+       /* If WebView doesn't have focus, focus it */
+       if (!gtk_widget_has_focus (GTK_WIDGET (editor_widget)))
+               gtk_widget_grab_focus (GTK_WIDGET (editor_widget));
 
-               e_editor_widget_check_magic_links (editor_widget, FALSE);
-               e_editor_widget_force_spell_check (editor_widget);
-               e_editor_selection_scroll_to_caret (editor_selection);
-       }
+       e_editor_selection_insert_text (editor_selection, text);
+
+       e_editor_widget_check_magic_links (editor_widget, FALSE);
+       e_editor_widget_force_spell_check (editor_widget);
+       e_editor_selection_scroll_to_caret (editor_selection);
 
        g_free (text);
 
diff --git a/e-util/e-editor-actions.c b/e-util/e-editor-actions.c
index 5dcdb5f..ef4eacd 100644
--- a/e-util/e-editor-actions.c
+++ b/e-util/e-editor-actions.c
@@ -694,10 +694,13 @@ action_paste_cb (GtkAction *action,
 {
        EEditorWidget *widget = e_editor_get_editor_widget (editor);
 
-       webkit_web_view_paste_clipboard (
-               WEBKIT_WEB_VIEW (widget));
+       /* Paste only if WebView has focus */
+       if (gtk_widget_has_focus (widget)) {
+               webkit_web_view_paste_clipboard (
+                       WEBKIT_WEB_VIEW (widget));
 
-       e_editor_widget_force_spell_check (widget);
+               e_editor_widget_force_spell_check (widget);
+       }
 }
 
 static void


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]