mirror of
https://github.com/kiwix/kiwix-apple.git
synced 2025-09-22 11:03:21 -04:00
Search Inclusion selection + Main combined interface
This commit is contained in:
parent
89ff059ff8
commit
cd134e785e
21
Kiwix-iOS/Assets.xcassets/Check.imageset/Contents.json
vendored
Normal file
21
Kiwix-iOS/Assets.xcassets/Check.imageset/Contents.json
vendored
Normal file
@ -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"
|
||||
}
|
||||
}
|
BIN
Kiwix-iOS/Assets.xcassets/Check.imageset/success.png
vendored
Normal file
BIN
Kiwix-iOS/Assets.xcassets/Check.imageset/success.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.9 KiB |
21
Kiwix-iOS/Assets.xcassets/CheckBlue.imageset/Contents.json
vendored
Normal file
21
Kiwix-iOS/Assets.xcassets/CheckBlue.imageset/Contents.json
vendored
Normal file
@ -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"
|
||||
}
|
||||
}
|
BIN
Kiwix-iOS/Assets.xcassets/CheckBlue.imageset/success-1.png
vendored
Normal file
BIN
Kiwix-iOS/Assets.xcassets/CheckBlue.imageset/success-1.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.3 KiB |
@ -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}
|
||||
|
@ -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<Book>()
|
||||
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 {
|
||||
|
@ -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..<numberOfItems {
|
||||
let size = self.collectionView(collectionView, layout: collectionViewLayout, sizeForItemAtIndexPath: NSIndexPath(forItem: item, inSection: section))
|
||||
width += size.width
|
||||
}
|
||||
width += 10.0 * CGFloat(numberOfItems - 1)
|
||||
|
||||
let hInset = max((collectionView.frame.width - width) / 2, 0)
|
||||
return UIEdgeInsetsMake(0, hInset, 0, hInset)
|
||||
}
|
||||
|
||||
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAtIndex section: Int) -> 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
|
||||
|
@ -9,7 +9,7 @@
|
||||
import UIKit
|
||||
import CoreData
|
||||
|
||||
class SearchScopeSelectTBVC: UITableViewController, NSFetchedResultsControllerDelegate {
|
||||
class SearchScopeSelectTBVC: UITableViewController, TableCellDelegate, NSFetchedResultsControllerDelegate {
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
@ -24,12 +24,20 @@ 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
|
||||
|
||||
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
|
||||
@ -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)
|
||||
}
|
||||
|
||||
|
@ -36,7 +36,7 @@
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>248</string>
|
||||
<string>291</string>
|
||||
<key>ITSAppUsesNonExemptEncryption</key>
|
||||
<false/>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
|
@ -255,6 +255,7 @@
|
||||
<!--Search Local BooksCVC-->
|
||||
<scene sceneID="tv8-MB-WTH">
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="ja4-Ik-XIR" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
<viewController storyboardIdentifier="SearchLocalBooksCVC" id="AuN-RP-iDn" customClass="SearchLocalBooksCVC" customModule="Kiwix" customModuleProvider="target" sceneMemberID="viewController">
|
||||
<layoutGuides>
|
||||
<viewControllerLayoutGuide type="top" id="Tky-oO-aD1"/>
|
||||
@ -359,7 +360,6 @@
|
||||
<outlet property="collectionView" destination="E2T-US-f5Z" id="DgE-V1-W8m"/>
|
||||
</connections>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="ja4-Ik-XIR" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="3985" y="-979"/>
|
||||
</scene>
|
||||
@ -370,24 +370,17 @@
|
||||
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="28" sectionFooterHeight="28" id="5uZ-E9-jau">
|
||||
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" red="0.93725490199999995" green="0.93725490199999995" blue="0.95686274510000002" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<containerView key="tableHeaderView" opaque="NO" contentMode="scaleToFill" id="pjd-fK-JNs">
|
||||
<rect key="frame" x="0.0" y="0.0" width="600" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
||||
<connections>
|
||||
<segue destination="x8e-ps-NUY" kind="embed" id="4Hi-ul-aCg"/>
|
||||
</connections>
|
||||
</containerView>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<prototypes>
|
||||
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="Cell" id="QXK-je-ISm" customClass="BasicBookCell" customModule="Kiwix">
|
||||
<rect key="frame" x="0.0" y="72" width="600" height="44"/>
|
||||
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="Cell" id="QXK-je-ISm" customClass="CheckMarkBookCell" customModule="Kiwix">
|
||||
<rect key="frame" x="0.0" y="28" width="600" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="QXK-je-ISm" id="bj5-Xo-SR6">
|
||||
<rect key="frame" x="0.0" y="0.0" width="600" height="43.5"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" lineBreakMode="tailTruncation" minimumFontSize="8" adjustsLetterSpacingToFitWidth="YES" translatesAutoresizingMaskIntoConstraints="NO" id="g8b-RO-czj">
|
||||
<rect key="frame" x="59" y="6" width="533" height="20"/>
|
||||
<rect key="frame" x="59" y="6" width="501" height="20"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="19.5" id="Q5R-Kr-GZZ"/>
|
||||
</constraints>
|
||||
@ -403,7 +396,7 @@
|
||||
</constraints>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Lna-QC-TaS">
|
||||
<rect key="frame" x="59" y="26" width="533" height="12"/>
|
||||
<rect key="frame" x="59" y="26" width="501" height="12"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="11"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
@ -443,6 +436,14 @@
|
||||
</mask>
|
||||
</variation>
|
||||
</view>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Check" highlightedImage="CheckBlue" translatesAutoresizingMaskIntoConstraints="NO" id="DBc-uZ-XJ7" customClass="LargeHitZoneImageView" customModule="Kiwix" customModuleProvider="target">
|
||||
<rect key="frame" x="568" y="10" width="24" height="24"/>
|
||||
<color key="tintColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="24" id="1cX-LF-tWy"/>
|
||||
<constraint firstAttribute="width" constant="24" id="EiB-qo-N6J"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="PGj-Uz-NTF" firstAttribute="leading" secondItem="bxk-BM-3An" secondAttribute="trailing" constant="4" id="3B6-jN-jbK"/>
|
||||
@ -451,16 +452,20 @@
|
||||
<constraint firstItem="PGj-Uz-NTF" firstAttribute="height" secondItem="bj5-Xo-SR6" secondAttribute="height" multiplier="0.09" id="9ds-vD-nqD"/>
|
||||
<constraint firstItem="TmV-G9-g51" firstAttribute="top" secondItem="g8b-RO-czj" secondAttribute="top" id="AcV-0E-WGd"/>
|
||||
<constraint firstAttribute="bottomMargin" secondItem="Lna-QC-TaS" secondAttribute="bottom" constant="-2.5" id="BQQ-R5-5fd"/>
|
||||
<constraint firstItem="DBc-uZ-XJ7" firstAttribute="leading" secondItem="g8b-RO-czj" secondAttribute="trailing" constant="8" id="HIF-JG-enG"/>
|
||||
<constraint firstItem="9y6-m2-QTb" firstAttribute="top" secondItem="PGj-Uz-NTF" secondAttribute="bottom" id="LrR-7P-oLk"/>
|
||||
<constraint firstItem="TmV-G9-g51" firstAttribute="leading" secondItem="bxk-BM-3An" secondAttribute="trailing" constant="4" id="RKY-EX-UIm"/>
|
||||
<constraint firstItem="bxk-BM-3An" firstAttribute="leading" secondItem="bj5-Xo-SR6" secondAttribute="leadingMargin" constant="-2" id="TaI-4N-dRQ"/>
|
||||
<constraint firstItem="bxk-BM-3An" firstAttribute="centerY" secondItem="bj5-Xo-SR6" secondAttribute="centerY" id="ZNz-3g-dex"/>
|
||||
<constraint firstAttribute="trailingMargin" secondItem="DBc-uZ-XJ7" secondAttribute="trailing" id="cJt-JY-sHw"/>
|
||||
<constraint firstItem="PGj-Uz-NTF" firstAttribute="centerY" secondItem="bj5-Xo-SR6" secondAttribute="centerY" id="fAh-oJ-ziK"/>
|
||||
<constraint firstItem="PGj-Uz-NTF" firstAttribute="top" secondItem="TmV-G9-g51" secondAttribute="bottom" id="jK9-II-eaW"/>
|
||||
<constraint firstItem="Lna-QC-TaS" firstAttribute="leading" secondItem="9y6-m2-QTb" secondAttribute="trailing" constant="4" id="kfr-yj-Ics"/>
|
||||
<constraint firstItem="Lna-QC-TaS" firstAttribute="top" secondItem="g8b-RO-czj" secondAttribute="bottom" id="oog-7o-e6U"/>
|
||||
<constraint firstItem="DBc-uZ-XJ7" firstAttribute="centerY" secondItem="bj5-Xo-SR6" secondAttribute="centerY" id="sDT-gW-28b"/>
|
||||
<constraint firstItem="g8b-RO-czj" firstAttribute="leading" secondItem="TmV-G9-g51" secondAttribute="trailing" constant="4" id="sRF-jC-X66"/>
|
||||
<constraint firstItem="9y6-m2-QTb" firstAttribute="top" secondItem="Lna-QC-TaS" secondAttribute="top" id="uBT-QM-ups"/>
|
||||
<constraint firstItem="DBc-uZ-XJ7" firstAttribute="leading" secondItem="Lna-QC-TaS" secondAttribute="trailing" constant="8" id="zBV-hr-nJW"/>
|
||||
</constraints>
|
||||
<variation key="default">
|
||||
<mask key="constraints">
|
||||
@ -472,15 +477,18 @@
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstItem="bxk-BM-3An" firstAttribute="top" secondItem="QXK-je-ISm" secondAttribute="top" constant="6" id="NHP-qf-G8F"/>
|
||||
<constraint firstAttribute="trailing" secondItem="Lna-QC-TaS" secondAttribute="trailing" constant="8" id="RP5-NQ-eSs"/>
|
||||
<constraint firstAttribute="trailing" secondItem="g8b-RO-czj" secondAttribute="trailing" constant="8" id="ij7-SU-k1Q"/>
|
||||
<constraint firstAttribute="trailing" secondItem="Lna-QC-TaS" secondAttribute="trailing" constant="30" id="RP5-NQ-eSs"/>
|
||||
<constraint firstAttribute="trailing" secondItem="g8b-RO-czj" secondAttribute="trailing" constant="30" id="ij7-SU-k1Q"/>
|
||||
</constraints>
|
||||
<variation key="default">
|
||||
<mask key="constraints">
|
||||
<exclude reference="NHP-qf-G8F"/>
|
||||
<exclude reference="ij7-SU-k1Q"/>
|
||||
<exclude reference="RP5-NQ-eSs"/>
|
||||
</mask>
|
||||
</variation>
|
||||
<connections>
|
||||
<outlet property="accessoryImageView" destination="DBc-uZ-XJ7" id="Il3-71-PF9"/>
|
||||
<outlet property="favIcon" destination="bxk-BM-3An" id="iHS-PU-xLX"/>
|
||||
<outlet property="hasIndexIndicator" destination="9y6-m2-QTb" id="7MF-et-ko3"/>
|
||||
<outlet property="hasPicIndicator" destination="TmV-G9-g51" id="kKT-Lj-Ze1"/>
|
||||
@ -502,6 +510,7 @@
|
||||
<!--Search HistoryTBVC-->
|
||||
<scene sceneID="9Nv-K7-Ksi">
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="Gge-hI-22O" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
<tableViewController storyboardIdentifier="SearchHistoryTBVC" id="c60-LS-VO8" customClass="SearchHistoryTBVC" customModule="Kiwix" customModuleProvider="target" sceneMemberID="viewController">
|
||||
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="28" sectionFooterHeight="28" id="JbJ-2B-1Mr">
|
||||
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
|
||||
@ -533,7 +542,6 @@
|
||||
</connections>
|
||||
</tableView>
|
||||
</tableViewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="Gge-hI-22O" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="4643" y="-979"/>
|
||||
</scene>
|
||||
@ -978,6 +986,7 @@
|
||||
<!--Search Tab Controller-->
|
||||
<scene sceneID="ELM-OI-Gks">
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="wva-Fk-hmb" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
<viewController id="9gZ-CS-CgY" customClass="SearchTabController" customModule="Kiwix" customModuleProvider="target" sceneMemberID="viewController">
|
||||
<layoutGuides>
|
||||
<viewControllerLayoutGuide type="top" id="X4e-wR-a2C"/>
|
||||
@ -1098,7 +1107,6 @@
|
||||
<outlet property="tabsContainer" destination="IhM-7L-w7W" id="PLg-qS-ecM"/>
|
||||
</connections>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="wva-Fk-hmb" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="3329" y="-979"/>
|
||||
</scene>
|
||||
@ -1107,11 +1115,11 @@
|
||||
<objects>
|
||||
<viewController id="x8e-ps-NUY" customClass="LangLocalCVC" customModule="Kiwix" customModuleProvider="target" sceneMemberID="viewController">
|
||||
<view key="view" contentMode="scaleToFill" id="HQ0-6h-SSN">
|
||||
<rect key="frame" x="0.0" y="0.0" width="600" height="44"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="oLp-jV-WAb">
|
||||
<rect key="frame" x="0.0" y="0.0" width="600" height="44"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<collectionViewFlowLayout key="collectionViewLayout" scrollDirection="horizontal" minimumLineSpacing="10" minimumInteritemSpacing="10" id="SEj-84-HqB">
|
||||
<size key="itemSize" width="102" height="42"/>
|
||||
@ -1121,7 +1129,7 @@
|
||||
</collectionViewFlowLayout>
|
||||
<cells>
|
||||
<collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="Cell" id="yvP-cy-f4q" customClass="LocalLangCell" customModule="Kiwix" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="1" width="102" height="42"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="102" height="42"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
|
||||
<rect key="frame" x="0.0" y="0.0" width="102" height="42"/>
|
||||
@ -1167,6 +1175,8 @@
|
||||
</scene>
|
||||
</scenes>
|
||||
<resources>
|
||||
<image name="Check" width="21" height="21"/>
|
||||
<image name="CheckBlue" width="21" height="21"/>
|
||||
<image name="DownArrow" width="21" height="21"/>
|
||||
<image name="History" width="21" height="21"/>
|
||||
<image name="MainPage" width="21" height="21"/>
|
||||
|
@ -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!
|
||||
}
|
@ -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
|
||||
}
|
||||
}
|
@ -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
|
||||
}
|
||||
}
|
||||
|
@ -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)
|
||||
}
|
@ -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 = "<group>"; };
|
||||
971A101C1D0228E8007FC62C /* getTableOfContents.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = getTableOfContents.js; sourceTree = "<group>"; };
|
||||
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 = "<group>"; };
|
||||
971A10241D022AD5007FC62C /* BarButtonItems.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BarButtonItems.swift; sourceTree = "<group>"; };
|
||||
971A10251D022AD5007FC62C /* BookCollectionCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BookCollectionCell.swift; sourceTree = "<group>"; };
|
||||
971A10261D022AD5007FC62C /* BookTableCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BookTableCell.swift; sourceTree = "<group>"; };
|
||||
971A10261D022AD5007FC62C /* TableViewCells.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TableViewCells.swift; sourceTree = "<group>"; };
|
||||
971A10271D022AD5007FC62C /* Logo.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Logo.swift; sourceTree = "<group>"; };
|
||||
971A10281D022AD5007FC62C /* LTBarButtonItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LTBarButtonItem.swift; sourceTree = "<group>"; };
|
||||
971A10291D022AD5007FC62C /* RefreshHUD.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RefreshHUD.swift; sourceTree = "<group>"; };
|
||||
@ -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 = "<group>"; };
|
||||
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 = "<group>"; };
|
||||
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 = "<group>"; };
|
||||
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 = "<group>";
|
||||
};
|
||||
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 = "<group>";
|
||||
};
|
||||
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 = "<group>";
|
||||
@ -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 */,
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0720"
|
||||
LastUpgradeVersion = "0730"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
|
Loading…
x
Reference in New Issue
Block a user