Skip to content
Fetching contributors…
Cannot retrieve contributors at this time
76 lines (60 sloc) 1.97 KB
//
// PBQLOutlineView.m
// GitX
//
// Created by Pieter de Bie on 6/17/08.
// Copyright 2008 __MyCompanyName__. All rights reserved.
//
#import "PBQLOutlineView.h"
@implementation PBQLOutlineView
- initWithCoder: (NSCoder *) coder
{
id a = [super initWithCoder:coder];
[a setDataSource: a];
[a registerForDraggedTypes: [NSArray arrayWithObject:NSFilesPromisePboardType]];
return a;
}
/* Needed to drag outside application */
- (NSDragOperation)draggingSourceOperationMaskForLocal:(BOOL) local
{
return NSDragOperationCopy;
}
- (void) keyDown: (NSEvent *) event
{
if ([[event characters] isEqualToString:@" "]) {
[controller toggleQuickView:self];
return;
}
[super keyDown:event];
}
- (BOOL)outlineView:(NSOutlineView *)outlineView writeItems:(NSArray *)items toPasteboard:(NSPasteboard *) pb
{
NSMutableArray* fileNames = [NSMutableArray array];
for (id tree in items)
[fileNames addObject: [[[tree representedObject] path] pathExtension]];
[pb declareTypes:[NSArray arrayWithObject:NSFilesPromisePboardType] owner:self];
[pb setPropertyList:fileNames forType:NSFilesPromisePboardType];
return YES;
}
- (NSArray *)outlineView:(NSOutlineView *)outlineView namesOfPromisedFilesDroppedAtDestination:(NSURL *)dropDestination forDraggedItems:(NSArray *)items
{
NSMutableArray* fileNames = [NSMutableArray array];
for (id obj in items) {
PBGitTree* tree = [obj representedObject];
[fileNames addObject: [tree path]];
[tree saveToFolder:[dropDestination path]];
}
return fileNames;
}
/* Implemented to satisfy datasourcee protocol */
- (BOOL) outlineView: (NSOutlineView *)ov
isItemExpandable: (id)item { return NO; }
- (int) outlineView: (NSOutlineView *)ov
numberOfChildrenOfItem:(id)item { return 0; }
- (id) outlineView: (NSOutlineView *)ov
child:(int)index
ofItem:(id)item { return nil; }
- (id) outlineView: (NSOutlineView *)ov
objectValueForTableColumn:(NSTableColumn*)col
byItem:(id)item { return nil; }
@end
Something went wrong with that request. Please try again.