|
|
|
@ -9,8 +9,8 @@ |
|
|
|
import UIKit |
|
|
|
import CoreData |
|
|
|
|
|
|
|
class MasterViewController: UITableViewController { |
|
|
|
|
|
|
|
class MasterViewController: UITableViewController, UISearchResultsUpdating { |
|
|
|
let searchController = UISearchController(searchResultsController: nil) |
|
|
|
let model = ItemModel() |
|
|
|
|
|
|
|
override func awakeFromNib() { |
|
|
|
@ -22,7 +22,10 @@ class MasterViewController: UITableViewController { |
|
|
|
} |
|
|
|
|
|
|
|
override func viewDidLoad() { |
|
|
|
|
|
|
|
searchController.searchResultsUpdater = self |
|
|
|
searchController.dimsBackgroundDuringPresentation = false |
|
|
|
definesPresentationContext = true |
|
|
|
tableView.tableHeaderView = searchController.searchBar |
|
|
|
} |
|
|
|
|
|
|
|
override func didReceiveMemoryWarning() { |
|
|
|
@ -32,6 +35,18 @@ class MasterViewController: UITableViewController { |
|
|
|
// Dispose of any resources that can be recreated. |
|
|
|
} |
|
|
|
|
|
|
|
func updateSearchResultsForSearchController(search: UISearchController) { |
|
|
|
let str = search.searchBar.text! |
|
|
|
|
|
|
|
if str.hasSuffix("*") { |
|
|
|
let txt = str[str.startIndex ..< str.endIndex.advancedBy(-1)] |
|
|
|
let neu = MediaItem(name: txt, path: model.items[0].parent!.path + "*" + txt, root: model.items[0].parent!.root, type: ItemType.DETAILS) |
|
|
|
model.items.append(neu) |
|
|
|
neu.parent = model.items[0].parent |
|
|
|
self.tableView.reloadData() |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
func selectLoadedItem(selectedItem: MediaItem) { |
|
|
|
switch selectedItem.type { |
|
|
|
case ItemType.DETAILS: |
|
|
|
@ -40,8 +55,7 @@ class MasterViewController: UITableViewController { |
|
|
|
case ItemType.FOLDER: |
|
|
|
if selectedItem.children.first?.type == ItemType.VIDEO { |
|
|
|
performSegueWithIdentifier("showDetail", sender: self) |
|
|
|
} |
|
|
|
else { |
|
|
|
} else { |
|
|
|
gotoNextFolder(selectedItem) |
|
|
|
} |
|
|
|
default: |
|
|
|
@ -88,8 +102,7 @@ class MasterViewController: UITableViewController { |
|
|
|
neu.children.append(details) |
|
|
|
hasDetails = true |
|
|
|
} |
|
|
|
} |
|
|
|
else { |
|
|
|
} else { |
|
|
|
// item.type = ItemType.FOLDER |
|
|
|
item.parent = selectedItem |
|
|
|
neu.children.append(item) |
|
|
|
@ -132,6 +145,11 @@ class MasterViewController: UITableViewController { |
|
|
|
selectedItem.children = model.items |
|
|
|
selectedItem.loaded = false |
|
|
|
|
|
|
|
if selectedItem.path.containsString("*") { |
|
|
|
selectedItem.loaded = true |
|
|
|
} else |
|
|
|
{ |
|
|
|
|
|
|
|
var all: [MediaItem]? |
|
|
|
|
|
|
|
for f in selectedItem.children { |
|
|
|
@ -151,7 +169,7 @@ class MasterViewController: UITableViewController { |
|
|
|
f.parent = selectedItem |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
self.performSegueWithIdentifier("showDetail", sender: self) |
|
|
|
return |
|
|
|
} |
|
|
|
|