From ab2fbea8db371f33a32041faa20c12660355ceed Mon Sep 17 00:00:00 2001
From: Chris Li
Date: Fri, 20 Jan 2017 10:50:14 -0500
Subject: [PATCH] About
---
.../Setting/SettingController.swift | 5 ++
.../Setting/StaticWebController.swift | 48 +++++++++++++++++++
Kiwix-iOS/Storyboard/Setting.storyboard | 33 +++++++++++++
Kiwix.xcodeproj/project.pbxproj | 4 ++
Kiwix/HelpDocuments/About.html | 11 +----
5 files changed, 92 insertions(+), 9 deletions(-)
create mode 100644 Kiwix-iOS/Controller/Setting/StaticWebController.swift
diff --git a/Kiwix-iOS/Controller/Setting/SettingController.swift b/Kiwix-iOS/Controller/Setting/SettingController.swift
index bcd54cec..301e7d42 100644
--- a/Kiwix-iOS/Controller/Setting/SettingController.swift
+++ b/Kiwix-iOS/Controller/Setting/SettingController.swift
@@ -55,6 +55,11 @@ class SettingController: UITableViewController {
}
case Localized.Setting.rateApp:
UIQueue.shared.add(operation: AlertProcedure.rateKiwix(context: self, userInitiated: true))
+ case Localized.Setting.about:
+ let controller = UIStoryboard(name: "Setting", bundle: nil).instantiateViewController(withIdentifier: "StaticWebController") as! StaticWebController
+ controller.title = Localized.Setting.about
+ controller.load(htmlFileName: "About")
+ navigationController?.pushViewController(controller, animated: true)
default:
return
}
diff --git a/Kiwix-iOS/Controller/Setting/StaticWebController.swift b/Kiwix-iOS/Controller/Setting/StaticWebController.swift
new file mode 100644
index 00000000..363561c5
--- /dev/null
+++ b/Kiwix-iOS/Controller/Setting/StaticWebController.swift
@@ -0,0 +1,48 @@
+//
+// StaticWebController.swift
+// Kiwix
+//
+// Created by Chris Li on 1/20/17.
+// Copyright © 2017 Chris Li. All rights reserved.
+//
+
+import UIKit
+import SafariServices
+
+class StaticWebController: UIViewController, UIWebViewDelegate, SFSafariViewControllerDelegate {
+
+ @IBOutlet weak var webView: UIWebView!
+ private var url: URL?
+
+ override func viewDidLoad() {
+ super.viewDidLoad()
+ webView.delegate = self
+
+ guard let url = url, webView.request?.url != url else {return}
+ webView.loadRequest(URLRequest(url: url))
+ }
+
+ func load(htmlFileName: String) {
+ url = Bundle.main.url(forResource: htmlFileName, withExtension: "html")
+ guard let url = url, webView != nil, webView.request?.url != url else {return}
+ webView.loadRequest(URLRequest(url: url))
+ }
+
+ func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool {
+ guard let url = request.url else {return false}
+ if url == self.url {
+ return true
+ } else {
+ let controller = SFSafariViewController(url: url)
+ controller.delegate = self
+ present(controller, animated: true, completion: nil)
+ return false
+ }
+ }
+
+ func safariViewControllerDidFinish(_ controller: SFSafariViewController) {
+ controller.dismiss(animated: true, completion: nil)
+ }
+
+
+}
diff --git a/Kiwix-iOS/Storyboard/Setting.storyboard b/Kiwix-iOS/Storyboard/Setting.storyboard
index 0b01067b..964966d9 100644
--- a/Kiwix-iOS/Storyboard/Setting.storyboard
+++ b/Kiwix-iOS/Storyboard/Setting.storyboard
@@ -53,6 +53,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Kiwix.xcodeproj/project.pbxproj b/Kiwix.xcodeproj/project.pbxproj
index 3d93d8c7..70beddfd 100644
--- a/Kiwix.xcodeproj/project.pbxproj
+++ b/Kiwix.xcodeproj/project.pbxproj
@@ -70,6 +70,7 @@
976C1DD01E3000B6005EDEC4 /* Setting.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 976C1DCF1E3000B6005EDEC4 /* Setting.storyboard */; };
976C1DD21E3000F1005EDEC4 /* SettingController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 976C1DD11E3000F1005EDEC4 /* SettingController.swift */; };
976C1DD41E300695005EDEC4 /* UIProcedure.swift in Sources */ = {isa = PBXBuildFile; fileRef = 976C1DD31E300695005EDEC4 /* UIProcedure.swift */; };
+ 976C1DD61E32628B005EDEC4 /* StaticWebController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 976C1DD51E32628B005EDEC4 /* StaticWebController.swift */; };
9771A5BD1DD269BD005F1795 /* Book+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97D6813C1D6F712800E5FA99 /* Book+CoreDataProperties.swift */; };
9779C3141D4575AD0064CC8E /* NotificationCenter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 97E609F01D103DED00EBCB9D /* NotificationCenter.framework */; };
9779C3171D4575AE0064CC8E /* TodayViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9779C3161D4575AE0064CC8E /* TodayViewController.swift */; };
@@ -230,6 +231,7 @@
976C1DCF1E3000B6005EDEC4 /* Setting.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Setting.storyboard; sourceTree = ""; };
976C1DD11E3000F1005EDEC4 /* SettingController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SettingController.swift; sourceTree = ""; };
976C1DD31E300695005EDEC4 /* UIProcedure.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UIProcedure.swift; sourceTree = ""; };
+ 976C1DD51E32628B005EDEC4 /* StaticWebController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StaticWebController.swift; sourceTree = ""; };
9779C3131D4575AD0064CC8E /* Bookmarks.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = Bookmarks.appex; sourceTree = BUILT_PRODUCTS_DIR; };
9779C3161D4575AE0064CC8E /* TodayViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TodayViewController.swift; sourceTree = ""; };
9779C31B1D4575AE0064CC8E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
@@ -585,6 +587,7 @@
isa = PBXGroup;
children = (
976C1DD11E3000F1005EDEC4 /* SettingController.swift */,
+ 976C1DD51E32628B005EDEC4 /* StaticWebController.swift */,
);
path = Setting;
sourceTree = "";
@@ -1122,6 +1125,7 @@
976C1DCB1E2FD5FC005EDEC4 /* TableOfContentsController.swift in Sources */,
9771A5BD1DD269BD005F1795 /* Book+CoreDataProperties.swift in Sources */,
9764CBD11D806AD800072D6A /* RefreshLibControl.swift in Sources */,
+ 976C1DD61E32628B005EDEC4 /* StaticWebController.swift in Sources */,
97C601DE1D7F342100362D4F /* HTMLHeading.swift in Sources */,
975B90FE1CEB909100D13906 /* iOSExtensions.swift in Sources */,
971A10521D022D9D007FC62C /* AppDelegate.swift in Sources */,
diff --git a/Kiwix/HelpDocuments/About.html b/Kiwix/HelpDocuments/About.html
index f9df7b9e..fe74d7cd 100644
--- a/Kiwix/HelpDocuments/About.html
+++ b/Kiwix/HelpDocuments/About.html
@@ -164,11 +164,7 @@ sup {
Release
This software is released under the terms of the GNU General Public License version 3.
-View the source code on Github.
-
-Developer
-
-Chris: Send Email
+View the source code on Github.
Libraries
@@ -178,8 +174,5 @@ View the source code on Github
Icon made by Freepik from www.flaticon.com
-Contact
-
-Contact Kiwix: Send Email