diff --git a/FileBrowser.xcodeproj/project.pbxproj b/FileBrowser.xcodeproj/project.pbxproj
index cfa9797..9d9c276 100644
--- a/FileBrowser.xcodeproj/project.pbxproj
+++ b/FileBrowser.xcodeproj/project.pbxproj
@@ -259,11 +259,11 @@
TargetAttributes = {
344169531C67812400B93D28 = {
CreatedOnToolsVersion = 7.2.1;
- LastSwiftMigration = 0900;
+ LastSwiftMigration = 1030;
};
3441695D1C67812400B93D28 = {
CreatedOnToolsVersion = 7.2.1;
- LastSwiftMigration = 0900;
+ LastSwiftMigration = 1030;
ProvisioningStyle = Manual;
};
};
@@ -273,6 +273,7 @@
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
+ English,
en,
);
mainGroup = 3441694A1C67812400B93D28;
@@ -477,6 +478,7 @@
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 5.0;
};
name = Debug;
};
@@ -495,6 +497,7 @@
PRODUCT_BUNDLE_IDENTIFIER = com.roymarmelstein.FileBrowser;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
+ SWIFT_VERSION = 5.0;
};
name = Release;
};
@@ -506,6 +509,7 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.roymarmelstein.FileBrowserTests;
PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_VERSION = 5.0;
};
name = Debug;
};
@@ -517,6 +521,7 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.roymarmelstein.FileBrowserTests;
PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_VERSION = 5.0;
};
name = Release;
};
diff --git a/FileBrowser.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/FileBrowser.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 0000000..18d9810
--- /dev/null
+++ b/FileBrowser.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ IDEDidComputeMac32BitWarning
+
+
+
diff --git a/FileBrowser/FBFile.swift b/FileBrowser/FBFile.swift
index ff3869d..6ca9006 100644
--- a/FileBrowser/FBFile.swift
+++ b/FileBrowser/FBFile.swift
@@ -11,17 +11,17 @@ import Foundation
/// FBFile is a class representing a file in FileBrowser
@objc open class FBFile: NSObject {
/// Display name. String.
- @objc open let displayName: String
+ @objc public let displayName: String
// is Directory. Bool.
- open let isDirectory: Bool
+ public let isDirectory: Bool
/// File extension.
- open let fileExtension: String?
+ public let fileExtension: String?
/// File attributes (including size, creation date etc).
- open let fileAttributes: NSDictionary?
+ public let fileAttributes: NSDictionary?
/// NSURL file path.
- open let filePath: URL
+ public let filePath: URL
// FBFileType
- open let type: FBFileType
+ public let type: FBFileType
open func delete()
{
diff --git a/FileBrowser/FileBrowser.swift b/FileBrowser/FileBrowser.swift
index aad61e3..8749fa2 100644
--- a/FileBrowser/FileBrowser.swift
+++ b/FileBrowser/FileBrowser.swift
@@ -14,6 +14,13 @@ open class FileBrowser: UINavigationController {
let parser = FileParser.sharedInstance
var fileList: FileListViewController?
+
+ /// File names to exclude from the file browser.
+ open var excludesFileNames: [String]? {
+ didSet {
+ parser.excludesFileNames = excludesFileNames
+ }
+ }
/// File types to exclude from the file browser.
open var excludesFileExtensions: [String]? {
diff --git a/FileBrowser/FileListSearch.swift b/FileBrowser/FileListSearch.swift
index ede8f3a..c808be2 100644
--- a/FileBrowser/FileListSearch.swift
+++ b/FileBrowser/FileListSearch.swift
@@ -12,11 +12,11 @@ extension FileListViewController: UISearchBarDelegate, UISearchControllerDelegat
// MARK: UISearchControllerDelegate
func willPresentSearchController(_ searchController: UISearchController) {
- self.tableView.contentInset = UIEdgeInsetsMake(20, 0, 0, 0)
+ self.tableView.contentInset = UIEdgeInsets.init(top: 20, left: 0, bottom: 0, right: 0)
}
func willDismissSearchController(_ searchController: UISearchController) {
- self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 0, 0)
+ self.tableView.contentInset = UIEdgeInsets.init(top: 0, left: 0, bottom: 0, right: 0)
}
// MARK: UISearchBarDelegate
diff --git a/FileBrowser/FileListTableView.swift b/FileBrowser/FileListTableView.swift
index 2caba43..d4ff3ea 100644
--- a/FileBrowser/FileListTableView.swift
+++ b/FileBrowser/FileListTableView.swift
@@ -86,13 +86,13 @@ extension FileListViewController: UITableViewDataSource, UITableViewDelegate {
return collation.section(forSectionIndexTitle: index)
}
- func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
- if (editingStyle == UITableViewCellEditingStyle.delete) {
+ func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) {
+ if (editingStyle == UITableViewCell.EditingStyle.delete) {
let selectedFile = fileForIndexPath(indexPath)
selectedFile.delete()
prepareData()
- tableView.reloadSections([indexPath.section], with: UITableViewRowAnimation.automatic)
+ tableView.reloadSections([indexPath.section], with: UITableView.RowAnimation.automatic)
}
}
diff --git a/FileBrowser/FileParser.swift b/FileBrowser/FileParser.swift
index c0e364f..f485ca7 100644
--- a/FileBrowser/FileParser.swift
+++ b/FileBrowser/FileParser.swift
@@ -12,6 +12,20 @@ class FileParser {
static let sharedInstance = FileParser()
+ var _excludesFileNames = [String]()
+
+ /// Case sensitive
+ var excludesFileNames: [String]? {
+ get {
+ return _excludesFileNames
+ }
+ set {
+ if let newValue = newValue {
+ _excludesFileNames = newValue
+ }
+ }
+ }
+
var _excludesFileExtensions = [String]()
/// Mapped for case insensitivity
@@ -46,6 +60,9 @@ class FileParser {
// Parse
for filePath in filePaths {
let file = FBFile(filePath: filePath)
+ if let excludesFileNames = excludesFileNames, excludesFileNames.contains(where: file.displayName.contains) {
+ continue
+ }
if let excludesFileExtensions = excludesFileExtensions, let fileExtensions = file.fileExtension , excludesFileExtensions.contains(fileExtensions) {
continue
}
diff --git a/FileBrowser/PreviewTransitionViewController.swift b/FileBrowser/PreviewTransitionViewController.swift
index a2c5e28..c314db4 100644
--- a/FileBrowser/PreviewTransitionViewController.swift
+++ b/FileBrowser/PreviewTransitionViewController.swift
@@ -18,10 +18,10 @@ class PreviewTransitionViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
- self.addChildViewController(quickLookPreviewController)
+ self.addChild(quickLookPreviewController)
containerView.addSubview(quickLookPreviewController.view)
quickLookPreviewController.view.frame = containerView.bounds
- quickLookPreviewController.didMove(toParentViewController: self)
+ quickLookPreviewController.didMove(toParent: self)
}
}
diff --git a/FileBrowser/Resources/PreviewTransitionViewController.xib b/FileBrowser/Resources/PreviewTransitionViewController.xib
index 4771e6b..78ab391 100644
--- a/FileBrowser/Resources/PreviewTransitionViewController.xib
+++ b/FileBrowser/Resources/PreviewTransitionViewController.xib
@@ -1,8 +1,12 @@
-
-
+
+
+
+
+
-
+
+
@@ -13,15 +17,15 @@
-
+
-
-
+
+
-
+
diff --git a/examples/Sample/Sample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/examples/Sample/Sample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 0000000..18d9810
--- /dev/null
+++ b/examples/Sample/Sample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ IDEDidComputeMac32BitWarning
+
+
+