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
|