Changeset 105

Show
Ignore:
Timestamp:
01/04/08 11:58:45
Author:
slee
Message:

fixed firefox menus and blinker is thinner to indicate will close group

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • inapp/trunk/src/jambu/AccDecorator.py

    r98 r105  
    148148    y = int(rect.y + rect.height / 2) 
    149149    reg = pyatspi.Registry() 
    150     reg.generateMouseEvent(x, y, pyatspi.MOUSE_B1P) 
    151     reg.generateMouseEvent(x, y, pyatspi.MOUSE_B1R) 
     150#    reg.generateMouseEvent(x, y, pyatspi.MOUSE_B1P) 
     151#    reg.generateMouseEvent(x, y, pyatspi.MOUSE_B1R) 
    152152    reg.generateMouseEvent(x, y, pyatspi.MOUSE_B1C) 
    153153 
  • inapp/trunk/src/jambu/ActionBrowser.py

    r101 r105  
    160160      extents = AccDecorator(acc).getExtents(pyatspi.DESKTOP_COORDS) 
    161161      if extents: 
    162         self.blink(extents) 
     162        expanded = self.groups_tree.row_expanded(self.groups_tree.get_selected_path(selection)) 
     163        size = (1 if expanded else 3) 
     164        self.blink(extents, size) 
    163165     
    164   def blink(self, extents): 
     166  def blink(self, extents, thickness): 
    165167    if self.bl: 
    166168      self.bl.stop() 
    167169      del self.bl 
    168170      self.bl = None 
    169     self.bl = Blinker(extents
     171    self.bl = Blinker(extents, thickness
    170172    self.bl.start() 
    171173 
  • inapp/trunk/src/jambu/ActionTree.py

    r100 r105  
    6363    model, iter, acc = self._getSelection(selection) 
    6464    return acc 
     65 
     66  def get_selected_path(self, selection=None): 
     67    model, iter, acc = self._getSelection(selection) 
     68    if iter is not None: 
     69      path = model.get_path(iter) 
     70    return path 
    6571 
    6672  def get_acc_from_iter(self, iter): 
     
    158164     
    159165    s = formatEvent(event) 
    160     #PrintMessage(s).send() 
     166    PrintMessage(s).send() 
    161167 
    162168    if event.type == 'focus:' and \ 
     
    211217         
    212218    elif event.source.getRole() == pyatspi.ROLE_MENU: 
    213       if event.type == 'object:state-changed:selected'
     219      if event.type in ('object:state-changed:selected', 'object:state-changed:focused')
    214220        PrintMessage(s).send() 
    215221        selected = bool(event.detail1) 
     
    225231      elif event.type == 'object:state-changed:visible' \ 
    226232          and event.detail1 == 0: 
     233        PrintMessage(s).send() 
     234        HideMenuMessage().send() 
     235 
     236    elif event.source.getRole() == pyatspi.ROLE_WINDOW: 
     237      if event.type in ('object:state-changed:iconified'): 
    227238        PrintMessage(s).send() 
    228239        HideMenuMessage().send() 
     
    291302    if acc is None: return 
    292303    path = model.get_path(iter) 
    293 #    acc.grabFocus() 
     304    acc.grabFocus() 
    294305  
     306    print acc 
     307     
    295308    if acc.isEditable(): 
    296309      try: 
     
    300313       
    301314    elif acc.isSelectable(): 
     315      print 'sel' 
    302316      if acc.hasRoleIn(pyatspi.ROLE_MENU_ITEM): 
    303317        if not self.row_expanded(path): 
     
    319333    elif acc.hasToolkitIn('Gecko') and \ 
    320334         acc.hasRoleIn(pyatspi.ROLE_MENU, pyatspi.ROLE_MENU_ITEM): 
    321         acc.generateClick() 
     335      print 'click' 
     336      acc.generateClick() 
    322337                
    323338    # TODO: use template DP for toolkit and application 
    324339    elif acc.isActionable(): 
     340      print 'action' 
    325341      acc.doAction() 
    326342 
     
    337353           
    338354    elif acc.is_group: 
     355      print 'group' 
    339356      self._do_actionGroup(iter) 
    340357 
     
    344361    if self.row_expanded(path): 
    345362      self.collapse_row(path) 
     363      selection = self.get_selection() 
     364      selection.emit('changed') 
    346365    elif model.iter_has_child(iter): 
    347366      self.expand_row(path, False) 
  • inapp/trunk/src/jambu/Blinker.py

    r98 r105  
    99  blink_on_time = 200 
    1010  blink_off_time = 450 
    11   def __init__(self, extents): 
     11  def __init__(self, extents, thickness=3): 
    1212    self.extents = extents 
    1313    display = gtk.gdk.display_get_default() 
     
    1717    self.gc.set_subwindow(gtk.gdk.INCLUDE_INFERIORS) 
    1818    self.gc.set_function(gtk.gdk.INVERT) 
    19     self.gc.set_line_attributes(3, gtk.gdk.LINE_DOUBLE_DASH, gtk.gdk.CAP_BUTT,  
     19    self.gc.set_line_attributes(thickness, gtk.gdk.LINE_DOUBLE_DASH, gtk.gdk.CAP_BUTT,  
    2020                                gtk.gdk.JOIN_MITER) 
    2121