diff --git a/Kiwix-iOS/Assets.xcassets/Check.imageset/Contents.json b/Kiwix-iOS/Assets.xcassets/Check.imageset/Contents.json new file mode 100644 index 00000000..e5c10e38 --- /dev/null +++ b/Kiwix-iOS/Assets.xcassets/Check.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "success.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Kiwix-iOS/Assets.xcassets/Check.imageset/success.png b/Kiwix-iOS/Assets.xcassets/Check.imageset/success.png new file mode 100644 index 00000000..74436418 Binary files /dev/null and b/Kiwix-iOS/Assets.xcassets/Check.imageset/success.png differ diff --git a/Kiwix-iOS/Assets.xcassets/CheckBlue.imageset/Contents.json b/Kiwix-iOS/Assets.xcassets/CheckBlue.imageset/Contents.json new file mode 100644 index 00000000..0b165efb --- /dev/null +++ b/Kiwix-iOS/Assets.xcassets/CheckBlue.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "success-1.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Kiwix-iOS/Assets.xcassets/CheckBlue.imageset/success-1.png b/Kiwix-iOS/Assets.xcassets/CheckBlue.imageset/success-1.png new file mode 100644 index 00000000..9cbdd0ae Binary files /dev/null and b/Kiwix-iOS/Assets.xcassets/CheckBlue.imageset/success-1.png differ diff --git a/Kiwix-iOS/Controller/LibraryDownloadTBVC.swift b/Kiwix-iOS/Controller/LibraryDownloadTBVC.swift index b75a08e5..7b43311c 100644 --- a/Kiwix-iOS/Controller/LibraryDownloadTBVC.swift +++ b/Kiwix-iOS/Controller/LibraryDownloadTBVC.swift @@ -10,7 +10,7 @@ import UIKit import CoreData import DZNEmptyDataSet -class LibraryDownloadTBVC: UITableViewController, NSFetchedResultsControllerDelegate, BookTableCellDelegate, DownloadProgressReporting, DZNEmptyDataSetSource, DZNEmptyDataSetDelegate { +class LibraryDownloadTBVC: UITableViewController, NSFetchedResultsControllerDelegate, TableCellDelegate, DownloadProgressReporting, DZNEmptyDataSetSource, DZNEmptyDataSetDelegate { // MARK: - Override @@ -38,9 +38,9 @@ class LibraryDownloadTBVC: UITableViewController, NSFetchedResultsControllerDele Network.sharedInstance.delegate = nil } - // MARK: - BookTableCellDelegate + // MARK: - TableCellDelegate - func didTapOnAccessoryViewForCell(cell: BookTableCell) { + func didTapOnAccessoryViewForCell(cell: UITableViewCell) { guard let indexPath = tableView.indexPathForCell(cell), let downloadTask = fetchedResultController.objectAtIndexPath(indexPath) as? DownloadTask, let book = downloadTask.book else {return} diff --git a/Kiwix-iOS/Controller/LibraryOnlineTBVC.swift b/Kiwix-iOS/Controller/LibraryOnlineTBVC.swift index 5683da5a..94836323 100644 --- a/Kiwix-iOS/Controller/LibraryOnlineTBVC.swift +++ b/Kiwix-iOS/Controller/LibraryOnlineTBVC.swift @@ -11,7 +11,7 @@ import CoreData import DZNEmptyDataSet import DateTools -class LibraryOnlineTBVC: UITableViewController, NSFetchedResultsControllerDelegate, BookTableCellDelegate, LTBarButtonItemDelegate, DZNEmptyDataSetSource, DZNEmptyDataSetDelegate { +class LibraryOnlineTBVC: UITableViewController, NSFetchedResultsControllerDelegate, TableCellDelegate, LTBarButtonItemDelegate, DZNEmptyDataSetSource, DZNEmptyDataSetDelegate { var booksShowingDetail = Set() var messsageLabelRefreshTimer: NSTimer? @@ -44,9 +44,9 @@ class LibraryOnlineTBVC: UITableViewController, NSFetchedResultsControllerDelega } - // MARK: - BookTableCellDelegate + // MARK: - TableCellDelegate - func didTapOnAccessoryViewForCell(cell: BookTableCell) { + func didTapOnAccessoryViewForCell(cell: UITableViewCell) { guard let indexPath = tableView.indexPathForCell(cell), let book = fetchedResultController.objectAtIndexPath(indexPath) as? Book else {return} switch book.spaceState { diff --git a/Kiwix-iOS/Controller/Search/LangLocalCVC.swift b/Kiwix-iOS/Controller/Search/LangLocalCVC.swift index 05668ca6..815dc18e 100644 --- a/Kiwix-iOS/Controller/Search/LangLocalCVC.swift +++ b/Kiwix-iOS/Controller/Search/LangLocalCVC.swift @@ -55,17 +55,35 @@ class LangLocalCVC: UIViewController, UICollectionViewDataSource, UICollectionVi return CGSizeMake(size.width + 30, height) } + func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAtIndex section: Int) -> UIEdgeInsets { + let numberOfItems = collectionView.numberOfItemsInSection(section) + + var width: CGFloat = 0 + for item in 0.. CGFloat { + return 10 + } + // MARK: - Fetched Result Controller var blockOperation = NSBlockOperation() let managedObjectContext = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext lazy var fetchedResultController: NSFetchedResultsController = { let fetchRequest = NSFetchRequest(entityName: "Language") - fetchRequest.fetchBatchSize = 20 let descriptor = NSSortDescriptor(key: "name", ascending: true) let predicate = NSPredicate(format: "books.isLocal CONTAINS true") fetchRequest.sortDescriptors = [descriptor] fetchRequest.predicate = predicate + fetchRequest.fetchBatchSize = 20 fetchRequest.fetchLimit = 5 let fetchedResultsController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: self.managedObjectContext, sectionNameKeyPath: nil, cacheName: "LangLocalFRC") fetchedResultsController.delegate = self diff --git a/Kiwix-iOS/Controller/SearchHistoryTBVC.swift b/Kiwix-iOS/Controller/Search/SearchHistoryTBVC.swift similarity index 100% rename from Kiwix-iOS/Controller/SearchHistoryTBVC.swift rename to Kiwix-iOS/Controller/Search/SearchHistoryTBVC.swift diff --git a/Kiwix-iOS/Controller/SearchLocalBooksCVC.swift b/Kiwix-iOS/Controller/Search/SearchLocalBooksCVC.swift similarity index 100% rename from Kiwix-iOS/Controller/SearchLocalBooksCVC.swift rename to Kiwix-iOS/Controller/Search/SearchLocalBooksCVC.swift diff --git a/Kiwix-iOS/Controller/SearchTabController.swift b/Kiwix-iOS/Controller/Search/SearchTabController.swift similarity index 100% rename from Kiwix-iOS/Controller/SearchTabController.swift rename to Kiwix-iOS/Controller/Search/SearchTabController.swift diff --git a/Kiwix-iOS/Controller/SearchScopeSelectTBVC.swift b/Kiwix-iOS/Controller/SearchScopeSelectTBVC.swift index 8c6ee345..31c87b40 100644 --- a/Kiwix-iOS/Controller/SearchScopeSelectTBVC.swift +++ b/Kiwix-iOS/Controller/SearchScopeSelectTBVC.swift @@ -9,7 +9,7 @@ import UIKit import CoreData -class SearchScopeSelectTBVC: UITableViewController, NSFetchedResultsControllerDelegate { +class SearchScopeSelectTBVC: UITableViewController, TableCellDelegate, NSFetchedResultsControllerDelegate { override func viewDidLoad() { super.viewDidLoad() @@ -24,11 +24,19 @@ class SearchScopeSelectTBVC: UITableViewController, NSFetchedResultsControllerDe let titleDescriptor = NSSortDescriptor(key: "title", ascending: true) fetchRequest.sortDescriptors = [langDescriptor, titleDescriptor] fetchRequest.predicate = NSPredicate(format: "isLocal == true") - let fetchedResultsController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: self.managedObjectContext, sectionNameKeyPath: nil, cacheName: "ScopeFRC") + let fetchedResultsController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: self.managedObjectContext, sectionNameKeyPath: "language.name", cacheName: "ScopeFRC") fetchedResultsController.delegate = self fetchedResultsController.performFetch(deleteCache: false) return fetchedResultsController }() + + // MARK: - Table Cell Delegate + + func didTapOnAccessoryViewForCell(cell: UITableViewCell) { + guard let indexPath = tableView.indexPathForCell(cell), + let book = fetchedResultController.objectAtIndexPath(indexPath) as? Book else {return} + book.includeInSearch = !book.includeInSearch + } // MARK: - Table view data source @@ -49,24 +57,22 @@ class SearchScopeSelectTBVC: UITableViewController, NSFetchedResultsControllerDe func configureCell(cell: UITableViewCell, atIndexPath indexPath: NSIndexPath) { guard let book = fetchedResultController.objectAtIndexPath(indexPath) as? Book else {return} - guard let cell = cell as? BasicBookCell else {return} + guard let cell = cell as? CheckMarkBookCell else {return} + cell.delegate = self cell.titleLabel.text = book.title cell.subtitleLabel.text = book.detailedDescription cell.favIcon.image = UIImage(data: book.favIcon ?? NSData()) cell.hasPic = book.hasPic cell.hasIndex = book.hasIndex - - cell.accessoryType = book.includeInSearch ? .Checkmark : .None + cell.isChecked = book.includeInSearch } override func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? { - if section == 0 { - return NSLocalizedString("Books included in search", comment: "Search Scope Control") - } else { - return "" - } + guard tableView.numberOfSections > 1 else {return nil} + guard let languageName = fetchedResultController.sections?[section].name else {return nil} + return languageName } // MARK: Table view delegate @@ -83,8 +89,10 @@ class SearchScopeSelectTBVC: UITableViewController, NSFetchedResultsControllerDe } override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { - guard let book = fetchedResultController.objectAtIndexPath(indexPath) as? Book else {return} - book.includeInSearch = !book.includeInSearch + guard let mainVC = parentViewController?.parentViewController as? MainVC, + let book = fetchedResultController.objectAtIndexPath(indexPath) as? Book else {return} + mainVC.hideSearch() + mainVC.loadMainPage(book) tableView.deselectRowAtIndexPath(indexPath, animated: true) } diff --git a/Kiwix-iOS/Info.plist b/Kiwix-iOS/Info.plist index 8c2d8662..96903faf 100644 --- a/Kiwix-iOS/Info.plist +++ b/Kiwix-iOS/Info.plist @@ -36,7 +36,7 @@ CFBundleSignature ???? CFBundleVersion - 248 + 291 ITSAppUsesNonExemptEncryption LSRequiresIPhoneOS diff --git a/Kiwix-iOS/Storyboard/Main.storyboard b/Kiwix-iOS/Storyboard/Main.storyboard index 0d14989c..114f4c20 100644 --- a/Kiwix-iOS/Storyboard/Main.storyboard +++ b/Kiwix-iOS/Storyboard/Main.storyboard @@ -255,6 +255,7 @@ + @@ -359,7 +360,6 @@ - @@ -370,24 +370,17 @@ - - - - - - - - + - - + + @@ -451,16 +452,20 @@ + + + + @@ -472,15 +477,18 @@ - - + + + + + @@ -502,6 +510,7 @@ + @@ -533,7 +542,6 @@ - @@ -978,6 +986,7 @@ + @@ -1098,7 +1107,6 @@ - @@ -1107,11 +1115,11 @@ - + - + @@ -1121,7 +1129,7 @@ - + @@ -1167,6 +1175,8 @@ + + diff --git a/Kiwix-iOS/View/ArticleCells.swift b/Kiwix-iOS/View/ArticleCells.swift deleted file mode 100644 index 69de2c43..00000000 --- a/Kiwix-iOS/View/ArticleCells.swift +++ /dev/null @@ -1,19 +0,0 @@ -// -// SearchResultCell.swift -// Kiwix -// -// Created by Chris Li on 8/13/15. -// Copyright © 2015 Chris Li. All rights reserved. -// - -import UIKit - -class ArticleCell: UITableViewCell { - @IBOutlet weak var favIcon: UIImageView! - @IBOutlet weak var hasPicIndicator: UIView! - @IBOutlet weak var titleLabel: UILabel! -} - -class ArticleSnippetCell: ArticleCell { - @IBOutlet weak var snippetLabel: UILabel! -} \ No newline at end of file diff --git a/Kiwix-iOS/View/BookCollectionCell.swift b/Kiwix-iOS/View/BookCollectionCell.swift deleted file mode 100644 index 460f4102..00000000 --- a/Kiwix-iOS/View/BookCollectionCell.swift +++ /dev/null @@ -1,23 +0,0 @@ - -// -// BookCollectionCell.swift -// Kiwix -// -// Created by Chris Li on 1/31/16. -// Copyright © 2016 Chris. All rights reserved. -// - -import UIKit - -class BookCollectionCell: UICollectionViewCell, UIGestureRecognizerDelegate { - - @IBOutlet weak var favIcon: UIImageView! - @IBOutlet weak var titleLabel: UILabel! - @IBOutlet weak var languageLabel: UILabel! - @IBOutlet weak var dateLabel: UILabel! - - override func awakeFromNib() { - favIcon.layer.cornerRadius = 4.0 - favIcon.layer.masksToBounds = true - } -} diff --git a/Kiwix-iOS/View/CollectionViewCells.swift b/Kiwix-iOS/View/CollectionViewCells.swift index a7907ec8..ce842706 100644 --- a/Kiwix-iOS/View/CollectionViewCells.swift +++ b/Kiwix-iOS/View/CollectionViewCells.swift @@ -17,3 +17,16 @@ class LocalLangCell: UICollectionViewCell { backgroundColor = UIColor.themeColor } } + +class BookCollectionCell: UICollectionViewCell, UIGestureRecognizerDelegate { + + @IBOutlet weak var favIcon: UIImageView! + @IBOutlet weak var titleLabel: UILabel! + @IBOutlet weak var languageLabel: UILabel! + @IBOutlet weak var dateLabel: UILabel! + + override func awakeFromNib() { + favIcon.layer.cornerRadius = 4.0 + favIcon.layer.masksToBounds = true + } +} diff --git a/Kiwix-iOS/View/BookTableCell.swift b/Kiwix-iOS/View/TableViewCells.swift similarity index 75% rename from Kiwix-iOS/View/BookTableCell.swift rename to Kiwix-iOS/View/TableViewCells.swift index 748bfa26..15f704f3 100644 --- a/Kiwix-iOS/View/BookTableCell.swift +++ b/Kiwix-iOS/View/TableViewCells.swift @@ -8,8 +8,9 @@ import UIKit -// MARK: - Normal Cells +// MARK: - Book Cells +/* Book Cell With P & I indicator */ class BasicBookCell: UITableViewCell { private let hasPicIndicatorOrange = UIColor(red: 1, green: 0.5, blue: 0, alpha: 1) private let hasIndexIndicatorBlue = UIColor(red: 0.304706, green: 0.47158, blue: 1, alpha: 1) @@ -40,6 +41,28 @@ class BasicBookCell: UITableViewCell { } } +/* Book Cell With P & I indicator, a check mark on the right */ +class CheckMarkBookCell: BasicBookCell { + @IBOutlet weak var accessoryImageView: LargeHitZoneImageView! + weak var delegate: TableCellDelegate? + + override func awakeFromNib() { + super.awakeFromNib() + let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(CheckMarkBookCell.handleTap)) + accessoryImageView.addGestureRecognizer(tapGestureRecognizer) + } + + var isChecked: Bool = false { + didSet { + accessoryImageView.highlighted = isChecked + } + } + + func handleTap() { + self.delegate?.didTapOnAccessoryViewForCell(self) + } +} + class LocalBookCell: UITableViewCell { @IBOutlet weak var favIcon: UIImageView! @IBOutlet weak var titleLabel: UILabel! @@ -72,7 +95,7 @@ class BookTableCell: UITableViewCell { @IBOutlet weak var titleLabel: UILabel! @IBOutlet weak var subtitleLabel: UILabel! @IBOutlet weak var accessoryImageView: LargeHitZoneImageView! - weak var delegate: BookTableCellDelegate? + weak var delegate: TableCellDelegate? var accessoryImageTintColor: UIColor? { didSet { @@ -113,8 +136,20 @@ class BookTableCell: UITableViewCell { } } +// MARK: - Article Cell + +class ArticleCell: UITableViewCell { + @IBOutlet weak var favIcon: UIImageView! + @IBOutlet weak var hasPicIndicator: UIView! + @IBOutlet weak var titleLabel: UILabel! +} + +class ArticleSnippetCell: ArticleCell { + @IBOutlet weak var snippetLabel: UILabel! +} + // MARK: - Protocol -protocol BookTableCellDelegate: class { - func didTapOnAccessoryViewForCell(cell: BookTableCell) +protocol TableCellDelegate: class { + func didTapOnAccessoryViewForCell(cell: UITableViewCell) } \ No newline at end of file diff --git a/Kiwix.xcodeproj/project.pbxproj b/Kiwix.xcodeproj/project.pbxproj index cef37121..d214405e 100644 --- a/Kiwix.xcodeproj/project.pbxproj +++ b/Kiwix.xcodeproj/project.pbxproj @@ -66,10 +66,8 @@ 971A101D1D0228E8007FC62C /* adjustlayoutiPad.js in Resources */ = {isa = PBXBuildFile; fileRef = 971A101A1D0228E8007FC62C /* adjustlayoutiPad.js */; }; 971A101E1D0228E8007FC62C /* adjustlayoutiPhone.js in Resources */ = {isa = PBXBuildFile; fileRef = 971A101B1D0228E8007FC62C /* adjustlayoutiPhone.js */; }; 971A101F1D0228E8007FC62C /* getTableOfContents.js in Resources */ = {isa = PBXBuildFile; fileRef = 971A101C1D0228E8007FC62C /* getTableOfContents.js */; }; - 971A102B1D022AD5007FC62C /* ArticleCells.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10231D022AD5007FC62C /* ArticleCells.swift */; }; 971A102C1D022AD5007FC62C /* BarButtonItems.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10241D022AD5007FC62C /* BarButtonItems.swift */; }; - 971A102D1D022AD5007FC62C /* BookCollectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10251D022AD5007FC62C /* BookCollectionCell.swift */; }; - 971A102E1D022AD5007FC62C /* BookTableCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10261D022AD5007FC62C /* BookTableCell.swift */; }; + 971A102E1D022AD5007FC62C /* TableViewCells.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10261D022AD5007FC62C /* TableViewCells.swift */; }; 971A102F1D022AD5007FC62C /* Logo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10271D022AD5007FC62C /* Logo.swift */; }; 971A10301D022AD5007FC62C /* LTBarButtonItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10281D022AD5007FC62C /* LTBarButtonItem.swift */; }; 971A10311D022AD5007FC62C /* RefreshHUD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10291D022AD5007FC62C /* RefreshHUD.swift */; }; @@ -85,9 +83,6 @@ 971A10461D022CB2007FC62C /* SearchVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10451D022CB2007FC62C /* SearchVC.swift */; }; 971A104A1D022CBE007FC62C /* SearchResultTBVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10471D022CBE007FC62C /* SearchResultTBVC.swift */; }; 971A104B1D022CBE007FC62C /* SearchScopeSelectTBVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10481D022CBE007FC62C /* SearchScopeSelectTBVC.swift */; }; - 971A104C1D022CBE007FC62C /* SearchTabController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10491D022CBE007FC62C /* SearchTabController.swift */; }; - 971A104E1D022CD9007FC62C /* SearchLocalBooksCVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A104D1D022CD9007FC62C /* SearchLocalBooksCVC.swift */; }; - 971A10501D022CDF007FC62C /* SearchHistoryTBVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A104F1D022CDF007FC62C /* SearchHistoryTBVC.swift */; }; 971A10521D022D9D007FC62C /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10511D022D9D007FC62C /* AppDelegate.swift */; }; 971A10581D022DAD007FC62C /* LibraryDownloadTBVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10531D022DAD007FC62C /* LibraryDownloadTBVC.swift */; }; 971A10591D022DAD007FC62C /* LibraryLocalBookDetailTBVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10541D022DAD007FC62C /* LibraryLocalBookDetailTBVC.swift */; }; @@ -115,7 +110,6 @@ 973BCCF31CEB3FA400F10B44 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 973BCCF21CEB3FA400F10B44 /* Assets.xcassets */; }; 973BCD011CEB3FA500F10B44 /* Kiwix_OSXTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 973BCD001CEB3FA500F10B44 /* Kiwix_OSXTests.swift */; }; 973BCD0C1CEB3FA500F10B44 /* Kiwix_OSXUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 973BCD0B1CEB3FA500F10B44 /* Kiwix_OSXUITests.swift */; }; - 973BCD191CEB402900F10B44 /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 973BCD171CEB402900F10B44 /* Info.plist */; }; 973BCD1A1CEB402900F10B44 /* KiwixTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 973BCD181CEB402900F10B44 /* KiwixTests.swift */; }; 973BCD1E1CEB403700F10B44 /* SnapshotAutomation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 973BCD1C1CEB403700F10B44 /* SnapshotAutomation.swift */; }; 973C8D5C1C25F945007272F9 /* Preference.swift in Sources */ = {isa = PBXBuildFile; fileRef = 973C8D5B1C25F945007272F9 /* Preference.swift */; }; @@ -384,10 +378,8 @@ 971A101B1D0228E8007FC62C /* adjustlayoutiPhone.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = adjustlayoutiPhone.js; sourceTree = ""; }; 971A101C1D0228E8007FC62C /* getTableOfContents.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = getTableOfContents.js; sourceTree = ""; }; 971A10201D022A34007FC62C /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = "Kiwix-iOS/Info.plist"; sourceTree = SOURCE_ROOT; }; - 971A10231D022AD5007FC62C /* ArticleCells.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ArticleCells.swift; sourceTree = ""; }; 971A10241D022AD5007FC62C /* BarButtonItems.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BarButtonItems.swift; sourceTree = ""; }; - 971A10251D022AD5007FC62C /* BookCollectionCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BookCollectionCell.swift; sourceTree = ""; }; - 971A10261D022AD5007FC62C /* BookTableCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BookTableCell.swift; sourceTree = ""; }; + 971A10261D022AD5007FC62C /* TableViewCells.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TableViewCells.swift; sourceTree = ""; }; 971A10271D022AD5007FC62C /* Logo.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Logo.swift; sourceTree = ""; }; 971A10281D022AD5007FC62C /* LTBarButtonItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LTBarButtonItem.swift; sourceTree = ""; }; 971A10291D022AD5007FC62C /* RefreshHUD.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RefreshHUD.swift; sourceTree = ""; }; @@ -403,9 +395,6 @@ 971A10451D022CB2007FC62C /* SearchVC.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SearchVC.swift; path = "Kiwix-iOS/Controller/SearchVC.swift"; sourceTree = SOURCE_ROOT; }; 971A10471D022CBE007FC62C /* SearchResultTBVC.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SearchResultTBVC.swift; path = "Kiwix-iOS/Controller/SearchResultTBVC.swift"; sourceTree = SOURCE_ROOT; }; 971A10481D022CBE007FC62C /* SearchScopeSelectTBVC.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SearchScopeSelectTBVC.swift; path = "Kiwix-iOS/Controller/SearchScopeSelectTBVC.swift"; sourceTree = SOURCE_ROOT; }; - 971A10491D022CBE007FC62C /* SearchTabController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SearchTabController.swift; path = "Kiwix-iOS/Controller/SearchTabController.swift"; sourceTree = SOURCE_ROOT; }; - 971A104D1D022CD9007FC62C /* SearchLocalBooksCVC.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SearchLocalBooksCVC.swift; path = "Kiwix-iOS/Controller/SearchLocalBooksCVC.swift"; sourceTree = SOURCE_ROOT; }; - 971A104F1D022CDF007FC62C /* SearchHistoryTBVC.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SearchHistoryTBVC.swift; path = "Kiwix-iOS/Controller/SearchHistoryTBVC.swift"; sourceTree = SOURCE_ROOT; }; 971A10511D022D9D007FC62C /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 971A10531D022DAD007FC62C /* LibraryDownloadTBVC.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LibraryDownloadTBVC.swift; path = "Kiwix-iOS/Controller/LibraryDownloadTBVC.swift"; sourceTree = SOURCE_ROOT; }; 971A10541D022DAD007FC62C /* LibraryLocalBookDetailTBVC.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LibraryLocalBookDetailTBVC.swift; path = "Kiwix-iOS/Controller/LibraryLocalBookDetailTBVC.swift"; sourceTree = SOURCE_ROOT; }; @@ -544,6 +533,9 @@ 97BA32A31CEBC29500339A47 /* RootWindowController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = RootWindowController.swift; path = "Kiwix-OSX/Controllers/RootWindowController.swift"; sourceTree = SOURCE_ROOT; }; 97D452BB1D16FF010033666F /* LangLocalCVC.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LangLocalCVC.swift; path = "Kiwix-iOS/Controller/Search/LangLocalCVC.swift"; sourceTree = SOURCE_ROOT; }; 97D452BD1D1723FF0033666F /* CollectionViewCells.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewCells.swift; sourceTree = ""; }; + 97D452BF1D1871E70033666F /* SearchHistoryTBVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = SearchHistoryTBVC.swift; path = "Kiwix-iOS/Controller/Search/SearchHistoryTBVC.swift"; sourceTree = SOURCE_ROOT; }; + 97D452C01D1871E70033666F /* SearchLocalBooksCVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = SearchLocalBooksCVC.swift; path = "Kiwix-iOS/Controller/Search/SearchLocalBooksCVC.swift"; sourceTree = SOURCE_ROOT; }; + 97D452C11D1871E70033666F /* SearchTabController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = SearchTabController.swift; path = "Kiwix-iOS/Controller/Search/SearchTabController.swift"; sourceTree = SOURCE_ROOT; }; 97DF23541CE807A1003E1E5A /* GlobalOperationQueue.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GlobalOperationQueue.swift; sourceTree = ""; }; 97E609EF1D103DED00EBCB9D /* Kiwix-iOSWidget.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = "Kiwix-iOSWidget.appex"; sourceTree = BUILT_PRODUCTS_DIR; }; 97E609F01D103DED00EBCB9D /* NotificationCenter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = NotificationCenter.framework; path = System/Library/Frameworks/NotificationCenter.framework; sourceTree = SDKROOT; }; @@ -820,10 +812,8 @@ 971A10221D022AD5007FC62C /* View */ = { isa = PBXGroup; children = ( - 971A10231D022AD5007FC62C /* ArticleCells.swift */, 971A10241D022AD5007FC62C /* BarButtonItems.swift */, - 971A10251D022AD5007FC62C /* BookCollectionCell.swift */, - 971A10261D022AD5007FC62C /* BookTableCell.swift */, + 971A10261D022AD5007FC62C /* TableViewCells.swift */, 97D452BD1D1723FF0033666F /* CollectionViewCells.swift */, 971A10271D022AD5007FC62C /* Logo.swift */, 971A10281D022AD5007FC62C /* LTBarButtonItem.swift */, @@ -978,15 +968,14 @@ name = Preference; sourceTree = ""; }; - 9768957A1CB6A35E00F02686 /* Dashboard */ = { + 9768957A1CB6A35E00F02686 /* Old */ = { isa = PBXGroup; children = ( - 971A10491D022CBE007FC62C /* SearchTabController.swift */, - 971A104D1D022CD9007FC62C /* SearchLocalBooksCVC.swift */, - 971A104F1D022CDF007FC62C /* SearchHistoryTBVC.swift */, - 971A10481D022CBE007FC62C /* SearchScopeSelectTBVC.swift */, + 97D452BF1D1871E70033666F /* SearchHistoryTBVC.swift */, + 97D452C01D1871E70033666F /* SearchLocalBooksCVC.swift */, + 97D452C11D1871E70033666F /* SearchTabController.swift */, ); - name = Dashboard; + name = Old; sourceTree = ""; }; 9771DC4B1C37278E009ECFF0 /* Setting */ = { @@ -1262,8 +1251,9 @@ isa = PBXGroup; children = ( 971A10451D022CB2007FC62C /* SearchVC.swift */, - 9768957A1CB6A35E00F02686 /* Dashboard */, + 971A10481D022CBE007FC62C /* SearchScopeSelectTBVC.swift */, 971A10471D022CBE007FC62C /* SearchResultTBVC.swift */, + 9768957A1CB6A35E00F02686 /* Old */, ); name = Search; sourceTree = ""; @@ -1445,7 +1435,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0730; - LastUpgradeCheck = 0720; + LastUpgradeCheck = 0730; ORGANIZATIONNAME = Chris; TargetAttributes = { 973BCCE81CEB3FA400F10B44 = { @@ -1557,7 +1547,6 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 973BCD191CEB402900F10B44 /* Info.plist in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1821,7 +1810,6 @@ 979CB6C31D05C520005E1BA1 /* UIUserNotifications+Operations.swift in Sources */, 971A10361D022B02007FC62C /* AboutVC.swift in Sources */, 971A102C1D022AD5007FC62C /* BarButtonItems.swift in Sources */, - 971A10501D022CDF007FC62C /* SearchHistoryTBVC.swift in Sources */, 971A10301D022AD5007FC62C /* LTBarButtonItem.swift in Sources */, 971A103F1D022C42007FC62C /* LibraryAutoRefreshTBVC.swift in Sources */, 979CB67F1D05C44F005E1BA1 /* NetworkObserver.swift in Sources */, @@ -1844,7 +1832,7 @@ 970103FB1C6824FA00DC48F6 /* RefreshLibraryOperation.swift in Sources */, 971A10651D022E0A007FC62C /* MainVC.swift in Sources */, 971A106F1D022E62007FC62C /* DownloadProgress.swift in Sources */, - 971A102E1D022AD5007FC62C /* BookTableCell.swift in Sources */, + 971A102E1D022AD5007FC62C /* TableViewCells.swift in Sources */, 979CB64F1D05C44F005E1BA1 /* LocationCapability-tvOS.swift in Sources */, 979CB6591D05C44F005E1BA1 /* UserNotificationCapability.swift in Sources */, 97254FDF1C2644560056950B /* ZIMMultiReader.swift in Sources */, @@ -1863,7 +1851,6 @@ 979CB65F1D05C44F005E1BA1 /* HealthCondition.swift in Sources */, 979CB6B51D05C520005E1BA1 /* GroupOperation.swift in Sources */, 97B50C7F1CA1E4810010BD79 /* UIOperations.swift in Sources */, - 971A104E1D022CD9007FC62C /* SearchLocalBooksCVC.swift in Sources */, 977998741C1E0B7900B1DD5E /* Book+CoreDataProperties.swift in Sources */, 979CB6871D05C44F005E1BA1 /* TimeoutObserver.swift in Sources */, 971A10661D022E0A007FC62C /* MainVCLoading.swift in Sources */, @@ -1875,7 +1862,6 @@ 97E60A061D10504000EBCB9D /* LibraryBackupTBVC.swift in Sources */, 974570F41C2DABB500680E43 /* ZIMMultiReaderAPI.swift in Sources */, 979CB6511D05C44F005E1BA1 /* PassbookCapability.swift in Sources */, - 971A104C1D022CBE007FC62C /* SearchTabController.swift in Sources */, 971A105C1D022DAD007FC62C /* LibraryTabBarController.swift in Sources */, 971A10461D022CB2007FC62C /* SearchVC.swift in Sources */, 9779987B1C1E1C9600B1DD5E /* Extensions.swift in Sources */, @@ -1892,7 +1878,6 @@ 979CB6431D05C44F005E1BA1 /* CalendarCapability.swift in Sources */, 979CB6AD1D05C520005E1BA1 /* BlockOperation.swift in Sources */, 979CB6B11D05C520005E1BA1 /* DelayOperation.swift in Sources */, - 971A102B1D022AD5007FC62C /* ArticleCells.swift in Sources */, 973C8D5C1C25F945007272F9 /* Preference.swift in Sources */, 979CB6B91D05C520005E1BA1 /* NSLock+Operations.swift in Sources */, 975B90FE1CEB909100D13906 /* iOSExtensions.swift in Sources */, @@ -1920,7 +1905,6 @@ 979CB6B31D05C520005E1BA1 /* Dictionary+Operations.swift in Sources */, 979CB64B1D05C44F005E1BA1 /* LocationCapability-iOS.swift in Sources */, 979CB6611D05C44F005E1BA1 /* LocationCondition.swift in Sources */, - 971A102D1D022AD5007FC62C /* BookCollectionCell.swift in Sources */, 971A10601D022DF2007FC62C /* LanguageTBVC.swift in Sources */, 971A106A1D022E15007FC62C /* BookmarkHUDVC.swift in Sources */, 971A106C1D022E50007FC62C /* Utilities.swift in Sources */, diff --git a/Kiwix.xcodeproj/xcuserdata/Chrisli.xcuserdatad/xcschemes/Kiwix-iOS.xcscheme b/Kiwix.xcodeproj/xcuserdata/Chrisli.xcuserdatad/xcschemes/Kiwix-iOS.xcscheme index 4fa30884..e0af121d 100644 --- a/Kiwix.xcodeproj/xcuserdata/Chrisli.xcuserdatad/xcschemes/Kiwix-iOS.xcscheme +++ b/Kiwix.xcodeproj/xcuserdata/Chrisli.xcuserdatad/xcschemes/Kiwix-iOS.xcscheme @@ -1,6 +1,6 @@