From: Gordon W. <re...@us...> - 2002-02-04 05:51:48
|
Update of /cvsroot/macgpg/Mac_GPG_Keys In directory usw-pr-cvs1:/tmp/cvs-serv7066 Modified Files: PKController.h PKController.m Log Message: Added a bunch of options. All work except exactly as expected except for --recv-keys which still needs a gui to ask to import the key. Index: PKController.h =================================================================== RCS file: /cvsroot/macgpg/Mac_GPG_Keys/PKController.h,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** PKController.h 2002/01/29 16:59:42 1.4 --- PKController.h 2002/02/04 05:51:42 1.5 *************** *** 58,62 **** - (IBAction)keyGenerate:(id)sender; - (IBAction)keyReceive:(id)sender; - - (IBAction)keyRevoke:(id)sender; - (IBAction)keySend:(id)sender; - (IBAction)keySign:(id)sender; --- 58,61 ---- *************** *** 69,72 **** --- 68,72 ---- - (NSEnumerator *) selectedKeysByID; - (GPGRecipients *) selectedRecipients; + - (void) runScriptInTerminal: (NSString *) script; @end Index: PKController.m =================================================================== RCS file: /cvsroot/macgpg/Mac_GPG_Keys/PKController.m,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** PKController.m 2002/01/29 23:15:46 1.10 --- PKController.m 2002/02/04 05:51:44 1.11 *************** *** 50,54 **** [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didEndRefresh:) name:@"MacGPGKeys_PKEndRefresh" object:nil]; ! //[self listRefresh:nil]; } --- 50,54 ---- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didEndRefresh:) name:@"MacGPGKeys_PKEndRefresh" object:nil]; ! [self listRefresh:nil]; } *************** *** 159,162 **** --- 159,174 ---- - (IBAction)keyDelete:(id)sender { + NSEnumerator *sel_keys; + NSString *key_id; + + sel_keys = [self selectedKeysByID]; + while ((key_id = [sel_keys nextObject])) { + NSMutableString *script; + + script = [NSMutableString stringWithString: @"gpg --delete-key "]; + [script appendString: key_id]; + + [self runScriptInTerminal: script]; + } } *************** *** 168,187 **** sel_keys = [self selectedKeysByID]; while ((key_id = [sel_keys nextObject])) { - NSTask *edit_task; - NSMutableArray *args; NSMutableString *script; ! script = [NSMutableString stringWithString: @"tell application \"Terminal.app\" to do script with command \"gpg --edit-key "]; [script appendString: key_id]; - [script appendString: @"\""]; - args = [NSMutableArray array]; - [args addObject: @"-e"]; - [args addObject: script]; - edit_task = [[NSTask alloc] init]; - [edit_task setLaunchPath: @"/usr/bin/osascript"]; - [edit_task setArguments: args]; ! [edit_task launch]; ! [edit_task release]; } } --- 180,189 ---- sel_keys = [self selectedKeysByID]; while ((key_id = [sel_keys nextObject])) { NSMutableString *script; ! script = [NSMutableString stringWithString: @"gpg --edit-key "]; [script appendString: key_id]; ! [self runScriptInTerminal: script]; } } *************** *** 189,231 **** - (IBAction)keyGenerate:(id)sender { - NSTask *edit_task; - NSMutableArray *args; NSString *script; - - script = [NSString stringWithString: @"tell application \"Terminal.app\" to do script with command \"gpg --gen-key\""]; - args = [NSMutableArray array]; - [args addObject: @"-e"]; - [args addObject: script]; - edit_task = [[NSTask alloc] init]; - [edit_task setLaunchPath: @"/usr/bin/osascript"]; - [edit_task setArguments: args]; ! [edit_task launch]; ! [edit_task release]; ! } - (IBAction)keyReceive:(id)sender { ! } ! - (IBAction)keyRevoke:(id)sender ! { } - (IBAction)keySend:(id)sender { } - (IBAction)keySign:(id)sender { } - (IBAction)keySignLocal:(id)sender { } - (IBAction)keySync:(id)sender { } --- 191,273 ---- - (IBAction)keyGenerate:(id)sender { NSString *script; ! script = [NSString stringWithString: @"gpg --gen-key"]; ! [self runScriptInTerminal: script]; } - (IBAction)keyReceive:(id)sender { ! NSMutableString *script; ! script = [NSMutableString stringWithString: @"gpg --recv-key"]; ! //[script appendString: [get id from user]] ! [script appendString: @"xxxxxxxx"]; ! ! [self runScriptInTerminal: script]; } - (IBAction)keySend:(id)sender { + NSEnumerator *sel_keys; + NSString *key_id; + + sel_keys = [self selectedKeysByID]; + while ((key_id = [sel_keys nextObject])) { + NSMutableString *script; + + script = [NSMutableString stringWithString: @"gpg --send-key "]; + [script appendString: key_id]; + + [self runScriptInTerminal: script]; + } } - (IBAction)keySign:(id)sender { + NSEnumerator *sel_keys; + NSString *key_id; + + sel_keys = [self selectedKeysByID]; + while ((key_id = [sel_keys nextObject])) { + NSMutableString *script; + + script = [NSMutableString stringWithString: @"gpg --sign-key "]; + [script appendString: key_id]; + + [self runScriptInTerminal: script]; + } } - (IBAction)keySignLocal:(id)sender { + NSEnumerator *sel_keys; + NSString *key_id; + + sel_keys = [self selectedKeysByID]; + while ((key_id = [sel_keys nextObject])) { + NSMutableString *script; + + script = [NSMutableString stringWithString: @"gpg --lsign-key "]; + [script appendString: key_id]; + + [self runScriptInTerminal: script]; + } } - (IBAction)keySync:(id)sender { + NSEnumerator *sel_keys; + NSString *key_id; + + sel_keys = [self selectedKeysByID]; + while ((key_id = [sel_keys nextObject])) { + NSMutableString *script; + + script = [NSMutableString stringWithString: @"gpg --recv-key "]; + [script appendString: key_id]; + + [self runScriptInTerminal: script]; + } } *************** *** 285,288 **** --- 327,361 ---- return [recipients autorelease]; } + } + + - (void) runScriptInTerminal: (NSString *) script + { + NSTask *edit_task, *activate_task; + NSMutableArray *args; + NSMutableString *as_script; + + as_script = [NSMutableString stringWithString: @"tell application \"Terminal.app\" to do script with command \""]; + [as_script appendString: script]; + [as_script appendString: @"\""]; + + args = [NSMutableArray array]; + [args addObject: @"-e"]; + [args addObject: as_script]; + edit_task = [[NSTask alloc] init]; + [edit_task setLaunchPath: @"/usr/bin/osascript"]; + [edit_task setArguments: args]; + + [edit_task launch]; + [edit_task release]; + + //task to activate Terminal + activate_task = [[NSTask alloc] init]; + [activate_task setLaunchPath: @"/usr/bin/osascript"]; + [args removeLastObject]; + [args addObject: @"tell application \"Terminal.app\" to activate"]; + [activate_task setArguments: args]; + + [activate_task launch]; + [activate_task release]; } |