From bf9e815a0f34e1dddbb596ce4b3a49a419f29725 Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Sun, 27 Mar 2011 11:24:27 +0100 Subject: [PATCH] Scroll to end of console when any text is output. --- .../Scripting/Project/Src/IScriptingConsole.cs | 2 +- .../Scripting/Project/Src/ScriptingConsole.cs | 12 ++++++------ .../Project/Src/ThreadSafeScriptingConsole.cs | 7 +++---- .../Test/Console/ScriptingConsoleWriteTests.cs | 18 +++++++++--------- .../Console/ThreadSafeScriptingConsoleTests.cs | 12 ++++++------ .../Test/Utils/FakeScriptingConsole.cs | 2 +- .../Src/Scripting/PackageManagementConsole.cs | 1 - 7 files changed, 26 insertions(+), 28 deletions(-) diff --git a/src/AddIns/BackendBindings/Scripting/Project/Src/IScriptingConsole.cs b/src/AddIns/BackendBindings/Scripting/Project/Src/IScriptingConsole.cs index 308bed30f2..54ed54dfac 100644 --- a/src/AddIns/BackendBindings/Scripting/Project/Src/IScriptingConsole.cs +++ b/src/AddIns/BackendBindings/Scripting/Project/Src/IScriptingConsole.cs @@ -9,7 +9,7 @@ namespace ICSharpCode.Scripting { event EventHandler LineReceived; - bool ScrollToEndWhenPromptWritten { get; set; } + bool ScrollToEndWhenTextWritten { get; set; } void SendLine(string line); void SendText(string text); diff --git a/src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingConsole.cs b/src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingConsole.cs index 12236811b3..99fca3cb8a 100644 --- a/src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingConsole.cs +++ b/src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingConsole.cs @@ -34,7 +34,7 @@ namespace ICSharpCode.Scripting { this.textEditor = textEditor; this.unreadLines = unreadLines; - this.ScrollToEndWhenPromptWritten = true; + this.ScrollToEndWhenTextWritten = true; textEditor.PreviewKeyDown += ProcessPreviewKeyDown; } @@ -78,10 +78,10 @@ namespace ICSharpCode.Scripting WriteFirstLineOfSentText(); textEditor.MakeCurrentContentReadOnly(); - - if (ScrollToEndWhenPromptWritten) { - ScrollToEnd(); - } + } + + if (ScrollToEndWhenTextWritten) { + ScrollToEnd(); } } @@ -346,7 +346,7 @@ namespace ICSharpCode.Scripting return unreadLines.RemoveFirstLine(); } - public bool ScrollToEndWhenPromptWritten { get; set; } + public bool ScrollToEndWhenTextWritten { get; set; } void ScrollToEnd() { diff --git a/src/AddIns/BackendBindings/Scripting/Project/Src/ThreadSafeScriptingConsole.cs b/src/AddIns/BackendBindings/Scripting/Project/Src/ThreadSafeScriptingConsole.cs index 034805b4aa..71e068d8da 100644 --- a/src/AddIns/BackendBindings/Scripting/Project/Src/ThreadSafeScriptingConsole.cs +++ b/src/AddIns/BackendBindings/Scripting/Project/Src/ThreadSafeScriptingConsole.cs @@ -35,10 +35,9 @@ namespace ICSharpCode.Scripting consoleEvents.SetLineReceivedEvent(); } - - public bool ScrollToEndWhenPromptWritten { - get { return nonThreadSafeScriptingConsole.ScrollToEndWhenPromptWritten; } - set { nonThreadSafeScriptingConsole.ScrollToEndWhenPromptWritten = value; } + public bool ScrollToEndWhenTextWritten { + get { return nonThreadSafeScriptingConsole.ScrollToEndWhenTextWritten; } + set { nonThreadSafeScriptingConsole.ScrollToEndWhenTextWritten = value; } } public void WriteLine() diff --git a/src/AddIns/BackendBindings/Scripting/Test/Console/ScriptingConsoleWriteTests.cs b/src/AddIns/BackendBindings/Scripting/Test/Console/ScriptingConsoleWriteTests.cs index 9228bfe843..e4c1da4976 100644 --- a/src/AddIns/BackendBindings/Scripting/Test/Console/ScriptingConsoleWriteTests.cs +++ b/src/AddIns/BackendBindings/Scripting/Test/Console/ScriptingConsoleWriteTests.cs @@ -52,36 +52,36 @@ namespace ICSharpCode.Scripting.Tests.Console } [Test] - public void Write_WritePromptWhenScrollToPromptIsTrue_TextEditorIsScrolled() + public void Write_WritePromptWhenScrollToEndWhenTextWritten_TextEditorIsScrolled() { - TestableScriptingConsole.ScrollToEndWhenPromptWritten = true; + TestableScriptingConsole.ScrollToEndWhenTextWritten = true; TestableScriptingConsole.Write("a", ScriptingStyle.Prompt); Assert.IsTrue(FakeConsoleTextEditor.IsScrollToEndCalled); } [Test] - public void Write_WritePromptWhenScrollToPromptIsFalse_TextEditorIsNotScrolled() + public void Write_WritePromptWhenScrollToEndWhenTextWrittenIsFalse_TextEditorIsNotScrolled() { - TestableScriptingConsole.ScrollToEndWhenPromptWritten = false; + TestableScriptingConsole.ScrollToEndWhenTextWritten = false; TestableScriptingConsole.Write("a", ScriptingStyle.Prompt); Assert.IsFalse(FakeConsoleTextEditor.IsScrollToEndCalled); } [Test] - public void Write_WriteErrorWhenScrollToPromptIsTrue_TextEditorIsNotScrolled() + public void Write_WriteErrorWhenScrollToEndWhenTextWrittenIsTrue_TextEditorIsScrolled() { - TestableScriptingConsole.ScrollToEndWhenPromptWritten = true; + TestableScriptingConsole.ScrollToEndWhenTextWritten = true; TestableScriptingConsole.Write("a", ScriptingStyle.Error); - Assert.IsFalse(FakeConsoleTextEditor.IsScrollToEndCalled); + Assert.IsTrue(FakeConsoleTextEditor.IsScrollToEndCalled); } [Test] - public void ScrollToEndWhenPromptWritten_NewInstance_IsTrue() + public void ScrollToEndWhenTextWritten_NewInstance_IsTrue() { - Assert.IsTrue(TestableScriptingConsole.ScrollToEndWhenPromptWritten); + Assert.IsTrue(TestableScriptingConsole.ScrollToEndWhenTextWritten); } } } diff --git a/src/AddIns/BackendBindings/Scripting/Test/Console/ThreadSafeScriptingConsoleTests.cs b/src/AddIns/BackendBindings/Scripting/Test/Console/ThreadSafeScriptingConsoleTests.cs index 2c391cf405..965a1bda75 100644 --- a/src/AddIns/BackendBindings/Scripting/Test/Console/ThreadSafeScriptingConsoleTests.cs +++ b/src/AddIns/BackendBindings/Scripting/Test/Console/ThreadSafeScriptingConsoleTests.cs @@ -355,21 +355,21 @@ namespace ICSharpCode.Scripting.Tests.Console } [Test] - public void ScrollToEndWhenPromptWritten_NonThreadSafeConsoleScrollToEndWhenPromptWrittenIsTrue_ReturnsTrue() + public void ScrollToEndWhenTextWritten_NonThreadSafeConsoleScrollToEndWhenTextWrittenIsTrue_ReturnsTrue() { CreateThreadSafeScriptingConsole(); - nonThreadSafeScriptingConsole.ScrollToEndWhenPromptWritten = true; + nonThreadSafeScriptingConsole.ScrollToEndWhenTextWritten = true; - Assert.IsTrue(threadSafeConsole.ScrollToEndWhenPromptWritten); + Assert.IsTrue(threadSafeConsole.ScrollToEndWhenTextWritten); } [Test] - public void ScrollToEndWhenPromptWritten_NonThreadSafeConsoleScrollToEndWhenPromptWrittenIsFalse_ReturnsFalse() + public void ScrollToEndWhenTextWritten_NonThreadSafeConsoleScrollToEndWhenTextWrittenIsFalse_ReturnsFalse() { CreateThreadSafeScriptingConsole(); - nonThreadSafeScriptingConsole.ScrollToEndWhenPromptWritten = false; + nonThreadSafeScriptingConsole.ScrollToEndWhenTextWritten = false; - Assert.IsFalse(threadSafeConsole.ScrollToEndWhenPromptWritten); + Assert.IsFalse(threadSafeConsole.ScrollToEndWhenTextWritten); } } } diff --git a/src/AddIns/BackendBindings/Scripting/Test/Utils/FakeScriptingConsole.cs b/src/AddIns/BackendBindings/Scripting/Test/Utils/FakeScriptingConsole.cs index 11df266974..22cbbe96d5 100644 --- a/src/AddIns/BackendBindings/Scripting/Test/Utils/FakeScriptingConsole.cs +++ b/src/AddIns/BackendBindings/Scripting/Test/Utils/FakeScriptingConsole.cs @@ -23,7 +23,7 @@ namespace ICSharpCode.Scripting.Tests.Utils public string TextToReturnFromReadFirstUnreadLine; public bool IsReadLineCalled; public bool IsDisposeCalled; - public bool ScrollToEndWhenPromptWritten { get; set; } + public bool ScrollToEndWhenTextWritten { get; set; } public void SendLine(string text) { diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/Scripting/PackageManagementConsole.cs b/src/AddIns/Misc/PackageManagement/Project/Src/Scripting/PackageManagementConsole.cs index a6f6473fd3..43f7968b06 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/Scripting/PackageManagementConsole.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/Scripting/PackageManagementConsole.cs @@ -17,7 +17,6 @@ namespace ICSharpCode.PackageManagement.Scripting { } - public PackageManagementConsole(TextEditor textEditor) : this(new ScriptingConsoleTextEditor(textEditor), new ControlDispatcher(textEditor)) {