comparison src/event-Xt.c @ 284:558f606b08ae r21-0b40

Import from CVS: tag r21-0b40
author cvs
date Mon, 13 Aug 2007 10:34:13 +0200
parents c42ec1d1cded
children 4b85ae5eabfb
comparison
equal deleted inserted replaced
283:fa3d41851a08 284:558f606b08ae
1164 1164
1165 while (*data) 1165 while (*data)
1166 { 1166 {
1167 len = strlen ((char*)data); 1167 len = strlen ((char*)data);
1168 hurl = dnd_url_hexify_string ((char *)data, "file:"); 1168 hurl = dnd_url_hexify_string ((char *)data, "file:");
1169 l_item = make_string (hurl, strlen (hurl)); 1169 l_item = make_string ((Bufbyte *)hurl, strlen (hurl));
1170 l_dndlist = Fcons (l_item, l_dndlist); 1170 l_dndlist = Fcons (l_item, l_dndlist);
1171 data += len + 1; 1171 data += len + 1;
1172 xfree (hurl); 1172 xfree (hurl);
1173 } 1173 }
1174 l_type = Qdragdrop_URL; 1174 l_type = Qdragdrop_URL;
1175 } 1175 }
1176 break; 1176 break;
1177 case DndText: 1177 case DndText:
1178 l_type = Qdragdrop_MIME; 1178 l_type = Qdragdrop_MIME;
1179 l_dndlist = list1 ( list3 ( make_string ("text/plain", 10), 1179 l_dndlist = list1 ( list3 ( list1 ( make_string ((Bufbyte *)"text/plain", 10) ),
1180 make_string ("8bit", 4), 1180 make_string ((Bufbyte *)"8bit", 4),
1181 make_ext_string (data, 1181 make_ext_string ((Extbyte *)data,
1182 strlen((char *)data), 1182 strlen((char *)data),
1183 FORMAT_CTEXT) ) ); 1183 FORMAT_CTEXT) ) );
1184 break; 1184 break;
1185 case DndMIME: 1185 case DndMIME:
1186 /* we have to parse this in some way to extract 1186 /* we have to parse this in some way to extract
1189 OR: if data is string, let tm do the job 1189 OR: if data is string, let tm do the job
1190 if data is list[2], give the first two 1190 if data is list[2], give the first two
1191 to tm... 1191 to tm...
1192 */ 1192 */
1193 l_type = Qdragdrop_MIME; 1193 l_type = Qdragdrop_MIME;
1194 l_dndlist = list1 ( make_ext_string (data, strlen((char *)data), 1194 l_dndlist = list1 ( make_ext_string ((Extbyte *)data,
1195 strlen((char *)data),
1195 FORMAT_BINARY) ); 1196 FORMAT_BINARY) );
1196 break; 1197 break;
1197 case DndFile: 1198 case DndFile:
1198 case DndDir: 1199 case DndDir:
1199 case DndLink: 1200 case DndLink:
1200 case DndExe: 1201 case DndExe:
1201 { 1202 {
1202 char *hurl = dnd_url_hexify_string (data, "file:"); 1203 char *hurl = dnd_url_hexify_string (data, "file:");
1203 1204
1204 l_dndlist = list1 ( make_string (hurl, strlen (hurl)) ); 1205 l_dndlist = list1 ( make_string ((Bufbyte *)hurl,
1206 strlen (hurl)) );
1205 l_type = Qdragdrop_URL; 1207 l_type = Qdragdrop_URL;
1206 1208
1207 xfree (hurl); 1209 xfree (hurl);
1208 } 1210 }
1209 break; 1211 break;
1210 case DndURL: 1212 case DndURL:
1211 /* as it is a real URL it should already be escaped 1213 /* as it is a real URL it should already be escaped
1212 and escaping again will break them (cause % is unsave) */ 1214 and escaping again will break them (cause % is unsave) */
1213 l_dndlist = list1 ( make_ext_string ((char *)data, 1215 l_dndlist = list1 ( make_ext_string ((Extbyte *)data,
1214 strlen ((char *)data), 1216 strlen ((char *)data),
1215 FORMAT_FILENAME) ); 1217 FORMAT_FILENAME) );
1216 l_type = Qdragdrop_URL; 1218 l_type = Qdragdrop_URL;
1217 break; 1219 break;
1218 default: /* Unknown, RawData and any other type */ 1220 default: /* Unknown, RawData and any other type */
1219 l_dndlist = list1 ( list3 ( make_string ("application/octet-stream", 24), 1221 l_dndlist = list1 ( list3 ( list1 ( make_string ((Bufbyte *)"application/octet-stream", 24) ),
1220 make_string ("8bit", 4), 1222 make_string ((Bufbyte *)"8bit", 4),
1221 make_ext_string ((char *)data, size, 1223 make_ext_string ((Extbyte *)data,
1224 size,
1222 FORMAT_BINARY) ) ); 1225 FORMAT_BINARY) ) );
1223 l_type = Qdragdrop_MIME; 1226 l_type = Qdragdrop_MIME;
1224 break; 1227 break;
1225 } 1228 }
1226 1229