Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Alexander_Naumov:SLE12
evolution
evolution-drag-text-to-composer.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File evolution-drag-text-to-composer.patch of Package evolution
diff -Npur evolution-3.10.4.bak/composer/e-msg-composer.c evolution-3.10.4/composer/e-msg-composer.c --- evolution-3.10.4.bak/composer/e-msg-composer.c 2013-12-07 23:15:10.000000000 +0800 +++ evolution-3.10.4/composer/e-msg-composer.c 2014-09-03 08:35:37.909417686 +0800 @@ -1755,10 +1755,44 @@ msg_composer_drag_data_received_cb (GtkW EMsgComposer *composer) { EAttachmentView *view; + GdkAtom atom; + gchar *name; + + atom = gtk_selection_data_get_target (selection); + name = gdk_atom_name (atom); + + if (g_strcmp0 (name, "UTF8_STRING") == 0 || g_strcmp0 (name, "text/plain") == 0 || + g_strcmp0 (name, "text/html") == 0) { + const guchar *data; + gint length; + gint i; + gchar *text; + GString *buf; + + data = gtk_selection_data_get_data (selection); + length = gtk_selection_data_get_length (selection); + + if (!data || length < 0) { + g_free (name); + return; + } + + buf = g_string_new (NULL); + for (i = 0; i < length; i++) + if (*(data +i) != '\0') + buf = g_string_append_c (buf, *(data + i)); + gtkhtml_editor_insert_html (GTKHTML_EDITOR (composer), buf->str); + + /* Stop the signal from propagating */ + g_signal_stop_emission_by_name (widget, "drag-data-received"); + g_string_free (buf, TRUE); + g_free (name); + return; + } + g_free (name); /* HTML mode has a few special cases for drops... */ if (gtkhtml_editor_get_html_mode (GTKHTML_EDITOR (composer))) { - /* If we're receiving an image, we want the image to be * inserted in the message body. Let GtkHtml handle it. */ if (gtk_selection_data_targets_include_image (selection, TRUE))
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor