From 76b54853ba726179f9fddb30c6f838991b7aa71a Mon Sep 17 00:00:00 2001 From: Michael VanOverbeek Date: Sun, 21 May 2017 12:29:53 +0000 Subject: Merge a fuckton of shit. --- ShiftOS.WinForms/Controls/TerminalBox.cs | 257 ------------------------------- 1 file changed, 257 deletions(-) delete mode 100644 ShiftOS.WinForms/Controls/TerminalBox.cs (limited to 'ShiftOS.WinForms/Controls/TerminalBox.cs') diff --git a/ShiftOS.WinForms/Controls/TerminalBox.cs b/ShiftOS.WinForms/Controls/TerminalBox.cs deleted file mode 100644 index ea7808c..0000000 --- a/ShiftOS.WinForms/Controls/TerminalBox.cs +++ /dev/null @@ -1,257 +0,0 @@ -/* - * MIT License - * - * Copyright (c) 2017 Michael VanOverbeek and ShiftOS devs - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -using System; -using System.Collections.Generic; -using System.Drawing; -using System.Linq; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using System.Windows.Forms; -using ShiftOS.Engine; -using ShiftOS.WinForms.Tools; - -namespace ShiftOS.WinForms.Controls -{ - public class TerminalBox : RichTextBox, ITerminalWidget - { - public void SelectBottom() - { - try - { - this.Select(this.Text.Length, 0); - this.ScrollToCaret(); - } - catch { } - } - - protected override void Dispose(bool disposing) - { - if (disposing == true) - if(AppearanceManager.ConsoleOut == this) - AppearanceManager.ConsoleOut = null; - base.Dispose(disposing); - } - - protected override void OnClick(EventArgs e) - { - base.OnClick(e); - this.Select(this.TextLength, 0); - } - - public void Write(string text) - { - this.HideSelection = true; - this.SelectionFont = ConstructFont(); - this.SelectionColor = ControlManager.ConvertColor(ConsoleEx.ForegroundColor); - this.SelectionBackColor = ControlManager.ConvertColor(ConsoleEx.BackgroundColor); - this.AppendText(Localization.Parse(text)); - this.HideSelection = false; - } - - private Font ConstructFont() - { - FontStyle fs = FontStyle.Regular; - if (ConsoleEx.Bold) - fs = fs | FontStyle.Bold; - if (ConsoleEx.Italic) - fs = fs | FontStyle.Italic; - if (ConsoleEx.Underline) - fs = fs | FontStyle.Underline; - - return new Font(this.Font, fs); - } - - public void WriteLine(string text) - { - Engine.AudioManager.PlayStream(Properties.Resources.writesound); - this.HideSelection = true; - this.Select(this.TextLength, 0); - this.SelectionFont = ConstructFont(); - this.SelectionColor = ControlManager.ConvertColor(ConsoleEx.ForegroundColor); - this.SelectionBackColor = ControlManager.ConvertColor(ConsoleEx.BackgroundColor); - this.AppendText(Localization.Parse(text) + Environment.NewLine); - this.HideSelection = false; - } - - bool quickCopying = false; - - protected override void OnMouseDown(MouseEventArgs e) - { - //if right-clicking, then we initiate a quick-copy. - if (e.Button == MouseButtons.Right) - quickCopying = true; - - //Override the mouse event so that it's a left-click at all times. - base.OnMouseDown(new MouseEventArgs(MouseButtons.Left, e.Clicks, e.X, e.Y, e.Delta)); - } - - protected override void OnMouseUp(MouseEventArgs mevent) - { - if(quickCopying == true) - { - if (!string.IsNullOrWhiteSpace(this.SelectedText)) - { - this.Copy(); - } - } - base.OnMouseUp(mevent); - } - - protected override void OnKeyDown(KeyEventArgs e) - { - base.OnKeyDown(e); - if (!TerminalBackend.InStory) - { - switch (e.KeyCode) { - case Keys.Add: - case Keys.Alt: - case Keys.Apps: - case Keys.Attn: - case Keys.BrowserBack: - case Keys.BrowserFavorites: - case Keys.BrowserForward: - case Keys.BrowserHome: - case Keys.BrowserRefresh: - case Keys.BrowserSearch: - case Keys.BrowserStop: - case Keys.Cancel: - case Keys.Capital: - case Keys.Clear: - case Keys.Control: - case Keys.ControlKey: - case Keys.Crsel: - case Keys.Decimal: - case Keys.Divide: - case Keys.Down: - case Keys.End: - case Keys.Enter: - case Keys.EraseEof: - case Keys.Escape: - case Keys.Execute: - case Keys.Exsel: - case Keys.F1: - case Keys.F10: - case Keys.F11: - case Keys.F12: - case Keys.F13: - case Keys.F14: - case Keys.F15: - case Keys.F16: - case Keys.F17: - case Keys.F18: - case Keys.F19: - case Keys.F2: - case Keys.F20: - case Keys.F21: - case Keys.F22: - case Keys.F23: - case Keys.F24: - case Keys.F3: - case Keys.F4: - case Keys.F5: - case Keys.F6: - case Keys.F7: - case Keys.F8: - case Keys.F9: - case Keys.FinalMode: - case Keys.HanguelMode: - case Keys.HanjaMode: - case Keys.Help: - case Keys.Home: - case Keys.IMEAccept: - case Keys.IMEConvert: - case Keys.IMEModeChange: - case Keys.IMENonconvert: - case Keys.Insert: - case Keys.JunjaMode: - case Keys.KeyCode: - case Keys.LaunchApplication1: - case Keys.LaunchApplication2: - case Keys.LaunchMail: - case Keys.LButton: - case Keys.LControlKey: - case Keys.Left: - case Keys.LineFeed: - case Keys.LMenu: - case Keys.LShiftKey: - case Keys.LWin: - case Keys.MButton: - case Keys.MediaNextTrack: - case Keys.MediaPlayPause: - case Keys.MediaPreviousTrack: - case Keys.MediaStop: - case Keys.Menu: - case Keys.Modifiers: - case Keys.Multiply: - case Keys.Next: - case Keys.NoName: - case Keys.None: - case Keys.NumLock: - case Keys.Pa1: - case Keys.Packet: - case Keys.PageUp: - case Keys.Pause: - case Keys.Play: - case Keys.Print: - case Keys.PrintScreen: - case Keys.ProcessKey: - case Keys.RButton: - case Keys.RControlKey: - case Keys.Right: - case Keys.RMenu: - case Keys.RShiftKey: - case Keys.RWin: - case Keys.Scroll: - case Keys.Select: - case Keys.SelectMedia: - case Keys.Separator: - case Keys.Shift: - case Keys.ShiftKey: - case Keys.Sleep: - case Keys.Subtract: - case Keys.Tab: - case Keys.Up: - case Keys.VolumeDown: - case Keys.VolumeMute: - case Keys.VolumeUp: - case Keys.XButton1: - case Keys.XButton2: - case Keys.Zoom: - - break; - default: - //Engine.AudioManager.PlayStream(Properties.Resources.typesound); // infernal beeping noise only enable for the trailers - break; - } - } - } - - public TerminalBox() : base() - { - this.Tag = "keepbg keepfg keepfont"; - } - } -} -- cgit v1.2.3