From c38b8cb01fa0aab1e79bafd5676886a37a96ee47 Mon Sep 17 00:00:00 2001 From: Mitchell Livingston Date: Tue, 11 Sep 2007 00:44:15 +0000 Subject: [PATCH] add ability to copy to the message window, and allow multiple selection --- .../MessageWindow.nib/keyedobjects.nib | Bin 10932 -> 10932 bytes macosx/MessageWindowController.m | 25 +++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/macosx/English.lproj/MessageWindow.nib/keyedobjects.nib b/macosx/English.lproj/MessageWindow.nib/keyedobjects.nib index afcb705c29d7d8ed7ce36a6cb99cf3cf3e8d39e3..b0cd86aa8c5c90bdb70873300c254e60ee296603 100644 GIT binary patch delta 611 zcmXw#%WG3n5QpcUGkslcJH1U~Z5usF@X=OCS|~LLB`F18NwteoFpCNb(p5k=!Jrw% zMIL4$*PRQYpbHm?m{@C#MMalxx^|iT2L=QeIyWK%=WrJ1`+f6ktT)zQ|F*8{w|Ymv zgYSA*zqe82kKzPQ;uHp~Mm?>zb^rX_!Wpv=o2&Qq=7y|v{eiD+=i^XP%aE};Dxub( z2rX#CV<@O+umKfo)|!DbZ*hz(OuWfizRdv+bBL4d@O`#9&GQ`LCH{5*i*Q!ovsSjP z6*zYQOW@aeovV>!bv%BT*HLlEbW<{rQ3;6V<=K+S2;2+sfSVFX-58QP%Sz6$40$0Q z_NmTQty$45iRiL`i-KxFR6;5u+!m#zC_5r;3nwdol~B_n8v4(8Aq@ReyS7<$3nuI) zjNiRsqV6kmA}>|M;R2N5JY0d4)KY;B;jY3(xCBvXNjW7+zbx5BNQ%iC6yPefy+tK$ zi)&KI0Ppjj)Rh*82sil+H^d?=rNzW^OJaa`~Ta|T@5~r7z)t@*>sWu zG)>2-ha3u%kH+W}jngCrX^KW^h6d?0jnMJ>pJ26bIAyMxo92$WYaW>==DFLP{`D7| CqpTeO delta 642 zcmXw#-AmI^7{{OAImfqOsgHBoQdeg#Dz{)S1SY|7CX_Xo!)zBq_BLYRHjpH7)SkMU z&RzYy^D3ckf-TxIvn3UE*^Sp-ZvR0-&_z8;aX6gk95|ov=Xt6#)tT47joU)YxA0wV z8I$sz+?May3e`9ap?N4YCM%dfJbnpKNxRc%I9neadzQAbs~>QJ2uRhP1?J zs#hIT4k*D-bzJqSel-APVN=e^tk{&TfneaAKJWKenwqm6#&qSWyj!m?pNf2mGbYJF$T4#qguDcA_hCK9 zamb+@a)4cz*%Cv?SU1j44}<(rIMyN(x+)D7Dx)pUj^R?p;cHwF4LlXz^1iG*ZZRkNeY8=Ef m*n>_yizm^6{piN-${$y$rE^Nh^*x=^%Q~;u^>eE>^y@EEp|_O) diff --git a/macosx/MessageWindowController.m b/macosx/MessageWindowController.m index ba0874be3..3d364bb26 100644 --- a/macosx/MessageWindowController.m +++ b/macosx/MessageWindowController.m @@ -164,10 +164,33 @@ - (void) tableView: (NSTableView *) tableView sortDescriptorsDidChange: (NSArray *) oldDescriptors { [fMessages sortUsingDescriptors: [fMessageTable sortDescriptors]]; - [fMessageTable reloadData]; } +- (void) copy: (id) sender +{ + NSIndexSet * indexes = [fMessageTable selectedRowIndexes]; + NSMutableArray * messageStrings = [NSMutableArray arrayWithCapacity: [indexes count]]; + + unsigned int i; + for (i = [indexes firstIndex]; i != NSNotFound; i = [indexes indexGreaterThanIndex: i]) + [messageStrings addObject: [self stringForMessage: [fMessages objectAtIndex: i]]]; + + NSPasteboard * pb = [NSPasteboard generalPasteboard]; + [pb declareTypes: [NSArray arrayWithObject: NSStringPboardType] owner: self]; + [pb setString: [messageStrings componentsJoinedByString: @"\n"] forType: NSStringPboardType]; +} + +- (BOOL) validateMenuItem: (NSMenuItem *) menuItem +{ + SEL action = [menuItem action]; + + if (action == @selector(copy:)) + return [fMessageTable numberOfSelectedRows] > 0; + + return YES; +} + - (void) changeLevel: (id) sender { [self updateLog: nil];