? INSTALL
? Makefile
? Makefile.in
? aclocal.m4
? autom4te.cache
? braille_style.patch
? config.log
? config.status
? configure
? install-sh
? lsr.desktop
? lsr.spec
? missing
? mkinstalldirs
? omf.make
? py-compile
? revision.patch
? touchcursor.patch
? xmldocs.make
? doc/Makefile
? doc/Makefile.in
? doc/man/Makefile
? doc/man/Makefile.in
? doc/ui/Makefile
? doc/ui/Makefile.in
? doc/workbook/Makefile
? doc/workbook/Makefile.in
? src/AccessEngine.pyc
? src/DeviceManager.pyc
? src/EventManager.pyc
? src/LSRLog.pyc
? src/Tier.pyc
? src/TierManager.pyc
? src/ViewManager.pyc
? src/global.installed
? src/AEConstants/Makefile
? src/AEConstants/Makefile.in
? src/AEMonitor/Base.pyc
? src/AEMonitor/MonitorCollection.pyc
? src/AEMonitor/__init__.pyc
? src/AEOutput/Audio.pyc
? src/AEOutput/Base.pyc
? src/AEOutput/Braille.pyc
? src/AEOutput/Error.pyc
? src/AEOutput/Style.pyc
? src/AEOutput/ThreadProxy.pyc
? src/AEOutput/__init__.pyc
? src/Adapters/__init__.pyc
? src/Adapters/ATSPI/ComboboxAdapter.pyc
? src/Adapters/ATSPI/ContainerAdapter.pyc
? src/Adapters/ATSPI/DefaultAction.pyc
? src/Adapters/ATSPI/DefaultEventHandler.pyc
? src/Adapters/ATSPI/DefaultInfo.pyc
? src/Adapters/ATSPI/DefaultNav.pyc
? src/Adapters/ATSPI/FactoryAdapter.pyc
? src/Adapters/ATSPI/HypertextAdapter.pyc
? src/Adapters/ATSPI/ImageAdapter.pyc
? src/Adapters/ATSPI/PopupAdapter.pyc
? src/Adapters/ATSPI/TableAdapter.pyc
? src/Adapters/ATSPI/TextAdapter.pyc
? src/Adapters/ATSPI/TreeAdapter.pyc
? src/Adapters/ATSPI/__init__.pyc
? src/Choosers/GTKUIEView.pyc
? src/Choosers/PerkChooser.pyc
? src/Choosers/SettingsChooser.pyc
? src/Devices/CliqueAudio.pyc
? src/Devices/DECtalkSpeech.pyc
? src/Devices/FestivalSpeech.pyc
? src/Devices/GSpeech.pyc
? src/Devices/IBMSpeech.pyc
? src/Devices/Keyboard.pyc
? src/Devices/SpeechDispatcher.pyc
? src/Monitors/GTKEventDialog.pyc
? src/Monitors/IOMonitor.pyc
? src/Monitors/RawEventMonitor.pyc
? src/Monitors/TaskMonitor.pyc
? src/Monitors/TestLogMonitor.pyc
? src/Perks/AltShiftPerk.pyc
? src/Perks/DefaultDialogPerk.pyc
? src/Perks/DefaultPerk.pyc
? src/Perks/DeveloperPerk.pyc
? src/Perks/FirefoxPerk.pyc
? src/Perks/GTerminalPerk.pyc
? src/Perks/GaimPerk.pyc
? src/Perks/GaimPerkBasic.py
? src/Perks/GaimPerkBasic.pyc
? src/Perks/GdmPerk.pyc
? src/Perks/MetacityPerk.pyc
Index: src/DeviceManager.py
===================================================================
RCS file: /cvs/gnome/lsr/src/DeviceManager.py,v
retrieving revision 1.54
diff -r1.54 DeviceManager.py
664c664
<   def _onGesture(self, gesture, timestamp):
---
>   def _onGesture(self, gesture, timestamp, **kwargs):
676c676
<     event = AEEvent.InputGesture(gesture, timestamp)
---
>     event = AEEvent.InputGesture(gesture, timestamp, **kwargs)
Index: src/LSRInterfaces.py
===================================================================
RCS file: /cvs/gnome/lsr/src/LSRInterfaces.py,v
retrieving revision 1.23
diff -r1.23 LSRInterfaces.py
901a902,914
>   def doMouseClickAtPor(mouseevent):
>     '''
>     Performs a mouse event on the center of a given point of regard.  If the
>     accessible has a role of text, then set cursor at given location in por
>     
>     @param mouseevent: mouse event to perform
>     @type mouseevent: integer of type EVENT_SYNTHMOUSE*
>     @return: Indicator of whether the acc was clicked or not
>     @raise LookupError: When the accessible object is dead
>     '''
>     pass
>     
>   
Index: src/Tier.py
===================================================================
RCS file: /cvs/gnome/lsr/src/Tier.py,v
retrieving revision 1.37
diff -r1.37 Tier.py
483a484,485
>       gesturedata = event.getDataForTask()
>       gesturedata['count'] = count
488c490
<       self._executeTask(task, None, layer, {'count' : count}, True, timestamp)
---
>       self._executeTask(task, None, layer, gesturedata, True, timestamp)
Index: src/AEConstants/Event.py
===================================================================
RCS file: /cvs/gnome/lsr/src/AEConstants/Event.py,v
retrieving revision 1.1
diff -r1.1 Event.py
69a70,86
> # synthesized mouse events
> # Maps directly to AT-SPI output strings
> EVENT_SYNTHMOUSE_B1P = 'b1p'
> EVENT_SYNTHMOUSE_B1R = 'b1r'
> EVENT_SYNTHMOUSE_B1C = 'b1c'
> EVENT_SYNTHMOUSE_B1D = 'b1d'
> EVENT_SYNTHMOUSE_B2P = 'b2p'
> EVENT_SYNTHMOUSE_B2R = 'b2r'
> EVENT_SYNTHMOUSE_B2C = 'b2c'
> EVENT_SYNTHMOUSE_B2D = 'b2d'
> EVENT_SYNTHMOUSE_B3P = 'b3p'
> EVENT_SYNTHMOUSE_B3R = 'b3r'
> EVENT_SYNTHMOUSE_B3C = 'b3c'
> EVENT_SYNTHMOUSE_B3D = 'b3d'
> EVENT_SYNTHMOUSE_ABS = 'abs'
> EVENT_SYNTHMOUSE_REL = 'rel'
> 
Index: src/AEConstants/Output.py
===================================================================
RCS file: /cvs/gnome/lsr/src/AEConstants/Output.py,v
retrieving revision 1.4
diff -r1.4 Output.py
37a38,49
> # braille constants
> # Caret display styles
> CARET_NONE = 0
> CARET_TWO_BOTTOM = 1
> CARET_BOTTOM_RIGHT = 2
> CARET_ALL = 3
> CARET_LAST = CARET_ALL
> # ellipsis display styles
> ELLIPSIS_CONTINUATION = 0
> ELLIPSIS_ELLIPSIS = 1
> ELLIPSIS_LAST = ELLIPSIS_ELLIPSIS
> 
Index: src/AEConstants/Platform.py
===================================================================
RCS file: /cvs/gnome/lsr/src/AEConstants/Attic/Platform.py,v
retrieving revision 1.1
diff -r1.1 Platform.py
49c49
< PROG_DATE = 'Thu Nov 30 20:35:52 UTC 2006'
---
> PROG_DATE = 'Tue Dec 12 20:25:21 UTC 2006'
Index: src/AEEvent/InputGesture.py
===================================================================
RCS file: /cvs/gnome/lsr/src/AEEvent/InputGesture.py,v
retrieving revision 1.9
diff -r1.9 InputGesture.py
46a47
>     self.kwargs = kwargs
105c106
<     return {}
\ No newline at end of file
---
>     return self.kwargs
\ No newline at end of file
Index: src/AEInput/Base.py
===================================================================
RCS file: /cvs/gnome/lsr/src/AEInput/Base.py,v
retrieving revision 1.8
diff -r1.8 Base.py
127c127
<   def _notifyInputListeners(self, gesture, timestamp):
---
>   def _notifyInputListeners(self, gesture, timestamp, **kwargs):
139c139
<         listener(gesture, timestamp)
---
>         listener(gesture, timestamp, **kwargs)
144,151c144,152
<     '''    
<     Abstract method. Sort the provided L{Gesture} according to a sort order
<     specific to the type of input device.
<     
<     @param gesture: L{Gesture} object to sort
<     @type gesture: L{Gesture}
<     @return: List of action codes sorted according to the specific device 
<         implementation
---
>     '''
>     Sorts the actions in the given L{AEInput.Gesture} and returns them as a list
>     of integers. The sort is done on a copy so the action codes held by the
>     provided L{AEInput.Gesture} are not touched.
> 
>     @param gesture: L{AEInput.Gesture} to sort
>     @type gesture: L{AEInput.Gesture}
>     @return: Sorted list of action codes that may be wrapped in a new
>         L{AEInput.Gesture}
153d153
<     @raise NotImplementedError: When this method is not overridden by a subclass
155c155,157
<     raise NotImplementedError
---
>     codes = gesture.getActionCodes()
>     codes.sort()
>     return codes
Index: src/AEOutput/Style.py
===================================================================
RCS file: /cvs/gnome/lsr/src/AEOutput/Style.py,v
retrieving revision 1.24
diff -r1.24 Style.py
16,17c16
< from AEConstants import FORMAT_TEXT, FORMAT_SPELL, FORMAT_PRONOUNCE, \
<      FORMAT_PHONETIC, FORMAT_LAST
---
> from AEConstants import *
328c327,394
<     return w
\ No newline at end of file
---
>     return w
>   
>   
> class BrailleStyle (Style):
>   '''
>   Defines the basic style attributes for all L{AEOutput.Braille} devices. 
>   
>   DisplayColumns (integer) Number of cells in each display row. 
>   DisplayRows (integer) Number of row in display.
>   TotalCells (integer) Total cells in display.
>   CaretStyle (enum): Current caret style
>   EllipsisRight (bool): Does user want right ellipsis shown? 
>   EllipsisLeft (bool): Does user want left ellipsis shown? 
>   EllipsisStyle (enum): Current ellipsis style
>   CellMask (string): Missing cell string.  0=bad cell; 1=good cell.
>   '''
>   def _initDefault(self):
>     '''
>     Called automatically by the L{Style} base class when this style is a 
>     default. Initializes all default braille options. If you want these
>     settings created, be sure to call this base class implementation if you
>     override in a subclass. Defaults to creating all L{WordState} settings.
>     '''
>     # braille display properties
>     
>     self.newNumeric('DisplayColumns', 40, _('Columns in display'), 0, 80, 0)
>     self.newNumeric('DisplayRows', 1, _('Rows in display'), 0, 10, 0)
>     self.newNumeric('TotalCells', 40, _('Total cells in display'), 0, 800, 0)
>     self.newEnum('CaretStyle', CARET_TWO_BOTTOM, _('Caret Display Style'), 
>                 {_('No Caret') : CARET_NONE,
>                 _('Two Bottom Pins') : CARET_TWO_BOTTOM,
>                 _('Bottom Right Pins') : CARET_BOTTOM_RIGHT,
>                 _('All Pins') : CARET_ALL},
>                 _('Defines the caret representation.'))
>                 
>     self.newBool('EllipsisRight', False, _('Ellipsis right?'), 
>                 _('When set, ellipsis will appear when additional text is to the right of the viewport.'))
>     self.newBool('EllipsisLeft', False, _('Ellipsis left?'), 
>               _('When set, ellipsis will appear when additional text is to the \
>   left of the viewport.'))
>     self.newEnum('EllipsisStyle', ELLIPSIS_ELLIPSIS, _('Ellipsis Display Style'), 
>                 {_('Pin 3 in 3 cells') : ELLIPSIS_ELLIPSIS,
>                 _('Continuation symbol') : ELLIPSIS_CONTINUATION},
>                 _('Defines the caret representation.'))
>                 
>     self.newString('CellMask', '', _('Broken Cell String'), 
>                   _('String of zeros and ones indicating the functionality of\
>  each cell'))
>   
>   def _newBrailleGroup(self, root):
>     
>     c = root.newGroup(_('Caret'))
>     c.append('CaretStyle')
>     d = root.newGroup(_('Ellipsis'))
>     d.append('EllipsisRight')
>     d.append('EllipsisLeft')
>     d.append('EllipsisStyle')
>     e = root.newGroup(_('Broken Cells'))
>     e.append('CellMask')
>     return root
>     
>     
>     
>     
>     
>     
>     
>   
\ No newline at end of file
Index: src/Adapters/ATSPI/DefaultAction.py
===================================================================
RCS file: /cvs/gnome/lsr/src/Adapters/ATSPI/DefaultAction.py,v
retrieving revision 1.8
diff -r1.8 DefaultAction.py
293a294,331
>   def doMouseClickAtPor(self, mouseevent):
>     '''
>     Performs a mouse event on the center of a given point of regard.  If the
>     accessible has a role of text, then set cursor at given location in por
>     
>     @param mouseevent: mouse event to perform
>     @type mouseevent: integer of type EVENT_SYNTHMOUSE*
>     @return: Indicator of whether the acc was clicked or not
>     @raise LookupError: When the accessible object is dead
>     '''
>     acc = self.accessible
>     try:
>       itext = Interfaces.IText(acc)
>       if self.char_offset is not None and self.item_offset is not None:
>         # setCaretOffset returns boolean
>         if not itext.setCaretOffset(self.char_offset+self.item_offset):
>           self._doMouseClickAtCenter(mouseevent)
>       else:
>         self._doMouseClickAtCenter(mouseevent)
>     except LookupError:
>       self._doMouseClickAtCenter(mouseevent)
>      
>     return True
>       
>   @pyLinAcc.errorToLookupError
>   def _doMouseClickAtCenter(self, mouseevent):
>     '''
>     Performs a mouse event on the center of the given accessible
>     
>     @param mouseevent: mouse event to perform
>     @type mouseevent: integer of type EVENT_SYNTHMOUSE*
>     @raise LookupError: When the accessible object is dead
>     '''
>     vpt_x, vpt_y = IAccessibleInfo(self.subject).getAccVisualPoint()
>     devcont = pyLinAcc.Registry.getDeviceEventController()
>     devcont.generateMouseEvent(vpt_x, vpt_y, mouseevent)
>   
>   @pyLinAcc.errorToLookupError
Index: src/Adapters/ATSPI/TextAdapter.py
===================================================================
RCS file: /cvs/gnome/lsr/src/Adapters/ATSPI/TextAdapter.py,v
retrieving revision 1.19
diff -r1.19 TextAdapter.py
22a23
> from DefaultAction import *
135c136
<     line, s, e = text.getTextAtOffset(self.item_offset, 
---
>     line, s, e = it.getTextAtOffset(self.item_offset, 
547a549
> 
Index: src/Devices/Keyboard.py
===================================================================
RCS file: /cvs/gnome/lsr/src/Devices/Keyboard.py,v
retrieving revision 1.18
diff -r1.18 Keyboard.py
218,233d217
<   def sortGesture(self, gesture):
<     '''
<     Sorts the actions in the given L{AEInput.Gesture} and returns them as a list
<     of integers. The sort is done on a copy so the action codes held by the
<     provided L{AEInput.Gesture} are not touched.
< 
<     @param gesture: L{AEInput.Gesture} to sort
<     @type gesture: L{AEInput.Gesture}
<     @return: Sorted list of action codes that may be wrapped in a new
<         L{AEInput.Gesture}
<     @rtype: list of integer
<     '''
<     codes = gesture.getActionCodes()
<     codes.sort()
<     return codes
< 
Index: src/Task/Tools/Error.py
===================================================================
RCS file: /cvs/gnome/lsr/src/Task/Tools/Error.py,v
retrieving revision 1.8
diff -r1.8 Error.py
90a91,96
> class ClickError(ActionError):
>   '''
>   Exception for failures clicking the selection.
>   '''
>   description =  _('mouse click failed')
>   
99c105
<   Exceptiosn for failures manipulating text.
---
>   Exception for failures manipulating text.
Index: src/Task/Tools/View.py
===================================================================
RCS file: /cvs/gnome/lsr/src/Task/Tools/View.py,v
retrieving revision 1.42
diff -r1.42 View.py
2413c2413,2444
<     return self.tier.getLastKey()
\ No newline at end of file
---
>     return self.tier.getLastKey()
>   
>   def clickPOR(self, mouseevent, por=None):
>     ''' 
>     Performs a mouse event on the center of a given point of regard.  If the
>     accessible has a role of text, then the cursor is set at given location in
>     por.
> 
>     @param mouseevent: Mouse event OF type EVENT_SYNTHMOUSE_*
>     @type mouseevent: String
>     @param por: Point of regard to the text area; use the current task's 
>       L{POR} if none supplied
>     @type por: L{POR}
>     @return: Did touch cursor succeed?
>     @rtype: boolean
>     @raise PORError: When the L{POR} is invalid
>     @raise SelectError: When the deselection operation fails
>     '''
>     por = por or self.task_por 
>     try:
>       rv = IAccessibleAction(por).doMouseClickAtPor(mouseevent)
>     except LookupError:
>       raise PORError
>     except NotImplementedError:
>       # return False if not supported
>       return False
>     else:
>       if not rv:
>         # raise an error if supported but failed
>         raise ClickError
>     return True
>     
\ No newline at end of file
