29 #include <stdio.h> |
29 #include <stdio.h> |
30 #include <stdlib.h> |
30 #include <stdlib.h> |
31 #include <string.h> |
31 #include <string.h> |
32 |
32 |
33 #include "dnd.h" |
33 #include "dnd.h" |
|
34 #include "../../ucx/buffer.h" |
|
35 |
|
36 #ifdef UI_GTK2LEGACY |
|
37 static gboolean selection_data_set_uris(GtkSelectionData *selection_data, char **uris) { |
|
38 UcxBuffer *buf = ucx_buffer_new(NULL, 1024, UCX_BUFFER_AUTOEXTEND); |
|
39 char *uri; |
|
40 int i = 0; |
|
41 while((uri = uris[i]) != NULL) { |
|
42 ucx_buffer_puts(buf, uri); |
|
43 ucx_buffer_puts(buf, "\r\n"); |
|
44 } |
|
45 GdkAtom type = gdk_atom_intern("text/uri-list", FALSE); |
|
46 gtk_selection_data_set(selection_data, type, 8, (guchar*)buf->space, buf->pos); |
|
47 ucx_buffer_free(buf); |
|
48 return TRUE; |
|
49 } |
|
50 static char** selection_data_get_uris(GtkSelectionData *selection_data) { |
|
51 // TODO: implement |
|
52 return NULL; |
|
53 } |
|
54 #define gtk_selection_data_set_uris selection_data_set_uris |
|
55 #define gtk_selection_data_get_uris selection_data_get_uris |
|
56 #endif |
34 |
57 |
35 void ui_selection_settext(UiSelection *sel, char *str, int len) { |
58 void ui_selection_settext(UiSelection *sel, char *str, int len) { |
36 if(!gtk_selection_data_set_text(sel->data, str, len)); |
59 if(!gtk_selection_data_set_text(sel->data, str, len)); |
37 } |
60 } |
38 |
61 |