Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
36b559c
Python Console: Jump to previous/next result (#9784)
JulienCochuyt Jun 21, 2019
3056561
Merge branch 'master' into i9784
JulienCochuyt Sep 23, 2019
8742f3b
Merge branch 'master' into i9784
JulienCochuyt Oct 6, 2019
4c9deba
Python Console: Result navigation: Refactor using NVDA AppModule (#9784)
JulienCochuyt Oct 7, 2019
f79164a
Merge branch 'master' into i9784
JulienCochuyt Nov 18, 2019
8bc556e
Merge branch 'master' into i9784
JulienCochuyt May 3, 2020
cd4f4eb
Python Console: Result navigation: Add missing translators comments (…
JulienCochuyt May 3, 2020
08d7104
Merge branch 'master' into i9784
JulienCochuyt May 11, 2020
297e0ed
Update copyright notice header lines and split instead of disabling E501
JulienCochuyt May 11, 2020
ee5d961
Merge branch 'master' into i9784
JulienCochuyt Jul 3, 2020
ce92a02
Merge remote-tracking branch 'upstream/master' into i9784
JulienCochuyt Apr 23, 2021
6551b0b
Merge remote-tracking branch 'upstream/master' into i9784
JulienCochuyt Apr 23, 2021
9ada707
Update Developer Guide (#9784)
JulienCochuyt Apr 23, 2021
8d92327
Merge remote-tracking branch 'origin/master' into i9784
feerrenrut Apr 30, 2021
cb86c17
Merge remote-tracking branch 'upstream/master' into i9784
JulienCochuyt Apr 30, 2021
fff2ee3
Add comments regarding the use of `isPrevFocusOnNvdaPopup`
JulienCochuyt Apr 30, 2021
f681675
Fix linting errors
JulienCochuyt Apr 30, 2021
a63bbff
Merge remote-tracking branch 'origin/master' into i9784
feerrenrut May 6, 2021
d5e3810
update changes file for PR #9785
feerrenrut May 6, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions source/pythonConsole.py
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,7 @@ def __init__(self, parent):
# Even the most recent line has a position in the history, so initialise with one blank line.
self.inputHistory = [""]
self.inputHistoryPos = 0
self.outputPositions = [0]

def onActivate(self, evt):
if evt.GetActive():
Expand All @@ -261,6 +262,12 @@ def output(self, data):
if data and not data.isspace():
queueHandler.queueFunction(queueHandler.eventQueue, speech.speakText, data)

def clear(self):
"""Clear the output.
"""
self.outputCtrl.Clear()
self.outputPositions[:] = [0]

def echo(self, data):
self.outputCtrl.write(data)

Expand All @@ -285,6 +292,7 @@ def execute(self):
self.inputHistory.append("")
self.inputHistoryPos = len(self.inputHistory) - 1
self.inputCtrl.ChangeValue("")
self.outputPositions.append(self.outputCtrl.GetInsertionPoint())

def historyMove(self, movement):
newIndex = self.inputHistoryPos + movement
Expand Down Expand Up @@ -394,6 +402,9 @@ def onInputChar(self, evt):
elif key == wx.WXK_ESCAPE:
self.Close()
return
elif not evt.ShiftDown() and key == wx.WXK_CONTROL_L:
self.clear()
return
evt.Skip()

def onInputPaste(self, evt):
Expand Down Expand Up @@ -438,6 +449,32 @@ def onOutputChar(self, evt):
if key == wx.WXK_F6:
self.inputCtrl.SetFocus()
return
if evt.ControlDown() and not evt.ShiftDown():
if key == wx.WXK_UP:
cur = self.outputCtrl.GetInsertionPoint()
for pos in reversed(self.outputPositions):
if pos < cur:
self.outputCtrl.SetInsertionPoint(pos)
break
else:
# Translators: A message reported when there is no next
# result in the Python Console.
speech.speakMessage(_("Top"))
return
if key == wx.WXK_DOWN:
cur = self.outputCtrl.GetInsertionPoint()
for pos in self.outputPositions:
if pos > cur:
self.outputCtrl.SetInsertionPoint(pos)
break
else:
# Translators: A message reported when there is no previous
# result in the Python Console.
speech.speakMessage(_("Bottom"))
return
if key == wx.WXK_CONTROL_L:
self.clear()
return
evt.Skip()

def initialize():
Expand Down