summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrant Limberg <glimberg@gmail.com>2016-07-19 19:12:41 -0700
committerGrant Limberg <glimberg@gmail.com>2016-07-19 19:12:41 -0700
commit693ac4e86c583a21614b42b0644b813006e9c481 (patch)
treecddd406aa12939d49e5a7b0f99a00d6ed42818a9
parent0e6065e3d52a724d189102f3b761f837486d0872 (diff)
downloadinfinitytier-693ac4e86c583a21614b42b0644b813006e9c481.tar.gz
infinitytier-693ac4e86c583a21614b42b0644b813006e9c481.zip
add web view and placeholder about page with ZT logo and lorem ipsum
-rw-r--r--ZeroTier One.xcodeproj/project.pbxproj4
-rw-r--r--ZeroTier One/AboutViewController.swift10
-rw-r--r--ZeroTier One/AboutViewController.xib19
-rw-r--r--ZeroTier One/about.html46
4 files changed, 75 insertions, 4 deletions
diff --git a/ZeroTier One.xcodeproj/project.pbxproj b/ZeroTier One.xcodeproj/project.pbxproj
index 7bda3950..a8da1c56 100644
--- a/ZeroTier One.xcodeproj/project.pbxproj
+++ b/ZeroTier One.xcodeproj/project.pbxproj
@@ -25,6 +25,7 @@
93326BEB1CE7D9B9005CA2AC /* JoinNetworkViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 93326BE91CE7D9B9005CA2AC /* JoinNetworkViewController.xib */; };
93326BEE1CE7DA30005CA2AC /* ShowNetworksViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93326BEC1CE7DA30005CA2AC /* ShowNetworksViewController.swift */; };
93326BEF1CE7DA30005CA2AC /* ShowNetworksViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 93326BED1CE7DA30005CA2AC /* ShowNetworksViewController.xib */; };
+ 93DAFB271D3F0BEE004D5417 /* about.html in Resources */ = {isa = PBXBuildFile; fileRef = 93DAFB261D3F0BEE004D5417 /* about.html */; };
93DAFE4B1CFE53CA00547CC4 /* AuthtokenCopy.m in Sources */ = {isa = PBXBuildFile; fileRef = 93DAFE4A1CFE53CA00547CC4 /* AuthtokenCopy.m */; };
/* End PBXBuildFile section */
@@ -50,6 +51,7 @@
93326BE91CE7D9B9005CA2AC /* JoinNetworkViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = JoinNetworkViewController.xib; sourceTree = "<group>"; };
93326BEC1CE7DA30005CA2AC /* ShowNetworksViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ShowNetworksViewController.swift; sourceTree = "<group>"; };
93326BED1CE7DA30005CA2AC /* ShowNetworksViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ShowNetworksViewController.xib; sourceTree = "<group>"; };
+ 93DAFB261D3F0BEE004D5417 /* about.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = about.html; sourceTree = "<group>"; };
93DAFE491CFE53C900547CC4 /* ZeroTier One-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ZeroTier One-Bridging-Header.h"; sourceTree = "<group>"; };
93DAFE4A1CFE53CA00547CC4 /* AuthtokenCopy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AuthtokenCopy.m; sourceTree = "<group>"; };
93DAFE4C1CFE53DA00547CC4 /* AuthtokenCopy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AuthtokenCopy.h; sourceTree = "<group>"; };
@@ -108,6 +110,7 @@
932D47381D220D63004BCFE2 /* LaunchAtLoginController.h */,
932D47391D220D63004BCFE2 /* LaunchAtLoginController.m */,
932D473B1D261ED4004BCFE2 /* NodeStatus.swift */,
+ 93DAFB261D3F0BEE004D5417 /* about.html */,
);
path = "ZeroTier One";
sourceTree = "<group>";
@@ -170,6 +173,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
+ 93DAFB271D3F0BEE004D5417 /* about.html in Resources */,
93326BEF1CE7DA30005CA2AC /* ShowNetworksViewController.xib in Resources */,
932D47371D1CDC9B004BCFE2 /* AboutViewController.xib in Resources */,
93326BEB1CE7D9B9005CA2AC /* JoinNetworkViewController.xib in Resources */,
diff --git a/ZeroTier One/AboutViewController.swift b/ZeroTier One/AboutViewController.swift
index bbca975a..35929dcd 100644
--- a/ZeroTier One/AboutViewController.swift
+++ b/ZeroTier One/AboutViewController.swift
@@ -7,12 +7,22 @@
//
import Cocoa
+import WebKit
class AboutViewController: NSViewController {
+
+ @IBOutlet var webView: WebView!
+
override func viewDidLoad() {
super.viewDidLoad()
// Do view setup here.
+ let bundle = NSBundle.mainBundle()
+ let path = bundle.URLForResource("about", withExtension: "html")
+
+ if let url = path {
+ webView.mainFrame.loadRequest(NSURLRequest(URL: url))
+ }
}
}
diff --git a/ZeroTier One/AboutViewController.xib b/ZeroTier One/AboutViewController.xib
index 8722929f..46c70155 100644
--- a/ZeroTier One/AboutViewController.xib
+++ b/ZeroTier One/AboutViewController.xib
@@ -1,19 +1,30 @@
<?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">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="10116" systemVersion="15F34" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<dependencies>
- <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="10101"/>
+ <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="10116"/>
+ <plugIn identifier="com.apple.WebKitIBPlugin" version="10116"/>
</dependencies>
<objects>
- <customObject id="-2" userLabel="File's Owner" customClass="AboutViewController" customModuleProvider="target">
+ <customObject id="-2" userLabel="File's Owner" customClass="AboutViewController" customModule="ZeroTier_One" customModuleProvider="target">
<connections>
<outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
+ <outlet property="webView" destination="3BS-QW-rZO" id="ucY-A9-7p7"/>
</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"/>
+ <rect key="frame" x="0.0" y="0.0" width="480" height="480"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+ <subviews>
+ <webView fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="3BS-QW-rZO">
+ <rect key="frame" x="20" y="20" width="440" height="440"/>
+ <webPreferences key="preferences" defaultFontSize="16" defaultFixedFontSize="13" minimumFontSize="0">
+ <nil key="identifier"/>
+ </webPreferences>
+ </webView>
+ </subviews>
+ <point key="canvasLocation" x="463" y="570"/>
</customView>
</objects>
</document>
diff --git a/ZeroTier One/about.html b/ZeroTier One/about.html
new file mode 100644
index 00000000..c5122fd6
--- /dev/null
+++ b/ZeroTier One/about.html
@@ -0,0 +1,46 @@
+<html>
+ <head>
+ <style type="text/css">
+ html,body {
+ background: #aaaaaa;
+ margin: 0;
+ padding: 0;
+ font-family: "Helvetica";
+ font-size: 12pt;
+ height: 100%;
+ width: 100%;
+ }
+ div.icon {
+ background: #ffb354;
+ color: #000000;
+ font-size: 100pt;
+ border-radius: 2.5rem;
+ display: inline-block;
+ width: 1.3em;
+ height: 1.3em;
+ padding: 0;
+ margin: 0;
+ line-height: 1.4em;
+ vertical-align: middle;
+ text-align: center;
+ }
+ div.icon_container {
+ font-weight: bold;
+ }
+ </style>
+ </head>
+ <body>
+ <center>
+ <div class="icon_container">
+ <div class="icon">&#x23c1;</div>
+ </div>
+
+ <div class="text">
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+ </p>
+
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+ </div>
+ </center>
+ </body>
+</html> \ No newline at end of file