ui/gtk/dnd.c

changeset 151
11f3bb408051
parent 147
2e384acc89a6
child 157
0b33b9396851
equal deleted inserted replaced
150:5cee4cb5ad79 151:11f3bb408051
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

mercurial