# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1301088223 0 # Node ID 7fa26d8cc8d019dd6d21c878bd7b5811ab604cdc # Parent f8bfb19090f93bb0f567432803eccdb35f4edc5e Fix for column click handler not working. diff -r f8bfb19090f9 -r 7fa26d8cc8d0 mac/dw.m --- a/mac/dw.m Fri Mar 25 13:25:37 2011 +0000 +++ b/mac/dw.m Fri Mar 25 21:23:43 2011 +0000 @@ -999,7 +999,7 @@ /* Subclass for a Container/List type */ @interface DWContainer : NSTableView #ifdef BUILDING_FOR_SNOW_LEOPARD - + #endif { void *userdata; @@ -1010,12 +1010,14 @@ NSColor *fgcolor; int lastAddPoint, lastQueryPoint; id scrollview; + int filesystem; } -(NSInteger)numberOfRowsInTableView:(NSTableView *)aTable; -(id)tableView:(NSTableView *)aTable objectValueForTableColumn:(NSTableColumn *)aCol row:(NSInteger)aRow; -(BOOL)tableView:(NSTableView *)aTableView shouldEditTableColumn:(NSTableColumn *)aTableColumn row:(int)rowIndex; -(void *)userdata; -(void)setUserdata:(void *)input; +-(void)setFilesystem:(int)input; -(id)scrollview; -(void)setScrollview:(id)input; -(void)addColumn:(NSTableColumn *)input andType:(int)type; @@ -1080,6 +1082,7 @@ -(BOOL)tableView:(NSTableView *)aTableView shouldEditTableColumn:(NSTableColumn *)aTableColumn row:(int)rowIndex { return NO; } -(void *)userdata { return userdata; } -(void)setUserdata:(void *)input { userdata = input; } +-(void)setFilesystem:(int)input { filesystem = input; } -(id)scrollview { return scrollview; } -(void)setScrollview:(id)input { scrollview = input; } -(void)addColumn:(NSTableColumn *)input andType:(int)type { if(tvcols) { [tvcols addObject:input]; [types addObject:[NSNumber numberWithInt:type]]; } } @@ -1197,10 +1200,16 @@ /* Handler for container class */ _event_handler(self, (NSEvent *)[self getRowTitle:(int)[self selectedRow]], 9); } --(void)tableView:(NSTableView*)tableView mouseDownInHeaderOfTableColumn:(NSTableColumn *)tableColumn -{ +-(void)tableView:(NSTableView *)tableView mouseDownInHeaderOfTableColumn:(NSTableColumn *)tableColumn; +{ + NSUInteger index = [tvcols indexOfObject:tableColumn]; + + if(filesystem && index > 0) + { + index--; + } /* Handler for column click class */ - _event_handler(self, (NSEvent *)[tvcols indexOfObject:tableColumn], 17); + _event_handler(self, (NSEvent *)index, 17); } -(void)selectionChanged:(id)sender { @@ -1255,7 +1264,7 @@ /* Subclass for a Tree type */ @interface DWTree : NSOutlineView #ifdef BUILDING_FOR_SNOW_LEOPARD - + #endif { void *userdata; @@ -3201,6 +3210,7 @@ [cont setAllowsMultipleSelection:NO]; } [cont setDataSource:cont]; + [cont setDelegate:cont]; [scrollview setDocumentView:cont]; [cont setTag:cid]; [scrollview release]; @@ -4567,6 +4577,7 @@ { char **newtitles = malloc(sizeof(char *) * (count + 2)); unsigned long *newflags = malloc(sizeof(unsigned long) * (count + 2)); + DWContainer *cont = handle; newtitles[0] = "Icon"; newtitles[1] = "Filename"; @@ -4578,6 +4589,7 @@ memcpy(&newflags[2], flags, sizeof(unsigned long) * count); dw_container_setup(handle, newflags, newtitles, count + 2, 0); + [cont setFilesystem:YES]; free(newtitles); free(newflags);