# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: mhameed@src.gnome.org-20110519141051-kgqt5wjjki09n9rz
# target_branch: http://bzr.nvaccess.org/nvda/main/
# testament_sha1: 5f6f7237317ec4ee1a4c3623fa4f3540d39692a1
# timestamp: 2011-05-19 15:11:40 +0100
# base_revision_id: jamie@jantrid.net-20110519084833-xuf2sfeo86xntv95
# 
# Begin patch
=== modified file 'source/config/__init__.py'
--- source/config/__init__.py	2011-04-23 01:33:21 +0000
+++ source/config/__init__.py	2011-05-19 14:10:51 +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-04-14 00:20:39 +0000
+++ source/gui/settingsDialogs.py	2011-05-19 14:10:51 +0000
@@ -739,6 +739,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)
@@ -771,6 +774,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-19 08:48:33 +0000
+++ source/speech.py	2011-05-19 14:10:51 +0000
@@ -731,13 +731,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-19 04:05:35 +0000
+++ source/virtualBuffers/__init__.py	2011-05-19 14:10:51 +0000
@@ -1141,6 +1141,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 # mesar
+		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
@@ -1261,6 +1276,7 @@
 		"kb:control+alt+upArrow": "previousRow",
 		"kb:control+alt+rightArrow": "nextColumn",
 		"kb:control+alt+leftArrow": "previousColumn",
+		"kb:NVDA+r": "getTableCellCords",
 	}
 
 # Add quick navigation scripts.

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