[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GNUstep paste board (Was: really attracting developers)
From: |
Fred Kiefer |
Subject: |
Re: GNUstep paste board (Was: really attracting developers) |
Date: |
Tue, 29 Aug 2006 19:16:41 +0200 |
User-agent: |
Thunderbird 1.5.0.5 (X11/20060725) |
Great! Thank you for the code I have a closer look soon.
Fred
Matt Rice schrieb:
> --- Fred Kiefer <fredkiefer@gmx.de> wrote:
>> DND will be another big step. Here a whole rewrite
>> is needed. When we
>> tried to integrate GNUstep DND with X we did get it
>> completely wrong the
>> first time.
>
> a while back i tried getting gnustep to work as a x
> 'dragging source' as we call it.. it still uses the
> outdated xdnd code but attached is what i ended up
> with and a dragging destination which also uses the
> outdated xdnd code from gnustep..
>
> the whole thing inside the case SelectionRequest:
> needs to be rewritten doesnt do any of the conversion
> it should (file uris should have file:// etc and other
> conversion methods for other stuff...)
>
> i recall there being alot more to the patch than this
> but this is all there seemed to be... so hopefully its
> all here...
>
> i also remember there being times when the code just
> magically didnt work..
>
> hope it helps, dont forsee finishing it anytime soon
> if someone wants to pick it up...
>
>
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
>
>
> ------------------------------------------------------------------------
>
> Index: Source/x11/XGServerEvent.m
> ===================================================================
> --- Source/x11/XGServerEvent.m (revision 22775)
> +++ Source/x11/XGServerEvent.m (working copy)
> @@ -30,6 +30,7 @@
> #include <AppKit/NSGraphics.h>
> #include <AppKit/NSMenu.h>
> #include <AppKit/NSWindow.h>
> +#include <AppKit/NSPasteboard.h>
> #include <Foundation/NSException.h>
> #include <Foundation/NSArray.h>
> #include <Foundation/NSDictionary.h>
> @@ -1294,10 +1295,34 @@
> break;
>
> case SelectionRequest:
> - NSDebugLLog(@"NSEvent", @"%d SelectionRequest\n",
> - xEvent.xselectionrequest.requestor);
> + {
> + DndClass dnd = xdnd();
> + /* ugly hack alert delete all this stuff please*/
> + NSPasteboard *pb = [NSPasteboard pasteboardWithName:NSDragPboard];
> + NSArray *types = [pb types];
> + NSLog(@"%@", [pb types]);
> + NSData *data;
> + if ([types count])
> + {
> + id uh = [pb propertyListForType:[types objectAtIndex:0]];
> + if ([uh isKindOfClass:[NSArray class]])
> + {
> + if ([uh count])
> + {
> + uh = [uh objectAtIndex:0];
> +
> + }
> + NSLog(@"%@", uh);
> + data = [uh dataUsingEncoding:NSASCIIStringEncoding
> allowLossyConversion:YES];
> + }
> + xdnd_selection_send(&dnd, &xEvent.xselectionrequest, (unsigned
> char *)[data bytes], [data length]);
> + }
> +
> + NSDebugLLog(@"NSEvent", @"%d SelectionRequest\n",
> + xEvent.xselectionrequest.requestor);
> + }
> break;
> -
> +
> // We shouldn't get here unless we forgot to trap an event above
> default:
> #ifdef XSHM
> Index: Source/x11/XGDragView.m
> ===================================================================
> --- Source/x11/XGDragView.m (revision 22775)
> +++ Source/x11/XGDragView.m (working copy)
> @@ -276,6 +276,7 @@
> break;
>
> case GSAppKitDraggingEnter:
> + xdnd_set_selection_owner(&dnd, dragWindev->ident, typelist[0]);
> xdnd_send_enter(&dnd, dWindowNumber, dragWindev->ident, typelist);
> xdnd_send_position(&dnd, dWindowNumber, dragWindev->ident,
> GSActionForDragOperation (dragMask & operationMask),
Re: really attracting developers, Rogelio Serrano, 2006/08/26
Re: really attracting developers, Gregory John Casamento, 2006/08/27
Message not available
Re: really attracting developers, Doc O'Leary, 2006/08/28