.../Source/App/Preferences/PreferencesAdvancedView.swift
Line | Count | Source |
1 | | // |
2 | | // PreferencesAdvancedView.swift |
3 | | // CutBox |
4 | | // |
5 | | // Created by Jason Milkins on 13/5/18. |
6 | | // Copyright © 2018-2023 ocodo. All rights reserved. |
7 | | // |
8 | | |
9 | | import Cocoa |
10 | | import RxSwift |
11 | | |
12 | | class PreferencesAdvancedView: CutBoxBaseView { |
13 | | |
14 | | var prefs: CutBoxPreferencesService! |
15 | 51 | let disposeBag = DisposeBag() |
16 | | |
17 | | @IBOutlet weak var historyLimitTitle: CutBoxBaseTextField! |
18 | | @IBOutlet weak var historyLimitTextField: CutBoxBaseTextField! |
19 | | @IBOutlet weak var historyUnlimitedCheckbox: CutBoxBaseButton! |
20 | | @IBOutlet weak var historySizeLabel: CutBoxBaseTextField! |
21 | | @IBOutlet weak var clearHistoryDropDown: CutBoxBasePopUpButton! |
22 | | @IBOutlet weak var clearHistoryActionButton: CutBoxBaseButton! |
23 | | |
24 | | @IBOutlet weak var joinAndWrapSectionTitle: CutBoxBaseTextField! |
25 | | @IBOutlet weak var joinAndWrapNote: CutBoxBaseTextFieldCell! |
26 | | @IBOutlet weak var joinClipsTitle: CutBoxBaseTextField! |
27 | | @IBOutlet weak var joinStyleSelector: CutBoxBaseSegmentedControl! |
28 | | @IBOutlet weak var joinStringTextField: CutBoxBaseTextField! |
29 | | |
30 | | @IBOutlet weak var shouldWrapMultipleSelection: CutBoxBaseButton! |
31 | | @IBOutlet weak var wrapStartTextField: CutBoxBaseTextField! |
32 | | @IBOutlet weak var wrapEndTextField: CutBoxBaseTextField! |
33 | | |
34 | 51 | var dialogFactory: DialogFactory = DialogFactory() |
35 | | |
36 | 51 | let clearHistoryOptions: [(title: String, offset: TimeInterval?)] = [ |
37 | 51 | (title: "preferences_history_select_option".l7n, offset: nil), |
38 | 51 | (title: "preferences_history_clear_last_5_minutes".l7n, offset: 300), |
39 | 51 | (title: "preferences_history_clear_last_hour".l7n, offset: 3600), |
40 | 51 | (title: "preferences_history_clear_last_24_hours".l7n, offset: 86400), |
41 | 51 | (title: "preferences_history_clear_older_than_7_days".l7n, offset: -604800), |
42 | 51 | (title: "preferences_history_clear_older_than_30_days".l7n, offset: -2592000), |
43 | 51 | (title: "preferences_history_clear_entire_history".l7n, offset: 0) |
44 | 51 | ] |
45 | | |
46 | 50 | override func awakeFromNib() { |
47 | 50 | prefs = CutBoxPreferencesService.shared |
48 | 50 | |
49 | 50 | setupWrappingStringTextFields() |
50 | 50 | setupJoinStringTextField() |
51 | 50 | setupHistoryLimitControls() |
52 | 50 | setupHistorySizeLabel() |
53 | 50 | setupClearHistoryControls() |
54 | 50 | } |
55 | | |
56 | 1 | @IBAction func joinStyleSelectorAction(_ sender: Any) { |
57 | 1 | if let selector: CutBoxBaseSegmentedControl = sender as? CutBoxBaseSegmentedControl { |
58 | 1 | let bool = selector.selectedSegment == 1 |
59 | 1 | joinStringTextField.isHidden = !bool |
60 | 1 | joinStringTextField.isEnabled = bool |
61 | 1 | prefs.useJoinString = bool |
62 | 1 | } |
63 | 1 | } |
64 | | } |