From: Andrew M. <fit...@us...> - 2006-04-12 20:37:32
|
Update of /cvsroot/radmind/radmind-assistant/rte In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19082 Modified Files: RXTranscript-ConversionAdditions.m SharedActions.h Log Message: Added Sort Transcript menu item Index: SharedActions.h =================================================================== RCS file: /cvsroot/radmind/radmind-assistant/rte/SharedActions.h,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** SharedActions.h 24 Feb 2006 22:04:24 -0000 1.10 --- SharedActions.h 12 Apr 2006 20:37:26 -0000 1.11 *************** *** 52,53 **** --- 52,57 ---- /* run twhich on the selected line */ - ( void )showSourceTranscripts: ( id )sender; + + /* sort transcript */ + - ( IBAction )sortTranscriptCaseSensitively: ( id )sender; + - ( IBAction )sortTranscriptCaseInsensitively: ( id )sender; Index: RXTranscript-ConversionAdditions.m =================================================================== RCS file: /cvsroot/radmind/radmind-assistant/rte/RXTranscript-ConversionAdditions.m,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** RXTranscript-ConversionAdditions.m 13 Mar 2006 15:53:10 -0000 1.3 --- RXTranscript-ConversionAdditions.m 12 Apr 2006 20:37:26 -0000 1.4 *************** *** 1,4 **** --- 1,6 ---- #import "RXTranscript-ConversionAdditions.h" + #include "pathcmp.h" + @implementation RXTranscript(ConversionAdditions) *************** *** 88,90 **** --- 90,129 ---- } + int + sortlines( id obj1, id obj2, void *context ) + { + int *case_sensitive = ( int * )context; + const char *p1, *p2; + + p1 = [[ obj1 objectForKey: @"path" ] UTF8String ]; + p2 = [[ obj2 objectForKey: @"path" ] UTF8String ]; + + return( pathcasecmp( p1, p2, *case_sensitive )); + } + + - ( void )sortTranscriptLines: ( int )caseSensitive + { + NSMutableArray *transcriptLines; + + if (( transcriptLines = [[ self transcriptContents ] mutableCopy ] ) == nil ) { + NSLog( @"mutableCopy failed!" ); + return; + } + + [ transcriptLines sortUsingFunction: &sortlines context: &caseSensitive ]; + + [ self setTranscriptContents: transcriptLines ]; + [ transcriptLines autorelease ]; + } + + - ( IBAction )sortTranscriptCaseSensitively: ( id )sender + { + [ self sortTranscriptLines: 1 ]; + } + + - ( IBAction )sortTranscriptCaseInsensitively: ( id )sender + { + [ self sortTranscriptLines: 0 ]; + } + @end |