Changeset 2510

Show
Ignore:
Timestamp:
11/18/08 07:40:23 (7 weeks ago)
Author:
bzr
Message:
  • speech.getSpeechTextForProperties(): Don't treat a level of 0 as no level. Fixes the regression whereby level 0 in tree views was not spoken.
  • sysTreeView32 TreeViewItem? NVDAObject: Don't fall back to IAccessible for positionInfo when retrieving the item handle fails, as this information isn't valid for SysTreeView?32 items. Stops the reporting of weird position information in broken SysTreeView?32 controls such as Device Manager.
Location:
trunk
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • trunk

    • Property bzr:revision-info
      •  

        old new  
        1 timestamp: 2008-11-18 16:57:23.318000078 +1100 
        2 committer: Michael Curran <mick@kulgan.net> 
         1timestamp: 2008-11-18 17:33:09.489000082 +1000 
         2committer: James Teh <jamie@jantrid.net> 
        33properties:  
        44        branch-nick: main 
    • Property bzr:revision-id:v3-list-QlpoOTFBWSZTWbrL2vUAAB1VgAAQABCAQDrrnqAgAFCgaaGRkxBoTIJ6mmaNRwhndFAoNhZjh_YY4a01fOg1ulgNNC2UrzPdXXEnDpX8XckU4UJC6y9r1A..
      •  

        old new  
        2792792307 jamie@jantrid.net-20081118035836-d8yvw3fqtn5g1w1s 
        2802802308 mick@kulgan.net-20081118055723-kt92pexgf6vuc62d 
         2812309 jamie@jantrid.net-20081118073309-8zv0dy0iepb9yo3v 
  • trunk/source/NVDAObjects/IAccessible/sysTreeView32.py

    r2509 r2510  
    131131 
    132132        def _get_positionInfo(self): 
    133                 info=super(TreeViewItem,self)._get_positionInfo() 
    134                 if self.IAccessibleChildID>0: 
    135                         info['level']=self.treeLevel 
    136                         hItem=winUser.sendMessage(self.windowHandle,TVM_MAPACCIDTOHTREEITEM,self.IAccessibleChildID,0) 
    137                         if not hItem: 
    138                                 return info 
    139                         newItem=hItem 
    140                         index=0 
    141                         while newItem>0: 
    142                                 index+=1 
    143                                 newItem=winUser.sendMessage(self.windowHandle,TVM_GETNEXTITEM,TVGN_PREVIOUS,newItem) 
    144                         newItem=hItem 
    145                         numItems=index-1 
    146                         while newItem>0: 
    147                                 numItems+=1 
    148                                 newItem=winUser.sendMessage(self.windowHandle,TVM_GETNEXTITEM,TVGN_NEXT,newItem) 
    149                         info['indexInGroup']=index 
    150                         info['similarItemsInGroup']=numItems 
     133                if self.IAccessibleChildID==0: 
     134                        return super(TreeViewItem,self)._get_positionInfo() 
     135                info={} 
     136                info['level']=self.treeLevel 
     137                hItem=winUser.sendMessage(self.windowHandle,TVM_MAPACCIDTOHTREEITEM,self.IAccessibleChildID,0) 
     138                if not hItem: 
     139                        return info 
     140                newItem=hItem 
     141                index=0 
     142                while newItem>0: 
     143                        index+=1 
     144                        newItem=winUser.sendMessage(self.windowHandle,TVM_GETNEXTITEM,TVGN_PREVIOUS,newItem) 
     145                newItem=hItem 
     146                numItems=index-1 
     147                while newItem>0: 
     148                        numItems+=1 
     149                        newItem=winUser.sendMessage(self.windowHandle,TVM_GETNEXTITEM,TVGN_NEXT,newItem) 
     150                info['indexInGroup']=index 
     151                info['similarItemsInGroup']=numItems 
    151152                return info 
    152153 
  • trunk/source/speech.py

    r2509 r2510  
    589589                level=propertyValues.get('positionInfo_level',None) 
    590590                role=propertyValues.get('role',None) 
    591                 if level and role==controlTypes.ROLE_TREEVIEWITEM and level!=oldTreeviewLevel: 
     591                if level is not None and role==controlTypes.ROLE_TREEVIEWITEM and level!=oldTreeviewLevel: 
    592592                        textList.insert(0,_("level %s")%level) 
    593593                        oldTreeviewLevel=level