Index: Evolution.py
===================================================================
RCS file: /cvs/gnome/orca/src/orca/scripts/Evolution.py,v
retrieving revision 1.63
diff -u -r1.63 Evolution.py
--- Evolution.py	28 Jul 2006 17:33:18 -0000	1.63
+++ Evolution.py	15 Aug 2006 17:23:56 -0000
@@ -76,6 +76,7 @@
 
         self.lastMessageColumn = -1
         self.lastMessageRow = -1
+        self.lastNRows = -1
 
         # Evolution defines new custom roles. We need to make them known
         # to Orca for Speech and Braille output.
@@ -396,12 +397,16 @@
 
         # 3) Mail view: message header list
         #
-        # Check if the focus is in the message header list. If this focus
-        # event is for a different row that the last time we got a similar
-        # focus event, we want to speak all of the tables cells (and the
-        # header for the one that currently has focus) in the current
-        # highlighted message. (The role is only spoken/brailled for the
-        # table cell that currently has focus).
+        # Check if the focus is in the message header list. If the number
+        # of rows in the message header list is one less than the last time
+        # we had focus here, and the last input event was "Delete", then
+        # let the user know that a message has just been deleted.
+        #
+        # If this focus event is for a different row that the last time 
+        # we got a similar focus event, we want to speak all of the tables 
+        # cells (and the header for the one that currently has focus) in 
+        # the current highlighted message. (The role is only spoken/brailled 
+        # for the table cell that currently has focus).
         #
         # If this focus event is just for a different table cell on the same
         # row as last time, then we just speak the current cell (and its
@@ -415,6 +420,13 @@
 
         rolesList = [rolenames.ROLE_TABLE_CELL, \
                      rolenames.ROLE_TREE_TABLE]
+
+        if util.isDesiredFocusedItem(event.source, rolesList):
+           nRows = event.source.parent.table.nRows
+           if (self.lastNRows == (nRows + 1)) and \
+              (orca_state.lastInputEvent.event_string == "Delete"):
+               speech.speak(_("Message Deleted."), None, False)
+
         if settings.readTableCellRow \
             and (util.isDesiredFocusedItem(event.source, rolesList)):
             debug.println(self.debugLevel,
@@ -549,6 +561,7 @@
             settings.speechVerbosityLevel = savedSpeechVerbosityLevel
             self.lastMessageColumn = column
             self.lastMessageRow = row
+            self.lastNRows = parent.table.nRows
             settings.readTableCellRow = True
             return
 
