# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: mhameed@src.gnome.org-20110601171936-uwd59ja09alrxsnr
# target_branch: http://bzr.nvaccess.org/nvda/main/
# testament_sha1: 440e28132515ea4fb01e5d56fc7a53fe6dd83d80
# timestamp: 2011-06-01 18:19:55 +0100
# base_revision_id: mick@kulgan.net-20110601072420-hr13y1ugw9u5soai
# 
# 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-01 17:19:36 +0000
@@ -143,6 +143,7 @@
 	reportTables = boolean(default=true)
 	includeLayoutTables = boolean(default=False)
 	reportTableHeaders = boolean(default=True)
+	reportTableCellCords = 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-05-30 09:14:57 +0000
+++ source/gui/settingsDialogs.py	2011-06-01 17:19:36 +0000
@@ -747,6 +747,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.tableCellCordsCheckBox=wx.CheckBox(self,wx.NewId(),label=_("Report table cell &coordinates"))
+		self.tableCellCordsCheckBox.SetValue(config.conf["documentFormatting"]["reportTableCellCords"])
+		settingsSizer.Add(self.tableCellCordsCheckBox,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)
@@ -779,6 +782,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"]["reportTableCellCords"]=self.tableCellCordsCheckBox.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-05-30 03:42:08 +0000
+++ source/speech.py	2011-06-01 17:19:36 +0000
@@ -729,13 +729,15 @@
 			rowHeaderText = propertyValues.get("rowHeaderText")
 			if rowHeaderText:
 				textList.append(rowHeaderText)
-			textList.append(_("row %s")%rowNumber)
+			if config.conf["documentFormatting"]["reportTableCellCords"]:
+				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 config.conf["documentFormatting"]["reportTableCellCords"]:
+				textList.append(_("column %s")%columnNumber)
 			oldColumnNumber = columnNumber
 	rowCount=propertyValues.get('rowCount',0)
 	columnCount=propertyValues.get('columnCount',0)

=== modified file 'source/virtualBuffers/__init__.py'
--- source/virtualBuffers/__init__.py	2011-05-31 02:42:48 +0000
+++ source/virtualBuffers/__init__.py	2011-06-01 17:19:36 +0000
@@ -1173,6 +1173,21 @@
 			else:
 				raise LookupError
 
+	def script_getTableCellCords(self, gesture):
+		tableID = row = col = rowSpan = colSpan = 0
+		try:
+			tableID, row, col, rowSpan, colSpan = self._getTableCellCoords(self.selection)
+		except LookupError:
+			ui.message(_("Not in a table cell"))
+			return
+		text = _("row %s") % row
+		text += " "+ _("column %s") % col
+		speech.speakText(text, reason=speech.REASON_QUERY)
+	# Translators: This message is spoken when the user has keyboard help switched on and wishes to know
+	# the functionality of the key press.
+	#
+	script_getTableCellCords.__doc__ = _("In a table, announces the coordinates of the current cell.")
+
 	def _tableMovementScriptHelper(self, movement="next", axis=None):
 		if isScriptWaiting():
 			return

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