aboutsummaryrefslogtreecommitdiff
path: root/DWA140Menu/ViewController.swift
blob: ea3fe55dc0f682ffcd18ab74b5ae80806e15364f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
//
//  ViewController.swift
//  DWA140Menu
//
//  Copyright © 2018 Dylan Bolger. All rights reserved.
//

import Cocoa

class ViewController: NSViewController {
    
    @IBOutlet weak var versionLabel: NSTextField!
    @IBOutlet weak var loginButton: NSButton!
    @IBOutlet weak var awesomeSubtitle: NSTextField!
    @IBOutlet weak var loginSubtitle: NSTextField!
    
    let defaults : UserDefaults = .standard
    let delegate = NSApplication.shared.delegate as! AppDelegate
    var loginLaunch = UserDefaults.standard.bool(forKey: "loginLaunch")
    
    override func viewDidAppear() {
        loginButton.state = loginLaunch ? .on : .off
        versionLabel.stringValue = "Version " + (Bundle.main.infoDictionary!["CFBundleShortVersionString"] as? String)!
        if loginLaunch {
            loginSubtitle.stringValue = "This application will launch when you login."
        }
    }
    
    func toggleLoginLaunch() {
        loginButton.state = !loginLaunch ? .on : .off
        defaults.set(!loginLaunch, forKey: "loginLaunch")
        loginLaunch = !loginLaunch
    }
    
    @IBAction func loginButtonPressed(_ sender: NSButton) {
        toggleLoginLaunch()
        if loginLaunch {
            loginSubtitle.stringValue = "This application will launch when you login."
        } else {
            loginSubtitle.stringValue = "An even easier way to get connected, faster."
        }
    }
    @IBAction func triedAwesome(_ sender: NSButton) {
        // it's an invisible button on top of the disabled checkbox.
        awesomeSubtitle.stringValue = "You can't change the fact that you're awesome."
        DispatchQueue.main.asyncAfter(deadline: .now() + 3.0) {
            self.awesomeSubtitle.stringValue = "It's just a fact."
        }
    }
    
    @IBAction func sourceButtonPressed(_ sender: NSButton) {
        NSWorkspace.shared.open((URL(string:"https://github.com/fivepixels/dwa140shortcut") ?? nil)!)
    }
    
    @IBAction func coffeePressed(_ sender: NSButton) {
        NSWorkspace.shared.open((URL(string: "https://paypal.me/fivepixels") ?? nil)!)
    }
    
    @IBAction func loveButtonPressed(_ sender: NSButton) {
        NSWorkspace.shared.open((URL(string:"https://twitter.com/o5pxels") ?? nil)!)
    }
}