# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: mhameed@src.gnome.org-20110608135556-iq9763wykib5m8xu
# target_branch: http://bzr.nvaccess.org/nvda/main/
# testament_sha1: 55468416a6e85a6f3d1ea9e0e6f5fd27f7197d85
# timestamp: 2011-06-08 14:56:25 +0100
# base_revision_id: jamie@jantrid.net-20110608091903-uo2exuc030f0w2ij
# 
# Begin patch
=== modified file 'source/config/__init__.py'
--- source/config/__init__.py	2011-06-01 07:18:03 +0000
+++ source/config/__init__.py	2011-06-08 13:55:56 +0000
@@ -143,6 +143,7 @@
 	reportTables = boolean(default=true)
 	includeLayoutTables = boolean(default=False)
 	reportTableHeaders = boolean(default=True)
+	reportTableCellCoords = boolean(default=True)
 	reportLinks = boolean(default=true)
 	reportLists = boolean(default=true)
 	reportHeadings = boolean(default=true)

=== modified file 'source/gui/settingsDialogs.py'
--- source/gui/settingsDialogs.py	2011-06-02 11:20:56 +0000
+++ source/gui/settingsDialogs.py	2011-06-08 13:55:56 +0000
@@ -741,6 +741,9 @@
 		self.tableHeadersCheckBox=wx.CheckBox(self,wx.NewId(),label=_("Report table row/column h&eaders"))
 		self.tableHeadersCheckBox.SetValue(config.conf["documentFormatting"]["reportTableHeaders"])
 		settingsSizer.Add(self.tableHeadersCheckBox,border=10,flag=wx.BOTTOM)
+		self.tableCellCoordsCheckBox=wx.CheckBox(self,wx.NewId(),label=_("Report table cell &coordinates"))
+		self.tableCellCoordsCheckBox.SetValue(config.conf["documentFormatting"]["reportTableCellCoords"])
+		settingsSizer.Add(self.tableCellCoordsCheckBox,border=10,flag=wx.BOTTOM)
 		self.linksCheckBox=wx.CheckBox(self,wx.NewId(),label=_("Report &links"))
 		self.linksCheckBox.SetValue(config.conf["documentFormatting"]["reportLinks"])
 		settingsSizer.Add(self.linksCheckBox,border=10,flag=wx.BOTTOM)
@@ -773,6 +776,7 @@
 		config.conf["documentFormatting"]["reportLineNumber"]=self.lineNumberCheckBox.IsChecked()
 		config.conf["documentFormatting"]["reportTables"]=self.tablesCheckBox.IsChecked()
 		config.conf["documentFormatting"]["reportTableHeaders"]=self.tableHeadersCheckBox.IsChecked()
+		config.conf["documentFormatting"]["reportTableCellCoords"]=self.tableCellCoordsCheckBox.IsChecked() 
 		config.conf["documentFormatting"]["reportLinks"]=self.linksCheckBox.IsChecked()
 		config.conf["documentFormatting"]["reportHeadings"]=self.headingsCheckBox.IsChecked()
 		config.conf["documentFormatting"]["reportLists"]=self.listsCheckBox.IsChecked()

=== modified file 'source/speech.py'
--- source/speech.py	2011-06-08 06:42:46 +0000
+++ source/speech.py	2011-06-08 13:55:56 +0000
@@ -260,7 +260,8 @@
 	if reason!=REASON_QUERY:
 		allowProperties["rowCount"]=False
 		allowProperties["columnCount"]=False
-		if not config.conf["documentFormatting"]["reportTables"] or obj.tableCellCoordsInName:
+		if not config.conf["documentFormatting"]["reportTables"] or \
+			config.conf["documentFormatting"]["reportTableCellCoords"] or obj.tableCellCoordsInName:
 			allowProperties["rowNumber"]=False
 			allowProperties["columnNumber"]=False
 	if isEditable:
@@ -681,6 +682,7 @@
 	value=propertyValues.get('value') if role not in silentValuesForRoles else None
 	rowNumber=propertyValues.get('rowNumber')
 	columnNumber=propertyValues.get('columnNumber')
+	includeCoords=propertyValues.get('includeCoords')
 	if speakRole and (reason not in (REASON_SAYALL,REASON_CARET,REASON_FOCUS) or not (name or value or rowNumber or columnNumber) or role not in silentRolesOnFocus):
 		textList.append(controlTypes.speechRoleLabels[role])
 	if value:
@@ -728,13 +730,15 @@
 			rowHeaderText = propertyValues.get("rowHeaderText")
 			if rowHeaderText:
 				textList.append(rowHeaderText)
-			textList.append(_("row %s")%rowNumber)
+			if includeCoords: 
+				textList.append(_("row %s")%rowNumber)
 			oldRowNumber = rowNumber
 		if columnNumber and (not sameTable or columnNumber != oldColumnNumber):
 			columnHeaderText = propertyValues.get("columnHeaderText")
 			if columnHeaderText:
 				textList.append(columnHeaderText)
-			textList.append(_("column %s")%columnNumber)
+			if includeCoords:
+				textList.append(_("column %s")%columnNumber)
 			oldColumnNumber = columnNumber
 	rowCount=propertyValues.get('rowCount',0)
 	columnCount=propertyValues.get('columnCount',0)
@@ -861,10 +865,18 @@
 	elif fieldType=="start_addedToControlFieldStack" and role in (controlTypes.ROLE_TABLECELL,controlTypes.ROLE_TABLECOLUMNHEADER,controlTypes.ROLE_TABLEROWHEADER) and tableID:
 		# Table cell.
 		reportTableHeaders = formatConfig["reportTableHeaders"]
-		return " ".join((getSpeechTextForProperties(_tableID=tableID,
-				rowNumber=attrs.get("table-rownumber"), columnNumber=attrs.get("table-columnnumber"),
-				rowHeaderText=attrs.get("table-rowheadertext") if reportTableHeaders else None, columnHeaderText=attrs.get("table-columnheadertext") if reportTableHeaders else None),
-			stateText))
+		reportTableCellCoords = formatConfig["reportTableCellCoords"]
+		getProps = {}
+		# Default to give the coordinates.
+		getProps['rowNumber'] = attrs.get("table-rownumber")
+		getProps['columnNumber'] = attrs.get("table-columnnumber")
+		getProps['includeCoords'] = True
+		if not reportTableCellCoords:
+			getProps['includeCoords'] = False
+		if reportTableHeaders:
+			getProps['rowHeaderText'] = attrs.get("table-rowheadertext")
+			getProps['columnHeaderText'] = attrs.get("table-columnheadertext")
+		return " ".join((getSpeechTextForProperties(_tableID=tableID, **getProps), stateText) )
 
 	# General cases
 	elif (

=== modified file 'user_docs/en/changes.t2t'
--- user_docs/en/changes.t2t	2011-06-08 06:42:46 +0000
+++ user_docs/en/changes.t2t	2011-06-08 13:55:56 +0000
@@ -19,6 +19,7 @@
 - in Internet Explorer and other MSHTML controls, support for ARIA list, gridcell, slider and progressbar controls has been improved.
 - Users can now change the pronunciation of punctuation and other symbols, as well as the symbol level at which they are spoken. (#271, #1516)
 - In Microsoft Excel, the name of the active sheet is now reported when switching sheets with control+pageUp or control+pageDown. (#760)
+- When reading tables, you can toggle the announcement of table cell coordinates, see document formatting dialog. (#719)
 
 
 == Changes ==

=== modified file 'user_docs/en/userGuide.t2t'
--- user_docs/en/userGuide.t2t	2011-06-08 09:19:03 +0000
+++ user_docs/en/userGuide.t2t	2011-06-08 13:55:56 +0000
@@ -770,6 +770,7 @@
 - line numbers
 - tables
 - table row/column headers
+- table cell coordinates
 - links
 - headings
 - lists

# Begin bundle
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
