[evolution/wip/webkit-composer: 809/966] Add support for Drag&Drop of base64 encoded images



commit d681aae976fd2d597d2fd098dea446b44383a346
Author: Tomas Popela <tpopela redhat com>
Date:   Thu Feb 6 10:30:08 2014 +0100

    Add support for Drag&Drop of base64 encoded images
    
    These images can be found in the attachments below the received message.

 composer/e-composer-private.c |    2 +-
 composer/e-msg-composer.c     |   20 +++++++++++++++++++-
 2 files changed, 20 insertions(+), 2 deletions(-)
---
diff --git a/composer/e-composer-private.c b/composer/e-composer-private.c
index 81dc1d3..3072d3f 100644
--- a/composer/e-composer-private.c
+++ b/composer/e-composer-private.c
@@ -674,7 +674,7 @@ e_composer_selection_is_image_uris (EMsgComposer *composer,
 
        uris = gtk_selection_data_get_uris (selection);
 
-       if (uris == NULL)
+       if (!uris)
                return FALSE;
 
        for (ii = 0; uris[ii] != NULL; ii++) {
diff --git a/composer/e-msg-composer.c b/composer/e-msg-composer.c
index 47d8a5e..028d994 100644
--- a/composer/e-msg-composer.c
+++ b/composer/e-msg-composer.c
@@ -1838,7 +1838,25 @@ msg_composer_drag_data_received_cb (GtkWidget *widget,
                        } while (list_len);
                }
 
-               /* FIXME CID images */
+               if (e_composer_selection_is_base64_uris (composer, selection)) {
+                       const guchar *data;
+                       gint length;
+                       gint list_len, len;
+                       gchar *uri;
+
+                       data = gtk_selection_data_get_data (selection);
+                       length = gtk_selection_data_get_length (selection);
+
+                       if (!data || length < 0)
+                               return;
+
+                       list_len = length;
+                       do {
+                               uri = next_uri ((guchar **) &data, &len, &list_len);
+
+                               e_editor_selection_insert_image (editor_selection, uri);
+                       } while (list_len);
+               }
        } else {
                view = e_msg_composer_get_attachment_view (composer);
 


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