diff --git a/A2Mac/Base.lproj/Main.storyboard b/A2Mac/Base.lproj/Main.storyboard index 98c04e9..dfc9eb0 100644 --- a/A2Mac/Base.lproj/Main.storyboard +++ b/A2Mac/Base.lproj/Main.storyboard @@ -1275,7 +1275,7 @@ - + diff --git a/A2Mac/ToolBarController.swift b/A2Mac/ToolBarController.swift index 27fab64..874d660 100644 --- a/A2Mac/ToolBarController.swift +++ b/A2Mac/ToolBarController.swift @@ -30,19 +30,26 @@ class ToolBarController: NSWindowController { ViewController.current?.Reset(sender) } + @IBAction func SelectAll(_ sender: Any) { +// ViewController.current?.displayField.currentEditor()?.selectAll(nil) + ViewController.current?.displayField.selectText(nil) + } + @IBAction func Copy(_ sender: Any) { + ViewController.current?.Copy() } @IBAction func Paste(_ sender: Any) { + ViewController.current?.Paste() } @IBAction func Green(_ sender: Any) { - // print("NSToolbarItem:", sender.tag) +// print("NSToolbarItem:", sender.tag) ViewController.current?.MonoMonitorChange(color: "Green") } @IBAction func Amber(_ sender: Any) { - // print("NSToolbarItem:", sender.tag) +// print("NSToolbarItem:", sender.tag) ViewController.current?.MonoMonitorChange(color: "Amber") } diff --git a/A2Mac/ViewController.swift b/A2Mac/ViewController.swift index b1e6a52..37e19de 100644 --- a/A2Mac/ViewController.swift +++ b/A2Mac/ViewController.swift @@ -336,6 +336,42 @@ class ViewController: NSViewController { return true } } + + + func SelectAll() { +// displayField.currentEditor()?.selectAll(nil) + displayField.selectText(nil) + } + + func Copy() { + let pasteBoard = NSPasteboard.general + pasteBoard.clearContents() + // TODO: Find a better way to avoid index out of range error when the entire text area is selected + let string = display.stringValue + " " + if let selectedRange = displayField.currentEditor()?.selectedRange { + let startIndex = string.index(string.startIndex, offsetBy: selectedRange.lowerBound) + let endIndex = string.index(string.startIndex, offsetBy: selectedRange.upperBound) + let selectedString = string[startIndex..