mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-04-23 15:11:37 +00:00
Implemented dragFile:fromRect:slideBack:event:]. Moved code from
[dragImage:...slideBack:] to NSWindow and call this. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@11854 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
8f7ebfdc16
commit
652569d814
1 changed files with 27 additions and 10 deletions
|
@ -64,6 +64,7 @@
|
|||
#include <AppKit/NSScrollView.h>
|
||||
#include <AppKit/NSView.h>
|
||||
#include <AppKit/NSWindow.h>
|
||||
#include <AppKit/NSWorkspace.h>
|
||||
#include <AppKit/PSOperators.h>
|
||||
|
||||
/* Variable tells this view and subviews that we're printing. Not really
|
||||
|
@ -2523,7 +2524,26 @@ static NSView* findByTag(NSView *view, int aTag, unsigned *level)
|
|||
slideBack: (BOOL)slideFlag
|
||||
event: (NSEvent*)event
|
||||
{
|
||||
return NO;
|
||||
NSImage *anImage = [[NSWorkspace sharedWorkspace] iconForFile: filename];
|
||||
NSPasteboard *pboard = [NSPasteboard pasteboardWithName: NSDragPboard];
|
||||
|
||||
if (anImage == nil)
|
||||
return NO;
|
||||
|
||||
[pboard declareTypes: [NSArray arrayWithObject: NSFilenamesPboardType]
|
||||
owner: self];
|
||||
if (![pboard setPropertyList: filename
|
||||
forType: NSFilenamesPboardType])
|
||||
return NO;
|
||||
|
||||
[self dragImage: anImage
|
||||
at: rect.origin
|
||||
offset: NSMakeSize(0, 0)
|
||||
event: event
|
||||
pasteboard: pboard
|
||||
source: self
|
||||
slideBack: slideFlag];
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (void) dragImage: (NSImage*)anImage
|
||||
|
@ -2534,16 +2554,13 @@ static NSView* findByTag(NSView *view, int aTag, unsigned *level)
|
|||
source: (id)sourceObject
|
||||
slideBack: (BOOL)slideFlag
|
||||
{
|
||||
NSView *dragView = (NSView*)[GSCurrentContext() _dragInfo];
|
||||
|
||||
[NSApp preventWindowOrdering];
|
||||
[dragView dragImage: anImage
|
||||
at: viewLocation
|
||||
offset: initialOffset
|
||||
event: event
|
||||
[_window dragImage: anImage
|
||||
at: [self convertPoint: viewLocation toView: nil]
|
||||
offset: initialOffset
|
||||
event: event
|
||||
pasteboard: pboard
|
||||
source: sourceObject
|
||||
slideBack: slideFlag];
|
||||
source: sourceObject
|
||||
slideBack: slideFlag];
|
||||
}
|
||||
|
||||
- (void) registerForDraggedTypes: (NSArray*)types
|
||||
|
|
Loading…
Reference in a new issue