Mercurial > projects > dwt2
changeset 52:fa9548cd8d89
[swt lin]
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Fri, 27 Mar 2009 20:14:07 +0100 |
parents | c01d033c633a |
children | 7e78af7adab5 |
files | org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/dnd/FileTransfer.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/dnd/HTMLTransfer.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/dnd/RTFTransfer.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/dnd/TextTransfer.d org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/c/glib_object.d |
diffstat | 5 files changed, 17 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/dnd/FileTransfer.d Fri Mar 27 19:58:06 2009 +0100 +++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/dnd/FileTransfer.d Fri Mar 27 20:14:07 2009 +0100 @@ -79,7 +79,7 @@ DND.error(DND.ERROR_INVALID_DATA); } String[] files = (cast(ArrayWrapperString2)object).array; - String buffer; + char[] buffer; for (int i = 0; i < files.length; i++) { String string = files[i]; if (string.ptr is null) continue; @@ -90,10 +90,10 @@ auto uriPtr = OS.g_filename_to_uri(localePtr, null, &error); OS.g_free(localePtr); if (error !is null || uriPtr is null) continue; - String temp = fromStringz( uriPtr ).dup; + String temp = fromStringz( uriPtr )._idup(); OS.g_free(uriPtr); int newLength = (i > 0) ? buffer.length+separator.length+temp.length : temp.length; - String newBuffer = new char[newLength]; + auto newBuffer = new char[newLength]; int offset = 0; if (i > 0) { System.arraycopy(buffer, 0, newBuffer, 0, buffer.length); @@ -126,7 +126,7 @@ */ public override Object nativeToJava(TransferData transferData) { if ( !isSupportedType(transferData) || transferData.pValue is null || transferData.length <= 0 ) return null; - String temp = transferData.pValue[ 0 .. transferData.length ]; + auto temp = transferData.pValue[ 0 .. transferData.length ]; char*[] files; int offset = 0; for (int i = 0; i < temp.length - 1; i++) { @@ -155,7 +155,7 @@ auto utf8Ptr = OS.g_filename_to_utf8(localePtr, -1, null, null, &error); OS.g_free(localePtr); if (error !is null || utf8Ptr is null) continue; - String buffer = fromStringz( utf8Ptr ).dup; + String buffer = fromStringz( utf8Ptr )._idup(); OS.g_free(utf8Ptr); String name = buffer; String[] newFileNames = new String[]( fileNames.length + 1 );
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/dnd/HTMLTransfer.d Fri Mar 27 19:58:06 2009 +0100 +++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/dnd/HTMLTransfer.d Fri Mar 27 20:14:07 2009 +0100 @@ -77,7 +77,7 @@ if (!checkHTML(object) || !isSupportedType(transferData)) { DND.error(DND.ERROR_INVALID_DATA); } - String string = (cast(ArrayWrapperString)object).array; + String string = stringcast(object); char* pValue = cast(char*)OS.g_malloc(string.length); if (pValue is null) return; pValue[0 .. string.length ] = string; @@ -102,8 +102,9 @@ /* Ensure byteCount is a multiple of 2 bytes */ int size = (transferData.format * transferData.length / 8) / 2 * 2; if (size <= 0) return null; - String chars = transferData.pValue[ 0 .. size ].dup; - return new ArrayWrapperString( chars[ 0 .. tango.text.Util.locate( chars, '\0' ) ] ); + String chars = transferData.pValue[ 0 .. size ]._idup(); + int end = string.indexOf('\0'); + return new ArrayWrapperString( (end is -1 )? chars : chars[ 0 .. end ] ); } protected override int[] getTypeIds() { return [TEXT_HTML_ID, TEXT_HTML2_ID];
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/dnd/RTFTransfer.d Fri Mar 27 19:58:06 2009 +0100 +++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/dnd/RTFTransfer.d Fri Mar 27 20:14:07 2009 +0100 @@ -81,7 +81,7 @@ if (!checkRTF(object) || !isSupportedType(transferData)) { DND.error(DND.ERROR_INVALID_DATA); } - String string = (cast(ArrayWrapperString)object).array; + String string = stringcast(object); char* pValue = cast(char*)OS.g_malloc(string.length + 1); if (pValue is null) return; pValue[ 0 .. string.length ] = string; @@ -107,7 +107,8 @@ int size = transferData.format * transferData.length / 8; if (size is 0) return null; char [] chars = transferData.pValue[ 0 .. size]; - return new ArrayWrapperString( chars[ 0 .. tango.text.Util.locate( chars, '\0' ) ].dup ); + int end = chars.indexOf( '\0' ); + return new ArrayWrapperString( (end is -1)? chars.dup : chars[ 0 .. end ].dup ); } protected override int[] getTypeIds() {
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/dnd/TextTransfer.d Fri Mar 27 19:58:06 2009 +0100 +++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/dnd/TextTransfer.d Fri Mar 27 20:14:07 2009 +0100 @@ -77,7 +77,7 @@ if (!checkText(object) || !isSupportedType(transferData)) { DND.error(DND.ERROR_INVALID_DATA); } - String string = (cast(ArrayWrapperString)object).array; + String string = stringcast(object); char* utf8 = toStringz(string); if (transferData.type is cast(void*) COMPOUND_TEXT_ID) { void* encoding; @@ -108,7 +108,7 @@ if (string_target is null) return; transferData.type = cast(void*)STRING_ID; transferData.format = 8; - transferData.length = tango.stdc.string.strlen(string_target); + transferData.length = OS.strlen(string_target); transferData.pValue = string_target; transferData.result = 1; } @@ -128,7 +128,7 @@ char** list; int count = OS.gdk_text_property_to_utf8_list(transferData.type, transferData.format, transferData.pValue, transferData.length, &list); if (count is 0) return null; - String utf8 = fromStringz( list[0] ).dup; + String utf8 = fromStringz( list[0] )._idup(); OS.g_strfreev(list); return new ArrayWrapperString( utf8 ); }
--- a/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/c/glib_object.d Fri Mar 27 19:58:06 2009 +0100 +++ b/org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/c/glib_object.d Fri Mar 27 20:14:07 2009 +0100 @@ -2697,7 +2697,7 @@ extern (C) char * function(char *)g_filename_display_name; extern (C) char * function(char *, char *, _GError * *)g_filename_to_uri; extern (C) char * function(char *, char * *, _GError * *)g_filename_from_uri; -extern (C) char * function(char *, int, uint *, uint *, _GError * *)g_filename_from_utf8; +extern (C) char * function(in char *, int, uint *, uint *, _GError * *)g_filename_from_utf8; extern (C) char * function(char *, int, uint *, uint *, _GError * *)g_filename_to_utf8; extern (C) char * function(char *, int, uint *, uint *, _GError * *)g_locale_from_utf8; extern (C) char * function(char *, int, uint *, uint *, _GError * *)g_locale_to_utf8; @@ -5523,7 +5523,7 @@ extern (C) char * g_filename_display_name(char *); extern (C) char * g_filename_to_uri(char *, char *, _GError * *); extern (C) char * g_filename_from_uri(char *, char * *, _GError * *); -extern (C) char * g_filename_from_utf8(char *, int, uint *, uint *, _GError * *); +extern (C) char * g_filename_from_utf8(in char *, int, uint *, uint *, _GError * *); extern (C) char * g_filename_to_utf8(char *, int, uint *, uint *, _GError * *); extern (C) char * g_locale_from_utf8(char *, int, uint *, uint *, _GError * *); extern (C) char * g_locale_to_utf8(char *, int, uint *, uint *, _GError * *);