Browse Source

add web view and placeholder about page with ZT logo and lorem ipsum

Grant Limberg 9 years ago
parent
commit
693ac4e86c

+ 4 - 0
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 */,

+ 10 - 0
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))
+        }
     }
     
 }

+ 15 - 4
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>

+ 46 - 0
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>