Updating branch refs/heads/master
         to 6640412a4fd7cad4c029ccb33774d6bc674bb897 (commit)
       from c94ceb68f638ab8e734fd4b8accfcedd02a5f535 (commit)

commit 6640412a4fd7cad4c029ccb33774d6bc674bb897
Author: Enrico Tröger <enrico.troe...@uvena.de>
Date:   Sun May 30 19:17:01 2010 +0200

    When pasting text, always first query the PRIMARY clipboard and in case we 
didn't find anything, query the main clipboard.

 ChangeLog         |    3 +++
 lib/common.c      |    9 +++++++++
 lib/common.h      |    1 +
 lib/speedreader.c |    9 +++++++--
 src/xfce4-dict.c  |    6 +-----
 5 files changed, 21 insertions(+), 7 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 8fbf52a..eed937e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,9 @@
    Quit/Close main window if Escape is pressed.
  * lib/speedreader.c:
    Add a paste button to the Speed Reader.
+ * lib/common.c, lib/common.h, lib/speedreader.c, src/xfce4-dict.c:
+   When pasting text, always first query the PRIMARY clipboard
+   and in case we didn't find anything, query the main clipboard.
 
 
 2010-01-01  Enrico Tröger  <enrico(dot)troeger(at)uvena(dot)de>
diff --git a/lib/common.c b/lib/common.c
index 9f9bd7b..556d3d1 100644
--- a/lib/common.c
+++ b/lib/common.c
@@ -626,3 +626,12 @@ void dict_show_msgbox(DictData *dd, gint type, const gchar 
*text, ...)
 }
 
 
+gchar *dict_get_clipboard_contents(void)
+{
+       gchar *text = 
gtk_clipboard_wait_for_text(gtk_clipboard_get(GDK_SELECTION_PRIMARY));
+
+       if (! text)
+               text = 
gtk_clipboard_wait_for_text(gtk_clipboard_get(GDK_SELECTION_PRIMARY));
+
+       return text;
+}
diff --git a/lib/common.h b/lib/common.h
index 115e857..7123540 100644
--- a/lib/common.h
+++ b/lib/common.h
@@ -136,6 +136,7 @@ void dict_drag_data_received(GtkWidget *widget, 
GdkDragContext *drag_context, gi
 DictData *dict_create_dictdata();
 gboolean dict_start_web_query(DictData *dd, const gchar *word);
 gchar *dict_get_web_query_uri(DictData *dd, const gchar *word);
+gchar *dict_get_clipboard_contents(void);
 
 void dict_show_msgbox(DictData *dd, gint type, const gchar *text, ...) 
G_GNUC_PRINTF (3, 4);
 
diff --git a/lib/speedreader.c b/lib/speedreader.c
index b875ac1..069ca72 100644
--- a/lib/speedreader.c
+++ b/lib/speedreader.c
@@ -548,9 +548,14 @@ static void sr_clear_clicked_cb(GtkButton *button, 
GtkTextBuffer *buffer)
 
 static void sr_paste_clicked_cb(GtkButton *button, GtkTextBuffer *buffer)
 {
-       GtkClipboard *clipboard = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD);
+       gchar *text;
        gtk_text_buffer_set_text(buffer, "", 0);
-       gtk_text_buffer_paste_clipboard(buffer, clipboard, NULL, TRUE);
+       text = dict_get_clipboard_contents();
+       if (text != NULL)
+       {
+               gtk_text_buffer_set_text(buffer, text, -1);
+               g_free(text);
+       }
 }
 
 
diff --git a/src/xfce4-dict.c b/src/xfce4-dict.c
index 38ce6d9..b7cb2cc 100644
--- a/src/xfce4-dict.c
+++ b/src/xfce4-dict.c
@@ -154,11 +154,7 @@ gint main(gint argc, gchar *argv[])
 
        if (use_clipboard)
        {
-               search_text = gtk_clipboard_wait_for_text(gtk_clipboard_get(
-                                               gdk_atom_intern("PRIMARY", 
FALSE)));
-               if (! search_text)
-                       search_text = 
gtk_clipboard_wait_for_text(gtk_clipboard_get(
-                                                       
gdk_atom_intern("CLIPBOARD", FALSE)));
+               search_text = dict_get_clipboard_contents();
        }
        else
        {
_______________________________________________
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits

Reply via email to