Changeset 467

Show
Ignore:
Timestamp:
04/17/08 2:12:15 AM (8 months ago)
Author:
nicholas
Message:

Disable on list boxes.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEWebKit.m

    r457 r467  
    5757static id /* DOMRange */ selectedRange; 
    5858 
    59 - (void)mouseDown:(NSEvent *)e; 
    60 { 
    61     [downEvent release]; downEvent = nil; 
    62     if (ICCF_enabled && ICCF_prefs.commandClickEnabled && ICCF_EventIsCommandMouseDown(e)) { 
    63         if ([self respondsToSelector: @selector(_webView)]) { 
    64             WebView *webView = [(WebHTMLView *)self _webView]; 
    65              
    66             // save selection: it may be deselected on super mouseDown 
    67             selectedRange = [[webView selectedDOMRange] retain]; 
    68              
    69             // stop any URL launching from happening 
    70             if ([webView isEditable]) { 
    71                 policyDelegate = [[webView policyDelegate] retain]; 
    72                 [webView setPolicyDelegate: [ICeCoffEEWebPolicyDelegate sharedDelegate]]; 
    73             } 
    74              
    75             downEvent = [e retain]; 
    76         } 
    77     } 
    78     [super mouseDown: e]; 
    79 } 
    80  
    81  
    8259static BOOL ICCF_DOMParentOfClass(DOMNode *node, Class cls) { 
    8360    do { 
     
    9067#define ICCF_NodeIs(elt) [clickedNode isKindOfClass: NSClassFromString(@"DOMHTML"elt"Element")] 
    9168#define ICCF_DOMParentIs(elt) ICCF_DOMParentOfClass(clickedNode, NSClassFromString(@"DOMHTML"elt"Element")) 
     69 
     70- (void)mouseDown:(NSEvent *)e; 
     71{ 
     72    [downEvent release]; downEvent = nil; 
     73    if (ICCF_enabled && ICCF_prefs.commandClickEnabled && ICCF_EventIsCommandMouseDown(e)) { 
     74        if ([self respondsToSelector: @selector(_webView)]) { 
     75            WebView *webView = [(WebHTMLView *)self _webView]; 
     76             
     77            // check that the Command-click isn't being used for discontiguous selection 
     78            NSPoint viewClickPt = [webView convertPoint: [e locationInWindow] fromView: nil]; 
     79            NSDictionary *elementDict = [webView elementAtPoint: viewClickPt]; 
     80            DOMNode *clickedNode = [elementDict objectForKey: @"WebElementDOMNode"]; 
     81            if (clickedNode != nil && ICCF_NodeIs("Select")) { 
     82                [super mouseDown: e]; 
     83                return; 
     84            } 
     85             
     86            // save selection: it may be deselected on super mouseDown 
     87            selectedRange = [[webView selectedDOMRange] retain]; 
     88             
     89            // stop any URL launching from happening 
     90            if ([webView isEditable]) { 
     91                policyDelegate = [[webView policyDelegate] retain]; 
     92                [webView setPolicyDelegate: [ICeCoffEEWebPolicyDelegate sharedDelegate]]; 
     93            } 
     94             
     95            downEvent = [e retain]; 
     96        } 
     97    } 
     98    [super mouseDown: e]; 
     99} 
    92100 
    93101- (void)mouseUp:(NSEvent *)e;