def script_showSelectionOptions(self, gesture): fakeSel = self.selection if fakeSel.isCollapsed: # Double click to access the toolbar; e.g. for annotations. try: p = fakeSel.pointAtStart except NotImplementedError: log.debugWarning("Couldn't get point to click") return log.debug("Double clicking") winUser.setCursorPos(p.x, p.y) winUser.mouse_event(winUser.MOUSEEVENTF_LEFTDOWN, 0, 0, None, None) winUser.mouse_event(winUser.MOUSEEVENTF_LEFTUP, 0, 0, None, None) winUser.mouse_event(winUser.MOUSEEVENTF_LEFTDOWN, 0, 0, None, None) winUser.mouse_event(winUser.MOUSEEVENTF_LEFTUP, 0, 0, None, None) return # The user makes a selection using browse mode virtual selection. # Update the selection in Kindle. # This will cause the options to appear. fakeSel.innerTextInfo.updateSelection() # The selection might have been adjusted to meet word boundaries, # so retrieve and report the selection from Kindle. # we can't just use self.makeTextInfo, as that will use our fake selection. realSel = self.rootNVDAObject.makeTextInfo(textInfos.POSITION_SELECTION) # Translators: Announces selected text. %s is replaced with the text. speech.speakSelectionMessage(_("selected %s"), realSel.text) # Remove our virtual selection and move the caret to the active end. fakeSel.innerTextInfo = realSel fakeSel.collapse(end=not self._lastSelectionMovedStart) self.selection = fakeSel
def _reportText(self): tx = self.makeTextInfo(textInfos.POSITION_SELECTION) if not tx.isCollapsed: # Translators: This is spoken to indicate what has been selected. for example 'selected hello world' speech.speakSelectionMessage(_("selected %s"),tx.text) else: tx.expand(textInfos.UNIT_LINE) speech.speakTextInfo(tx,unit=textInfos.UNIT_LINE,reason=controlTypes.REASON_CARET)
def event_treeInterceptor_gainFocus(self): braille.handler.handleGainFocus(self) self.rootNVDAObject.reportFocus() if not self.hadFocusOnce: self.hadFocusOnce=True self.reportNewSlide() else: info = self.selection if not info.isCollapsed: speech.speakSelectionMessage(_("selected %s"), info.text) else: info.expand(textInfos.UNIT_LINE) speech.speakTextInfo(info, reason=controlTypes.REASON_CARET, unit=textInfos.UNIT_LINE)
def event_treeInterceptor_gainFocus(self): speech.speakObject(self.rootNVDAObject, reason=controlTypes.REASON_FOCUS) try: info = self.makeTextInfo(textInfos.POSITION_SELECTION) except RuntimeError: pass else: if info.isCollapsed: info.expand(textInfos.UNIT_LINE) speech.speakTextInfo(info, unit=textInfos.UNIT_LINE, reason=controlTypes.REASON_CARET) else: speech.speakSelectionMessage(_("selected %s"), info.text) braille.handler.handleGainFocus(self) self.initAutoSelectDetection()