.../Source/Components/LinkText.swift
Line | Count | Source |
1 | | // |
2 | | // LinkText.swift |
3 | | // CutBox |
4 | | // |
5 | | // Created by jason on 8/9/23. |
6 | | // Copyright © 2023 ocodo. All rights reserved. |
7 | | // |
8 | | |
9 | | import Cocoa |
10 | | |
11 | | class LinkText: CutBoxBaseTextField { |
12 | | // Injectable NSWorkspace |
13 | 29 | var workspace: NSWorkspace = NSWorkspace.shared |
14 | | |
15 | | @IBInspectable |
16 | | var linkColor: NSColor! |
17 | | |
18 | 28 | override func awakeFromNib() { |
19 | 28 | let attributes: [NSAttributedString.Key: Any] = [ |
20 | 28 | NSAttributedString.Key.foregroundColor: linkColor as Any, |
21 | 28 | NSAttributedString.Key.underlineStyle: NSUnderlineStyle.single.rawValue, |
22 | 28 | NSAttributedString.Key.underlineColor: linkColor as Any |
23 | 28 | ] |
24 | 28 | attributedStringValue = NSAttributedString(string: "about_cutbox_home_url".l7n, attributes: attributes) |
25 | 28 | } |
26 | | |
27 | 1 | override func mouseDown(with event: NSEvent) { |
28 | 1 | if let url = URL(string: "about_cutbox_home_url".l7n) { |
29 | 1 | workspace.open(url) |
30 | 1 | } |
31 | 1 | } |
32 | | } |