Index: src/orca/scripts/StarOffice.py
===================================================================
--- src/orca/scripts/StarOffice.py	(revision 3431)
+++ src/orca/scripts/StarOffice.py	(working copy)
@@ -2618,11 +2618,15 @@
         - event: the Event
         """
 
+        print "StarOffice.py: onTextInserted called."
+        print "enableSpeechIndentation: ", settings.enableSpeechIndentation
+
         # Because event.source is the paragraph where the text was inserted
         # and locusOfFocus is the selected text, the default onTextInserted
         # will return without speaking the text that was pasted.
         #
         text = event.any_data
+        print "text: ", text
         if isinstance(orca_state.lastInputEvent,
                         input_event.MouseButtonEvent) and \
              orca_state.lastInputEvent.button == "2":
@@ -2631,4 +2635,47 @@
             else:
                 speech.speak(text)
         else:
+            print "Passing it on to the default onTextInserted."
             default.Script.onTextInserted(self, event)
+
+        # If a Tab character was added and the user has "speak indentation
+        # and justification" turned on, then speak the current indentation.
+        #
+        if settings.enableSpeechIndentation and text == "\t":
+            print "Should speak indentation."
+            try:
+                text = orca_state.locusOfFocus.queryText()
+            except:
+                pass
+            else:
+                caretOffset = text.caretOffset
+
+                # Creates dictionaries of the default attributes, plus the set
+                # of attributes specific to the character at the caret offset.
+                # Combine these two dictionaries and then extract just the
+                # entries we are interested in.
+                #
+                defAttributes = text.getDefaultAttributes()
+                debug.println(debug.LEVEL_FINEST, \
+                    "readCharAttributes: default text attributes: %s" % \
+                    defAttributes)
+                [defUser, defDict] = self.textAttrsToDictionary(defAttributes)
+                allAttributes = defDict
+
+                charAttributes = text.getAttributes(caretOffset)
+                if charAttributes[0]:
+                    [charList, charDict] = \
+                        self.textAttrsToDictionary(charAttributes[0])
+
+                    # It looks like some applications like Evolution and Star
+                    # Office don't implement getDefaultAttributes(). In that
+                    # case, the best we can do is use the specific text
+                    # attributes for this character returned by getAttributes().
+                    #
+                    if allAttributes:
+                        for key in charDict.keys():
+                            allAttributes[key] = charDict[key]
+                    else:
+                        allAttributes = charDict
+
+                print "allAttributes: ", allAttributes
