.../Source/App/Preferences/PreferencesTabView.swift
Line | Count | Source (jump to first uncovered line) |
1 | | // |
2 | | // PreferencesTabViewController.swift |
3 | | // CutBox |
4 | | // |
5 | | // Created by Jason Milkins on 12/5/18. |
6 | | // Copyright © 2018-2023 ocodo. All rights reserved. |
7 | | // |
8 | | |
9 | | import Cocoa |
10 | | import Magnet |
11 | | |
12 | | class PreferencesTabView: CutBoxBaseTabView, NSTabViewDelegate { |
13 | | |
14 | 49 | private let generalTab: PreferencesGeneralView = PreferencesGeneralView.fromNib()! |
15 | 49 | private let advancedTab: PreferencesAdvancedView = PreferencesAdvancedView.fromNib()! |
16 | 49 | private let themeTab: PreferencesThemeSelectionView = PreferencesThemeSelectionView.fromNib()! |
17 | 49 | private let javascriptTab: PreferencesPastePipelineView = PreferencesPastePipelineView.fromNib()! |
18 | | |
19 | 49 | override func awakeFromNib() { |
20 | 49 | |
21 | 49 | self.delegate = self |
22 | 49 | |
23 | 49 | typealias TabInfo = (String, CutBoxBaseView) |
24 | 49 | |
25 | 49 | let tabViews: [TabInfo] = [ |
26 | 49 | ("preferences_tab_view_general".l7n, generalTab), |
27 | 49 | ("preferences_tab_view_display".l7n, themeTab), |
28 | 49 | ("preferences_tab_view_advanced".l7n, advancedTab), |
29 | 49 | ("preferences_tab_view_javascript".l7n, javascriptTab) |
30 | 49 | ] |
31 | 49 | |
32 | 196 | tabViews.forEach { |
33 | 196 | let (name, view) = $0 |
34 | 196 | let tabViewItem = CutBoxBaseTabViewItem() |
35 | 196 | tabViewItem.label = name |
36 | 196 | tabViewItem.identifier = name |
37 | 196 | tabViewItem.view = view |
38 | 196 | |
39 | 196 | self.addTabViewItem(tabViewItem) |
40 | 196 | } |
41 | 49 | } |
42 | | |
43 | 49 | func tabView(_ tabView: NSTabView, didSelect tabViewItem: NSTabViewItem?) { |
44 | 49 | if javascriptTab == tabViewItem?.view { |
45 | 0 | javascriptTab.focusReplCommandLine() |
46 | 49 | } |
47 | 49 | } |
48 | | } |