diff --git a/Frameless/AppDefaults.swift b/Frameless/AppDefaults.swift index 43b6a6f..bf33702 100644 --- a/Frameless/AppDefaults.swift +++ b/Frameless/AppDefaults.swift @@ -14,6 +14,7 @@ enum AppDefaultKeys: String { case TripleTapGesture = "tripleTap" case FramerBonjour = "framerConnect" case KeepAwake = "keepAwake" + case HomePage = "homePage" } diff --git a/Frameless/AppDelegate.swift b/Frameless/AppDelegate.swift index fb860fb..7fc01c8 100644 --- a/Frameless/AppDelegate.swift +++ b/Frameless/AppDelegate.swift @@ -55,6 +55,9 @@ class AppDelegate: UIResponder, UIApplicationDelegate { let isIdleTimer = NSUserDefaults.standardUserDefaults().objectForKey(AppDefaultKeys.KeepAwake.rawValue) as? Bool UIApplication.sharedApplication().idleTimerDisabled = isIdleTimer! } + if NSUserDefaults.standardUserDefaults().objectForKey(AppDefaultKeys.HomePage.rawValue) == nil { + NSUserDefaults.standardUserDefaults().setValue("", forKey: AppDefaultKeys.HomePage.rawValue) + } } func createIntroViewController() -> OnboardingViewController { diff --git a/Frameless/Base.lproj/Main.storyboard b/Frameless/Base.lproj/Main.storyboard index d244826..26c9f39 100644 --- a/Frameless/Base.lproj/Main.storyboard +++ b/Frameless/Base.lproj/Main.storyboard @@ -1,7 +1,7 @@ - + - + @@ -19,6 +19,8 @@ ClearSans ClearSans ClearSans + ClearSans + ClearSans @@ -293,6 +295,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -304,6 +340,7 @@ + diff --git a/Frameless/LaunchScreen.xib b/Frameless/LaunchScreen.xib index 1b82f1c..2532033 100644 --- a/Frameless/LaunchScreen.xib +++ b/Frameless/LaunchScreen.xib @@ -1,7 +1,7 @@ - + - + diff --git a/Frameless/SettingsTableViewController.swift b/Frameless/SettingsTableViewController.swift index f5d68d8..17cdf9a 100644 --- a/Frameless/SettingsTableViewController.swift +++ b/Frameless/SettingsTableViewController.swift @@ -16,6 +16,7 @@ class SettingsTableViewController: UITableViewController { @IBOutlet weak var _browserSwitch: UISwitch! @IBOutlet weak var _framerSwitch: UISwitch! @IBOutlet weak var _sleepSwitch: UISwitch! + @IBOutlet weak var _homePageTextField: UITextField! override func viewDidLoad() { super.viewDidLoad() @@ -26,6 +27,7 @@ class SettingsTableViewController: UITableViewController { _browserSwitch.on = NSUserDefaults.standardUserDefaults().objectForKey(AppDefaultKeys.ForwardBackGesture.rawValue) as! Bool _framerSwitch.on = NSUserDefaults.standardUserDefaults().objectForKey(AppDefaultKeys.FramerBonjour.rawValue) as! Bool _sleepSwitch.on = NSUserDefaults.standardUserDefaults().objectForKey(AppDefaultKeys.KeepAwake.rawValue) as! Bool + _homePageTextField.text = NSUserDefaults.standardUserDefaults().objectForKey(AppDefaultKeys.HomePage.rawValue) as! String } override func didReceiveMemoryWarning() { @@ -79,6 +81,11 @@ class SettingsTableViewController: UITableViewController { NSUserDefaults.standardUserDefaults().setValue(value, forKey: AppDefaultKeys.KeepAwake.rawValue) } + @IBAction func homePageChanged(sender: AnyObject) { + var value = (sender as! UITextField).text + NSUserDefaults.standardUserDefaults().setValue(value, forKey: AppDefaultKeys.HomePage.rawValue) + } + func checkControlsSettings() -> Bool { var arr = [_shakeSwitch.on, _swipeUpSwitch.on, _tripleTapSwitch.on] let filtered = arr.filter { $0 == true } diff --git a/Frameless/ViewController.swift b/Frameless/ViewController.swift index 41af1fa..075f17a 100644 --- a/Frameless/ViewController.swift +++ b/Frameless/ViewController.swift @@ -88,6 +88,7 @@ class ViewController: UIViewController, UISearchBarDelegate, FramelessSearchBarD _searchBar.framelessSearchBarDelegate = self _searchBar.showsCancelButton = false _searchBar.becomeFirstResponder() + _searchBar.text = NSUserDefaults.standardUserDefaults().objectForKey(AppDefaultKeys.HomePage.rawValue) as! String AppearanceBridge.setSearchBarTextInputAppearance() _settingsBarView = UIView(frame: CGRectMake(0, self.view.frame.height, self.view.frame.width, 44)) @@ -107,8 +108,14 @@ class ViewController: UIViewController, UISearchBarDelegate, FramelessSearchBarD if NSUserDefaults.standardUserDefaults().objectForKey(AppDefaultKeys.FramerBonjour.rawValue) as! Bool == true { _framerBonjour.start() } - - _progressView.hidden = true + + // load the URL immediately in case it is not empty (e.g. HomePage setting is set) + if _searchBar.text.isEmpty == false { + hideSearch() + loadURL(_searchBar.text) + } else { + _progressView.hidden = true + } } deinit {