From 6a1c5ccb2e043cda09221d8e6c537e6a1f90f9cf Mon Sep 17 00:00:00 2001 From: Carla Goldstein Date: Mon, 3 Sep 2018 15:14:02 +0100 Subject: [PATCH 1/2] Fixed creation of tableview to allow editing --- FileBrowser/FileBrowser.swift | 4 +++- FileBrowser/FileListViewController.swift | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/FileBrowser/FileBrowser.swift b/FileBrowser/FileBrowser.swift index aad61e3..87b39f9 100644 --- a/FileBrowser/FileBrowser.swift +++ b/FileBrowser/FileBrowser.swift @@ -52,7 +52,9 @@ open class FileBrowser: UINavigationController { let validInitialPath = initialPath ?? FileParser.sharedInstance.documentsURL() - let fileListViewController = FileListViewController(initialPath: validInitialPath, showCancelButton: showCancelButton) + let fileListViewController = FileListViewController(initialPath: validInitialPath, + allowEditing: allowEditing, + showCancelButton: showCancelButton) fileListViewController.allowEditing = allowEditing self.init(rootViewController: fileListViewController) self.view.backgroundColor = UIColor.white diff --git a/FileBrowser/FileListViewController.swift b/FileBrowser/FileListViewController.swift index 936a9bd..b166b43 100644 --- a/FileBrowser/FileListViewController.swift +++ b/FileBrowser/FileListViewController.swift @@ -36,10 +36,10 @@ class FileListViewController: UIViewController { //MARK: Lifecycle convenience init (initialPath: URL) { - self.init(initialPath: initialPath, showCancelButton: true) + self.init(initialPath: initialPath, allowEditing: true, showCancelButton: true) } - convenience init (initialPath: URL, showCancelButton: Bool) { + convenience init (initialPath: URL, allowEditing: Bool, showCancelButton: Bool) { self.init(nibName: "FileBrowser", bundle: Bundle(for: FileListViewController.self)) self.edgesForExtendedLayout = UIRectEdge() From cfcb6c59271c15e866b1579437a1e7bcc2e2d153 Mon Sep 17 00:00:00 2001 From: Carla Goldstein Date: Mon, 3 Sep 2018 16:01:02 +0100 Subject: [PATCH 2/2] If tableview is editable, pass it down to other child tableviews --- FileBrowser/FileBrowser.swift | 4 ++-- FileBrowser/FileListTableView.swift | 2 +- FileBrowser/FileListViewController.swift | 9 +++++---- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/FileBrowser/FileBrowser.swift b/FileBrowser/FileBrowser.swift index 87b39f9..875ac68 100644 --- a/FileBrowser/FileBrowser.swift +++ b/FileBrowser/FileBrowser.swift @@ -53,8 +53,8 @@ open class FileBrowser: UINavigationController { let validInitialPath = initialPath ?? FileParser.sharedInstance.documentsURL() let fileListViewController = FileListViewController(initialPath: validInitialPath, - allowEditing: allowEditing, - showCancelButton: showCancelButton) + showCancelButton: showCancelButton, + allowEditing: allowEditing) fileListViewController.allowEditing = allowEditing self.init(rootViewController: fileListViewController) self.view.backgroundColor = UIColor.white diff --git a/FileBrowser/FileListTableView.swift b/FileBrowser/FileListTableView.swift index 2caba43..058644e 100644 --- a/FileBrowser/FileListTableView.swift +++ b/FileBrowser/FileListTableView.swift @@ -43,7 +43,7 @@ extension FileListViewController: UITableViewDataSource, UITableViewDelegate { let selectedFile = fileForIndexPath(indexPath) searchController.isActive = false if selectedFile.isDirectory { - let fileListViewController = FileListViewController(initialPath: selectedFile.filePath) + let fileListViewController = FileListViewController(initialPath: selectedFile.filePath, allowEditing: allowEditing) fileListViewController.didSelectFile = didSelectFile self.navigationController?.pushViewController(fileListViewController, animated: true) } diff --git a/FileBrowser/FileListViewController.swift b/FileBrowser/FileListViewController.swift index b166b43..dd924c0 100644 --- a/FileBrowser/FileListViewController.swift +++ b/FileBrowser/FileListViewController.swift @@ -35,18 +35,19 @@ class FileListViewController: UIViewController { //MARK: Lifecycle - convenience init (initialPath: URL) { - self.init(initialPath: initialPath, allowEditing: true, showCancelButton: true) + convenience init (initialPath: URL, allowEditing: Bool = false) { + self.init(initialPath: initialPath, showCancelButton: true, allowEditing: allowEditing) } - convenience init (initialPath: URL, allowEditing: Bool, showCancelButton: Bool) { + convenience init (initialPath: URL, showCancelButton: Bool, allowEditing: Bool = false) { self.init(nibName: "FileBrowser", bundle: Bundle(for: FileListViewController.self)) self.edgesForExtendedLayout = UIRectEdge() // Set initial path self.initialPath = initialPath self.title = initialPath.lastPathComponent - + self.allowEditing = allowEditing + // Set search controller delegates searchController.searchResultsUpdater = self searchController.searchBar.delegate = self