From 7c1b0c438a688bdae86fc38e15414dd68680c65e Mon Sep 17 00:00:00 2001 From: Martin Oberhuber < martin.oberhuber@windriver.com> Date: Fri, 4 Jun 2010 13:38:01 +0000 Subject: [PATCH] [Bug 205486] [terminal] create a switch for scroll locking --- releng/org.eclipse.rse.build/maps/terminal.map | 2 +- .../terminal/textcanvas/TextCanvas.java | 17 +++++------------ 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/releng/org.eclipse.rse.build/maps/terminal.map b/releng/org.eclipse.rse.build/maps/terminal.map index b04a0e09ead..5116e476534 100644 --- a/releng/org.eclipse.rse.build/maps/terminal.map +++ b/releng/org.eclipse.rse.build/maps/terminal.map @@ -7,7 +7,7 @@ feature@org.eclipse.tm.terminal.ssh=v201005271030,:pserver:anonymous:none@dev.ec feature@org.eclipse.tm.terminal.telnet=v201005032000,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.core/terminal/org.eclipse.tm.terminal.telnet-feature feature@org.eclipse.tm.terminal.test=v200905272300,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.core/terminal/org.eclipse.tm.terminal.test-feature feature@org.eclipse.tm.terminal.view=v201006030830,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.core/terminal/org.eclipse.tm.terminal.view-feature -plugin@org.eclipse.tm.terminal=v201006030830,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.core/terminal/org.eclipse.tm.terminal +plugin@org.eclipse.tm.terminal=v201006041340,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.core/terminal/org.eclipse.tm.terminal plugin@org.eclipse.tm.terminal.local=v201006041322,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.core/terminal/org.eclipse.tm.terminal.local plugin@org.eclipse.tm.terminal.serial=v200905272300,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.core/terminal/org.eclipse.tm.terminal.serial plugin@org.eclipse.tm.terminal.ssh=v201005271030,:pserver:anonymous:none@dev.eclipse.org:/cvsroot/dsdp,,org.eclipse.tm.core/terminal/org.eclipse.tm.terminal.ssh diff --git a/terminal/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java b/terminal/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java index 1f671ee59a6..d14ff1fc054 100644 --- a/terminal/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java +++ b/terminal/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java @@ -92,12 +92,8 @@ public class TextCanvas extends GridCanvas { public void terminalDataChanged() { if(isDisposed()) return; + // scroll to end (unless scroll lock is active) scrollToEnd(); - // make sure the scroll area is correct: - if (!fScrollLock) { - scrollY(getVerticalBar()); - scrollX(getHorizontalBar()); - } } }); // let the cursor blink if the text canvas gets the focus... @@ -250,14 +246,8 @@ public class TextCanvas extends GridCanvas { setVirtualExtend(getCols()*getCellWidth(),getRows()*getCellHeight()); setRedraw(false); try { - // scroll to end + // scroll to end (unless scroll lock is active) scrollToEnd(); - // make sure the scroll area is correct: - if (!fScrollLock) { - scrollY(getVerticalBar()); - scrollX(getHorizontalBar()); - } - getParent().layout(); } finally { setRedraw(true); @@ -273,6 +263,9 @@ public class TextCanvas extends GridCanvas { if(v.y!=-y) { setVirtualOrigin(v.x,y); } + // make sure the scroll area is correct: + scrollY(getVerticalBar()); + scrollX(getHorizontalBar()); } } /**