root/WiredClient/trunk/WCChatTextView.m

Revision 4462, 1.8 kB (checked in by morris, 2 years ago)

Also redirect paste to insertion text view in chat windows

  • Property svn:keywords set to Id Rev
Line 
1 /* $Id$ */
2
3 /*
4  *  Copyright (c) 2007 Axel Andersson
5  *  All rights reserved.
6  *
7  *  Redistribution and use in source and binary forms, with or without
8  *  modification, are permitted provided that the following conditions
9  *  are met:
10  *  1. Redistributions of source code must retain the above copyright
11  *     notice, this list of conditions and the following disclaimer.
12  *  2. Redistributions in binary form must reproduce the above copyright
13  *     notice, this list of conditions and the following disclaimer in the
14  *     documentation and/or other materials provided with the distribution.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19  * DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
20  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
22  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
24  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
25  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26  * POSSIBILITY OF SUCH DAMAGE.
27  */
28
29 #import "WCChatTextView.h"
30 #import "WCChatWindow.h"
31
32 @implementation WCChatTextView
33
34 - (BOOL)validateMenuItem:(NSMenuItem *)item {
35         if([item action] == @selector(paste:))
36                 return YES;
37        
38         return [super validateMenuItem:item];
39 }
40
41
42
43 - (void)paste:(id)sender {
44         NSTextView              *textView;
45         NSWindow                *window;
46        
47         if([self isEditable]) {
48                 [super paste:sender];
49         } else {
50                 window = [self window];
51                 textView = [[window delegate] insertionTextView];
52                
53                 [window makeFirstResponder:textView];
54                 [textView paste:sender];
55         }
56 }
57
58 @end
Note: See TracBrowser for help on using the browser.