mirror of
https://github.com/ZeroTier/ZeroTierOne
synced 2025-08-20 13:24:09 -07:00
add preferences view
not populated yet
This commit is contained in:
parent
3c534abc99
commit
35d1736c97
6 changed files with 72 additions and 2 deletions
|
@ -18,6 +18,7 @@ class AppDelegate: NSObject, NSApplicationDelegate {
|
|||
|
||||
let networkListPopover = NSPopover()
|
||||
let joinNetworkPopover = NSPopover()
|
||||
let preferencesPopover = NSPopover()
|
||||
|
||||
var transientMonitor: AnyObject? = nil
|
||||
|
||||
|
@ -44,6 +45,12 @@ class AppDelegate: NSObject, NSApplicationDelegate {
|
|||
networkListPopover.behavior = .Transient
|
||||
|
||||
networkListPopover.appearance = NSAppearance(named: NSAppearanceNameAqua)
|
||||
|
||||
preferencesPopover.contentViewController = PreferencesViewController(
|
||||
nibName: "PreferencesViewController", bundle: nil)
|
||||
preferencesPopover.behavior = .Transient
|
||||
|
||||
preferencesPopover.appearance = NSAppearance(named: NSAppearanceNameAqua)
|
||||
}
|
||||
|
||||
func applicationWillTerminate(aNotification: NSNotification) {
|
||||
|
@ -86,6 +93,22 @@ class AppDelegate: NSObject, NSApplicationDelegate {
|
|||
}
|
||||
}
|
||||
|
||||
func showPreferences() {
|
||||
if let button = statusItem.button {
|
||||
preferencesPopover.showRelativeToRect(button.bounds, ofView: button, preferredEdge: .MinY)
|
||||
|
||||
if transientMonitor == nil {
|
||||
transientMonitor = NSEvent.addGlobalMonitorForEventsMatchingMask(
|
||||
[.LeftMouseDownMask, .RightMouseDownMask, .OtherMouseDownMask]) { (event: NSEvent) -> Void in
|
||||
|
||||
NSEvent.removeMonitor(self.transientMonitor!)
|
||||
self.transientMonitor = nil
|
||||
self.preferencesPopover.close()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func quit() {
|
||||
NSApp.performSelector(#selector(NSApp.terminate(_:)), withObject: nil, afterDelay: 0.0)
|
||||
}
|
||||
|
@ -134,6 +157,10 @@ class AppDelegate: NSObject, NSApplicationDelegate {
|
|||
menu.addItem(NSMenuItem.separatorItem())
|
||||
}
|
||||
|
||||
menu.addItem(NSMenuItem(title: "Preferences...", action: #selector(AppDelegate.showPreferences), keyEquivalent: ","))
|
||||
|
||||
menu.addItem(NSMenuItem.separatorItem())
|
||||
|
||||
menu.addItem(NSMenuItem(title: "Quit ZeroTier One", action: #selector(AppDelegate.quit), keyEquivalent: "q"))
|
||||
|
||||
statusItem.menu = menu
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="10116" systemVersion="15F34" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||
<dependencies>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="10116"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
|
|
18
ZeroTier One/PreferencesViewController.swift
Normal file
18
ZeroTier One/PreferencesViewController.swift
Normal file
|
@ -0,0 +1,18 @@
|
|||
//
|
||||
// PreferencesViewController.swift
|
||||
// ZeroTier One
|
||||
//
|
||||
// Created by Grant Limberg on 6/23/16.
|
||||
// Copyright © 2016 ZeroTier, Inc. All rights reserved.
|
||||
//
|
||||
|
||||
import Cocoa
|
||||
|
||||
class PreferencesViewController: NSViewController {
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
// Do view setup here.
|
||||
}
|
||||
|
||||
}
|
19
ZeroTier One/PreferencesViewController.xib
Normal file
19
ZeroTier One/PreferencesViewController.xib
Normal file
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="10101" systemVersion="15E32" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||
<dependencies>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="10101"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="PreferencesViewController" customModuleProvider="target">
|
||||
<connections>
|
||||
<outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
|
||||
</connections>
|
||||
</customObject>
|
||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||
<customView id="Hz6-mo-xeY">
|
||||
<rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
</customView>
|
||||
</objects>
|
||||
</document>
|
|
@ -1,7 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="10116" systemVersion="15F34" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||
<dependencies>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="10116"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue