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 CoreData
|
||||||
import DZNEmptyDataSet
|
import DZNEmptyDataSet
|
||||||
|
|
||||||
class LibraryDownloadTBVC: UITableViewController, NSFetchedResultsControllerDelegate, BookTableCellDelegate, DownloadProgressReporting, DZNEmptyDataSetSource, DZNEmptyDataSetDelegate {
|
class LibraryDownloadTBVC: UITableViewController, NSFetchedResultsControllerDelegate, TableCellDelegate, DownloadProgressReporting, DZNEmptyDataSetSource, DZNEmptyDataSetDelegate {
|
||||||
|
|
||||||
// MARK: - Override
|
// MARK: - Override
|
||||||
|
|
||||||
@ -38,9 +38,9 @@ class LibraryDownloadTBVC: UITableViewController, NSFetchedResultsControllerDele
|
|||||||
Network.sharedInstance.delegate = nil
|
Network.sharedInstance.delegate = nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// MARK: - BookTableCellDelegate
|
// MARK: - TableCellDelegate
|
||||||
|
|
||||||
func didTapOnAccessoryViewForCell(cell: BookTableCell) {
|
func didTapOnAccessoryViewForCell(cell: UITableViewCell) {
|
||||||
guard let indexPath = tableView.indexPathForCell(cell),
|
guard let indexPath = tableView.indexPathForCell(cell),
|
||||||
let downloadTask = fetchedResultController.objectAtIndexPath(indexPath) as? DownloadTask,
|
let downloadTask = fetchedResultController.objectAtIndexPath(indexPath) as? DownloadTask,
|
||||||
let book = downloadTask.book else {return}
|
let book = downloadTask.book else {return}
|
||||||
|
@ -11,7 +11,7 @@ import CoreData
|
|||||||
import DZNEmptyDataSet
|
import DZNEmptyDataSet
|
||||||
import DateTools
|
import DateTools
|
||||||
|
|
||||||
class LibraryOnlineTBVC: UITableViewController, NSFetchedResultsControllerDelegate, BookTableCellDelegate, LTBarButtonItemDelegate, DZNEmptyDataSetSource, DZNEmptyDataSetDelegate {
|
class LibraryOnlineTBVC: UITableViewController, NSFetchedResultsControllerDelegate, TableCellDelegate, LTBarButtonItemDelegate, DZNEmptyDataSetSource, DZNEmptyDataSetDelegate {
|
||||||
|
|
||||||
var booksShowingDetail = Set<Book>()
|
var booksShowingDetail = Set<Book>()
|
||||||
var messsageLabelRefreshTimer: NSTimer?
|
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),
|
guard let indexPath = tableView.indexPathForCell(cell),
|
||||||
let book = fetchedResultController.objectAtIndexPath(indexPath) as? Book else {return}
|
let book = fetchedResultController.objectAtIndexPath(indexPath) as? Book else {return}
|
||||||
switch book.spaceState {
|
switch book.spaceState {
|
||||||
|
@ -55,17 +55,35 @@ class LangLocalCVC: UIViewController, UICollectionViewDataSource, UICollectionVi
|
|||||||
return CGSizeMake(size.width + 30, height)
|
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
|
// MARK: - Fetched Result Controller
|
||||||
|
|
||||||
var blockOperation = NSBlockOperation()
|
var blockOperation = NSBlockOperation()
|
||||||
let managedObjectContext = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext
|
let managedObjectContext = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext
|
||||||
lazy var fetchedResultController: NSFetchedResultsController = {
|
lazy var fetchedResultController: NSFetchedResultsController = {
|
||||||
let fetchRequest = NSFetchRequest(entityName: "Language")
|
let fetchRequest = NSFetchRequest(entityName: "Language")
|
||||||
fetchRequest.fetchBatchSize = 20
|
|
||||||
let descriptor = NSSortDescriptor(key: "name", ascending: true)
|
let descriptor = NSSortDescriptor(key: "name", ascending: true)
|
||||||
let predicate = NSPredicate(format: "books.isLocal CONTAINS true")
|
let predicate = NSPredicate(format: "books.isLocal CONTAINS true")
|
||||||
fetchRequest.sortDescriptors = [descriptor]
|
fetchRequest.sortDescriptors = [descriptor]
|
||||||
fetchRequest.predicate = predicate
|
fetchRequest.predicate = predicate
|
||||||
|
fetchRequest.fetchBatchSize = 20
|
||||||
fetchRequest.fetchLimit = 5
|
fetchRequest.fetchLimit = 5
|
||||||
let fetchedResultsController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: self.managedObjectContext, sectionNameKeyPath: nil, cacheName: "LangLocalFRC")
|
let fetchedResultsController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: self.managedObjectContext, sectionNameKeyPath: nil, cacheName: "LangLocalFRC")
|
||||||
fetchedResultsController.delegate = self
|
fetchedResultsController.delegate = self
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
import UIKit
|
import UIKit
|
||||||
import CoreData
|
import CoreData
|
||||||
|
|
||||||
class SearchScopeSelectTBVC: UITableViewController, NSFetchedResultsControllerDelegate {
|
class SearchScopeSelectTBVC: UITableViewController, TableCellDelegate, NSFetchedResultsControllerDelegate {
|
||||||
|
|
||||||
override func viewDidLoad() {
|
override func viewDidLoad() {
|
||||||
super.viewDidLoad()
|
super.viewDidLoad()
|
||||||
@ -24,11 +24,19 @@ class SearchScopeSelectTBVC: UITableViewController, NSFetchedResultsControllerDe
|
|||||||
let titleDescriptor = NSSortDescriptor(key: "title", ascending: true)
|
let titleDescriptor = NSSortDescriptor(key: "title", ascending: true)
|
||||||
fetchRequest.sortDescriptors = [langDescriptor, titleDescriptor]
|
fetchRequest.sortDescriptors = [langDescriptor, titleDescriptor]
|
||||||
fetchRequest.predicate = NSPredicate(format: "isLocal == true")
|
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.delegate = self
|
||||||
fetchedResultsController.performFetch(deleteCache: false)
|
fetchedResultsController.performFetch(deleteCache: false)
|
||||||
return fetchedResultsController
|
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
|
// MARK: - Table view data source
|
||||||
|
|
||||||
@ -49,24 +57,22 @@ class SearchScopeSelectTBVC: UITableViewController, NSFetchedResultsControllerDe
|
|||||||
|
|
||||||
func configureCell(cell: UITableViewCell, atIndexPath indexPath: NSIndexPath) {
|
func configureCell(cell: UITableViewCell, atIndexPath indexPath: NSIndexPath) {
|
||||||
guard let book = fetchedResultController.objectAtIndexPath(indexPath) as? Book else {return}
|
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.titleLabel.text = book.title
|
||||||
cell.subtitleLabel.text = book.detailedDescription
|
cell.subtitleLabel.text = book.detailedDescription
|
||||||
|
|
||||||
cell.favIcon.image = UIImage(data: book.favIcon ?? NSData())
|
cell.favIcon.image = UIImage(data: book.favIcon ?? NSData())
|
||||||
cell.hasPic = book.hasPic
|
cell.hasPic = book.hasPic
|
||||||
cell.hasIndex = book.hasIndex
|
cell.hasIndex = book.hasIndex
|
||||||
|
cell.isChecked = book.includeInSearch
|
||||||
cell.accessoryType = book.includeInSearch ? .Checkmark : .None
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
|
override func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
|
||||||
if section == 0 {
|
guard tableView.numberOfSections > 1 else {return nil}
|
||||||
return NSLocalizedString("Books included in search", comment: "Search Scope Control")
|
guard let languageName = fetchedResultController.sections?[section].name else {return nil}
|
||||||
} else {
|
return languageName
|
||||||
return ""
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// MARK: Table view delegate
|
// MARK: Table view delegate
|
||||||
@ -83,8 +89,10 @@ class SearchScopeSelectTBVC: UITableViewController, NSFetchedResultsControllerDe
|
|||||||
}
|
}
|
||||||
|
|
||||||
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
|
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
|
||||||
guard let book = fetchedResultController.objectAtIndexPath(indexPath) as? Book else {return}
|
guard let mainVC = parentViewController?.parentViewController as? MainVC,
|
||||||
book.includeInSearch = !book.includeInSearch
|
let book = fetchedResultController.objectAtIndexPath(indexPath) as? Book else {return}
|
||||||
|
mainVC.hideSearch()
|
||||||
|
mainVC.loadMainPage(book)
|
||||||
tableView.deselectRowAtIndexPath(indexPath, animated: true)
|
tableView.deselectRowAtIndexPath(indexPath, animated: true)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>248</string>
|
<string>291</string>
|
||||||
<key>ITSAppUsesNonExemptEncryption</key>
|
<key>ITSAppUsesNonExemptEncryption</key>
|
||||||
<false/>
|
<false/>
|
||||||
<key>LSRequiresIPhoneOS</key>
|
<key>LSRequiresIPhoneOS</key>
|
||||||
|
@ -255,6 +255,7 @@
|
|||||||
<!--Search Local BooksCVC-->
|
<!--Search Local BooksCVC-->
|
||||||
<scene sceneID="tv8-MB-WTH">
|
<scene sceneID="tv8-MB-WTH">
|
||||||
<objects>
|
<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">
|
<viewController storyboardIdentifier="SearchLocalBooksCVC" id="AuN-RP-iDn" customClass="SearchLocalBooksCVC" customModule="Kiwix" customModuleProvider="target" sceneMemberID="viewController">
|
||||||
<layoutGuides>
|
<layoutGuides>
|
||||||
<viewControllerLayoutGuide type="top" id="Tky-oO-aD1"/>
|
<viewControllerLayoutGuide type="top" id="Tky-oO-aD1"/>
|
||||||
@ -359,7 +360,6 @@
|
|||||||
<outlet property="collectionView" destination="E2T-US-f5Z" id="DgE-V1-W8m"/>
|
<outlet property="collectionView" destination="E2T-US-f5Z" id="DgE-V1-W8m"/>
|
||||||
</connections>
|
</connections>
|
||||||
</viewController>
|
</viewController>
|
||||||
<placeholder placeholderIdentifier="IBFirstResponder" id="ja4-Ik-XIR" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
|
||||||
</objects>
|
</objects>
|
||||||
<point key="canvasLocation" x="3985" y="-979"/>
|
<point key="canvasLocation" x="3985" y="-979"/>
|
||||||
</scene>
|
</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">
|
<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"/>
|
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<color key="backgroundColor" red="0.93725490199999995" green="0.93725490199999995" blue="0.95686274510000002" alpha="1" colorSpace="calibratedRGB"/>
|
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
|
||||||
<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>
|
|
||||||
<prototypes>
|
<prototypes>
|
||||||
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="Cell" id="QXK-je-ISm" customClass="BasicBookCell" customModule="Kiwix">
|
<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="72" width="600" height="44"/>
|
<rect key="frame" x="0.0" y="28" width="600" height="44"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="QXK-je-ISm" id="bj5-Xo-SR6">
|
<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"/>
|
<rect key="frame" x="0.0" y="0.0" width="600" height="43.5"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<subviews>
|
<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">
|
<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>
|
<constraints>
|
||||||
<constraint firstAttribute="height" constant="19.5" id="Q5R-Kr-GZZ"/>
|
<constraint firstAttribute="height" constant="19.5" id="Q5R-Kr-GZZ"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
@ -403,7 +396,7 @@
|
|||||||
</constraints>
|
</constraints>
|
||||||
</imageView>
|
</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">
|
<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"/>
|
<fontDescription key="fontDescription" type="system" pointSize="11"/>
|
||||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
|
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
|
||||||
<nil key="highlightedColor"/>
|
<nil key="highlightedColor"/>
|
||||||
@ -443,6 +436,14 @@
|
|||||||
</mask>
|
</mask>
|
||||||
</variation>
|
</variation>
|
||||||
</view>
|
</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>
|
</subviews>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstItem="PGj-Uz-NTF" firstAttribute="leading" secondItem="bxk-BM-3An" secondAttribute="trailing" constant="4" id="3B6-jN-jbK"/>
|
<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="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 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 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="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="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="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 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="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="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="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="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="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="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>
|
</constraints>
|
||||||
<variation key="default">
|
<variation key="default">
|
||||||
<mask key="constraints">
|
<mask key="constraints">
|
||||||
@ -472,15 +477,18 @@
|
|||||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<constraint firstItem="bxk-BM-3An" firstAttribute="top" secondItem="QXK-je-ISm" secondAttribute="top" constant="6" id="NHP-qf-G8F"/>
|
<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="Lna-QC-TaS" secondAttribute="trailing" constant="30" id="RP5-NQ-eSs"/>
|
||||||
<constraint firstAttribute="trailing" secondItem="g8b-RO-czj" secondAttribute="trailing" constant="8" id="ij7-SU-k1Q"/>
|
<constraint firstAttribute="trailing" secondItem="g8b-RO-czj" secondAttribute="trailing" constant="30" id="ij7-SU-k1Q"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<variation key="default">
|
<variation key="default">
|
||||||
<mask key="constraints">
|
<mask key="constraints">
|
||||||
<exclude reference="NHP-qf-G8F"/>
|
<exclude reference="NHP-qf-G8F"/>
|
||||||
|
<exclude reference="ij7-SU-k1Q"/>
|
||||||
|
<exclude reference="RP5-NQ-eSs"/>
|
||||||
</mask>
|
</mask>
|
||||||
</variation>
|
</variation>
|
||||||
<connections>
|
<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="favIcon" destination="bxk-BM-3An" id="iHS-PU-xLX"/>
|
||||||
<outlet property="hasIndexIndicator" destination="9y6-m2-QTb" id="7MF-et-ko3"/>
|
<outlet property="hasIndexIndicator" destination="9y6-m2-QTb" id="7MF-et-ko3"/>
|
||||||
<outlet property="hasPicIndicator" destination="TmV-G9-g51" id="kKT-Lj-Ze1"/>
|
<outlet property="hasPicIndicator" destination="TmV-G9-g51" id="kKT-Lj-Ze1"/>
|
||||||
@ -502,6 +510,7 @@
|
|||||||
<!--Search HistoryTBVC-->
|
<!--Search HistoryTBVC-->
|
||||||
<scene sceneID="9Nv-K7-Ksi">
|
<scene sceneID="9Nv-K7-Ksi">
|
||||||
<objects>
|
<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">
|
<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">
|
<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"/>
|
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
|
||||||
@ -533,7 +542,6 @@
|
|||||||
</connections>
|
</connections>
|
||||||
</tableView>
|
</tableView>
|
||||||
</tableViewController>
|
</tableViewController>
|
||||||
<placeholder placeholderIdentifier="IBFirstResponder" id="Gge-hI-22O" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
|
||||||
</objects>
|
</objects>
|
||||||
<point key="canvasLocation" x="4643" y="-979"/>
|
<point key="canvasLocation" x="4643" y="-979"/>
|
||||||
</scene>
|
</scene>
|
||||||
@ -978,6 +986,7 @@
|
|||||||
<!--Search Tab Controller-->
|
<!--Search Tab Controller-->
|
||||||
<scene sceneID="ELM-OI-Gks">
|
<scene sceneID="ELM-OI-Gks">
|
||||||
<objects>
|
<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">
|
<viewController id="9gZ-CS-CgY" customClass="SearchTabController" customModule="Kiwix" customModuleProvider="target" sceneMemberID="viewController">
|
||||||
<layoutGuides>
|
<layoutGuides>
|
||||||
<viewControllerLayoutGuide type="top" id="X4e-wR-a2C"/>
|
<viewControllerLayoutGuide type="top" id="X4e-wR-a2C"/>
|
||||||
@ -1098,7 +1107,6 @@
|
|||||||
<outlet property="tabsContainer" destination="IhM-7L-w7W" id="PLg-qS-ecM"/>
|
<outlet property="tabsContainer" destination="IhM-7L-w7W" id="PLg-qS-ecM"/>
|
||||||
</connections>
|
</connections>
|
||||||
</viewController>
|
</viewController>
|
||||||
<placeholder placeholderIdentifier="IBFirstResponder" id="wva-Fk-hmb" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
|
||||||
</objects>
|
</objects>
|
||||||
<point key="canvasLocation" x="3329" y="-979"/>
|
<point key="canvasLocation" x="3329" y="-979"/>
|
||||||
</scene>
|
</scene>
|
||||||
@ -1107,11 +1115,11 @@
|
|||||||
<objects>
|
<objects>
|
||||||
<viewController id="x8e-ps-NUY" customClass="LangLocalCVC" customModule="Kiwix" customModuleProvider="target" sceneMemberID="viewController">
|
<viewController id="x8e-ps-NUY" customClass="LangLocalCVC" customModule="Kiwix" customModuleProvider="target" sceneMemberID="viewController">
|
||||||
<view key="view" contentMode="scaleToFill" id="HQ0-6h-SSN">
|
<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"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="oLp-jV-WAb">
|
<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"/>
|
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||||
<collectionViewFlowLayout key="collectionViewLayout" scrollDirection="horizontal" minimumLineSpacing="10" minimumInteritemSpacing="10" id="SEj-84-HqB">
|
<collectionViewFlowLayout key="collectionViewLayout" scrollDirection="horizontal" minimumLineSpacing="10" minimumInteritemSpacing="10" id="SEj-84-HqB">
|
||||||
<size key="itemSize" width="102" height="42"/>
|
<size key="itemSize" width="102" height="42"/>
|
||||||
@ -1121,7 +1129,7 @@
|
|||||||
</collectionViewFlowLayout>
|
</collectionViewFlowLayout>
|
||||||
<cells>
|
<cells>
|
||||||
<collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="Cell" id="yvP-cy-f4q" customClass="LocalLangCell" customModule="Kiwix" customModuleProvider="target">
|
<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"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||||
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
|
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="102" height="42"/>
|
<rect key="frame" x="0.0" y="0.0" width="102" height="42"/>
|
||||||
@ -1167,6 +1175,8 @@
|
|||||||
</scene>
|
</scene>
|
||||||
</scenes>
|
</scenes>
|
||||||
<resources>
|
<resources>
|
||||||
|
<image name="Check" width="21" height="21"/>
|
||||||
|
<image name="CheckBlue" width="21" height="21"/>
|
||||||
<image name="DownArrow" width="21" height="21"/>
|
<image name="DownArrow" width="21" height="21"/>
|
||||||
<image name="History" width="21" height="21"/>
|
<image name="History" width="21" height="21"/>
|
||||||
<image name="MainPage" 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
|
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
|
import UIKit
|
||||||
|
|
||||||
// MARK: - Normal Cells
|
// MARK: - Book Cells
|
||||||
|
|
||||||
|
/* Book Cell With P & I indicator */
|
||||||
class BasicBookCell: UITableViewCell {
|
class BasicBookCell: UITableViewCell {
|
||||||
private let hasPicIndicatorOrange = UIColor(red: 1, green: 0.5, blue: 0, alpha: 1)
|
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)
|
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 {
|
class LocalBookCell: UITableViewCell {
|
||||||
@IBOutlet weak var favIcon: UIImageView!
|
@IBOutlet weak var favIcon: UIImageView!
|
||||||
@IBOutlet weak var titleLabel: UILabel!
|
@IBOutlet weak var titleLabel: UILabel!
|
||||||
@ -72,7 +95,7 @@ class BookTableCell: UITableViewCell {
|
|||||||
@IBOutlet weak var titleLabel: UILabel!
|
@IBOutlet weak var titleLabel: UILabel!
|
||||||
@IBOutlet weak var subtitleLabel: UILabel!
|
@IBOutlet weak var subtitleLabel: UILabel!
|
||||||
@IBOutlet weak var accessoryImageView: LargeHitZoneImageView!
|
@IBOutlet weak var accessoryImageView: LargeHitZoneImageView!
|
||||||
weak var delegate: BookTableCellDelegate?
|
weak var delegate: TableCellDelegate?
|
||||||
|
|
||||||
var accessoryImageTintColor: UIColor? {
|
var accessoryImageTintColor: UIColor? {
|
||||||
didSet {
|
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
|
// MARK: - Protocol
|
||||||
|
|
||||||
protocol BookTableCellDelegate: class {
|
protocol TableCellDelegate: class {
|
||||||
func didTapOnAccessoryViewForCell(cell: BookTableCell)
|
func didTapOnAccessoryViewForCell(cell: UITableViewCell)
|
||||||
}
|
}
|
@ -66,10 +66,8 @@
|
|||||||
971A101D1D0228E8007FC62C /* adjustlayoutiPad.js in Resources */ = {isa = PBXBuildFile; fileRef = 971A101A1D0228E8007FC62C /* adjustlayoutiPad.js */; };
|
971A101D1D0228E8007FC62C /* adjustlayoutiPad.js in Resources */ = {isa = PBXBuildFile; fileRef = 971A101A1D0228E8007FC62C /* adjustlayoutiPad.js */; };
|
||||||
971A101E1D0228E8007FC62C /* adjustlayoutiPhone.js in Resources */ = {isa = PBXBuildFile; fileRef = 971A101B1D0228E8007FC62C /* adjustlayoutiPhone.js */; };
|
971A101E1D0228E8007FC62C /* adjustlayoutiPhone.js in Resources */ = {isa = PBXBuildFile; fileRef = 971A101B1D0228E8007FC62C /* adjustlayoutiPhone.js */; };
|
||||||
971A101F1D0228E8007FC62C /* getTableOfContents.js in Resources */ = {isa = PBXBuildFile; fileRef = 971A101C1D0228E8007FC62C /* getTableOfContents.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 */; };
|
971A102C1D022AD5007FC62C /* BarButtonItems.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10241D022AD5007FC62C /* BarButtonItems.swift */; };
|
||||||
971A102D1D022AD5007FC62C /* BookCollectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10251D022AD5007FC62C /* BookCollectionCell.swift */; };
|
971A102E1D022AD5007FC62C /* TableViewCells.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10261D022AD5007FC62C /* TableViewCells.swift */; };
|
||||||
971A102E1D022AD5007FC62C /* BookTableCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10261D022AD5007FC62C /* BookTableCell.swift */; };
|
|
||||||
971A102F1D022AD5007FC62C /* Logo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10271D022AD5007FC62C /* Logo.swift */; };
|
971A102F1D022AD5007FC62C /* Logo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10271D022AD5007FC62C /* Logo.swift */; };
|
||||||
971A10301D022AD5007FC62C /* LTBarButtonItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10281D022AD5007FC62C /* LTBarButtonItem.swift */; };
|
971A10301D022AD5007FC62C /* LTBarButtonItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10281D022AD5007FC62C /* LTBarButtonItem.swift */; };
|
||||||
971A10311D022AD5007FC62C /* RefreshHUD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10291D022AD5007FC62C /* RefreshHUD.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 */; };
|
971A10461D022CB2007FC62C /* SearchVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10451D022CB2007FC62C /* SearchVC.swift */; };
|
||||||
971A104A1D022CBE007FC62C /* SearchResultTBVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10471D022CBE007FC62C /* SearchResultTBVC.swift */; };
|
971A104A1D022CBE007FC62C /* SearchResultTBVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10471D022CBE007FC62C /* SearchResultTBVC.swift */; };
|
||||||
971A104B1D022CBE007FC62C /* SearchScopeSelectTBVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10481D022CBE007FC62C /* SearchScopeSelectTBVC.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 */; };
|
971A10521D022D9D007FC62C /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10511D022D9D007FC62C /* AppDelegate.swift */; };
|
||||||
971A10581D022DAD007FC62C /* LibraryDownloadTBVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10531D022DAD007FC62C /* LibraryDownloadTBVC.swift */; };
|
971A10581D022DAD007FC62C /* LibraryDownloadTBVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10531D022DAD007FC62C /* LibraryDownloadTBVC.swift */; };
|
||||||
971A10591D022DAD007FC62C /* LibraryLocalBookDetailTBVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 971A10541D022DAD007FC62C /* LibraryLocalBookDetailTBVC.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 */; };
|
973BCCF31CEB3FA400F10B44 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 973BCCF21CEB3FA400F10B44 /* Assets.xcassets */; };
|
||||||
973BCD011CEB3FA500F10B44 /* Kiwix_OSXTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 973BCD001CEB3FA500F10B44 /* Kiwix_OSXTests.swift */; };
|
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 */; };
|
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 */; };
|
973BCD1A1CEB402900F10B44 /* KiwixTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 973BCD181CEB402900F10B44 /* KiwixTests.swift */; };
|
||||||
973BCD1E1CEB403700F10B44 /* SnapshotAutomation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 973BCD1C1CEB403700F10B44 /* SnapshotAutomation.swift */; };
|
973BCD1E1CEB403700F10B44 /* SnapshotAutomation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 973BCD1C1CEB403700F10B44 /* SnapshotAutomation.swift */; };
|
||||||
973C8D5C1C25F945007272F9 /* Preference.swift in Sources */ = {isa = PBXBuildFile; fileRef = 973C8D5B1C25F945007272F9 /* Preference.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>"; };
|
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>"; };
|
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; };
|
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>"; };
|
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 /* TableViewCells.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TableViewCells.swift; sourceTree = "<group>"; };
|
||||||
971A10261D022AD5007FC62C /* BookTableCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BookTableCell.swift; sourceTree = "<group>"; };
|
|
||||||
971A10271D022AD5007FC62C /* Logo.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Logo.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>"; };
|
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>"; };
|
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; };
|
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; };
|
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; };
|
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>"; };
|
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; };
|
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; };
|
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; };
|
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; };
|
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>"; };
|
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>"; };
|
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; };
|
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; };
|
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 */ = {
|
971A10221D022AD5007FC62C /* View */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
971A10231D022AD5007FC62C /* ArticleCells.swift */,
|
|
||||||
971A10241D022AD5007FC62C /* BarButtonItems.swift */,
|
971A10241D022AD5007FC62C /* BarButtonItems.swift */,
|
||||||
971A10251D022AD5007FC62C /* BookCollectionCell.swift */,
|
971A10261D022AD5007FC62C /* TableViewCells.swift */,
|
||||||
971A10261D022AD5007FC62C /* BookTableCell.swift */,
|
|
||||||
97D452BD1D1723FF0033666F /* CollectionViewCells.swift */,
|
97D452BD1D1723FF0033666F /* CollectionViewCells.swift */,
|
||||||
971A10271D022AD5007FC62C /* Logo.swift */,
|
971A10271D022AD5007FC62C /* Logo.swift */,
|
||||||
971A10281D022AD5007FC62C /* LTBarButtonItem.swift */,
|
971A10281D022AD5007FC62C /* LTBarButtonItem.swift */,
|
||||||
@ -978,15 +968,14 @@
|
|||||||
name = Preference;
|
name = Preference;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
9768957A1CB6A35E00F02686 /* Dashboard */ = {
|
9768957A1CB6A35E00F02686 /* Old */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
971A10491D022CBE007FC62C /* SearchTabController.swift */,
|
97D452BF1D1871E70033666F /* SearchHistoryTBVC.swift */,
|
||||||
971A104D1D022CD9007FC62C /* SearchLocalBooksCVC.swift */,
|
97D452C01D1871E70033666F /* SearchLocalBooksCVC.swift */,
|
||||||
971A104F1D022CDF007FC62C /* SearchHistoryTBVC.swift */,
|
97D452C11D1871E70033666F /* SearchTabController.swift */,
|
||||||
971A10481D022CBE007FC62C /* SearchScopeSelectTBVC.swift */,
|
|
||||||
);
|
);
|
||||||
name = Dashboard;
|
name = Old;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
9771DC4B1C37278E009ECFF0 /* Setting */ = {
|
9771DC4B1C37278E009ECFF0 /* Setting */ = {
|
||||||
@ -1262,8 +1251,9 @@
|
|||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
971A10451D022CB2007FC62C /* SearchVC.swift */,
|
971A10451D022CB2007FC62C /* SearchVC.swift */,
|
||||||
9768957A1CB6A35E00F02686 /* Dashboard */,
|
971A10481D022CBE007FC62C /* SearchScopeSelectTBVC.swift */,
|
||||||
971A10471D022CBE007FC62C /* SearchResultTBVC.swift */,
|
971A10471D022CBE007FC62C /* SearchResultTBVC.swift */,
|
||||||
|
9768957A1CB6A35E00F02686 /* Old */,
|
||||||
);
|
);
|
||||||
name = Search;
|
name = Search;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@ -1445,7 +1435,7 @@
|
|||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
LastSwiftUpdateCheck = 0730;
|
LastSwiftUpdateCheck = 0730;
|
||||||
LastUpgradeCheck = 0720;
|
LastUpgradeCheck = 0730;
|
||||||
ORGANIZATIONNAME = Chris;
|
ORGANIZATIONNAME = Chris;
|
||||||
TargetAttributes = {
|
TargetAttributes = {
|
||||||
973BCCE81CEB3FA400F10B44 = {
|
973BCCE81CEB3FA400F10B44 = {
|
||||||
@ -1557,7 +1547,6 @@
|
|||||||
isa = PBXResourcesBuildPhase;
|
isa = PBXResourcesBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
973BCD191CEB402900F10B44 /* Info.plist in Resources */,
|
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@ -1821,7 +1810,6 @@
|
|||||||
979CB6C31D05C520005E1BA1 /* UIUserNotifications+Operations.swift in Sources */,
|
979CB6C31D05C520005E1BA1 /* UIUserNotifications+Operations.swift in Sources */,
|
||||||
971A10361D022B02007FC62C /* AboutVC.swift in Sources */,
|
971A10361D022B02007FC62C /* AboutVC.swift in Sources */,
|
||||||
971A102C1D022AD5007FC62C /* BarButtonItems.swift in Sources */,
|
971A102C1D022AD5007FC62C /* BarButtonItems.swift in Sources */,
|
||||||
971A10501D022CDF007FC62C /* SearchHistoryTBVC.swift in Sources */,
|
|
||||||
971A10301D022AD5007FC62C /* LTBarButtonItem.swift in Sources */,
|
971A10301D022AD5007FC62C /* LTBarButtonItem.swift in Sources */,
|
||||||
971A103F1D022C42007FC62C /* LibraryAutoRefreshTBVC.swift in Sources */,
|
971A103F1D022C42007FC62C /* LibraryAutoRefreshTBVC.swift in Sources */,
|
||||||
979CB67F1D05C44F005E1BA1 /* NetworkObserver.swift in Sources */,
|
979CB67F1D05C44F005E1BA1 /* NetworkObserver.swift in Sources */,
|
||||||
@ -1844,7 +1832,7 @@
|
|||||||
970103FB1C6824FA00DC48F6 /* RefreshLibraryOperation.swift in Sources */,
|
970103FB1C6824FA00DC48F6 /* RefreshLibraryOperation.swift in Sources */,
|
||||||
971A10651D022E0A007FC62C /* MainVC.swift in Sources */,
|
971A10651D022E0A007FC62C /* MainVC.swift in Sources */,
|
||||||
971A106F1D022E62007FC62C /* DownloadProgress.swift in Sources */,
|
971A106F1D022E62007FC62C /* DownloadProgress.swift in Sources */,
|
||||||
971A102E1D022AD5007FC62C /* BookTableCell.swift in Sources */,
|
971A102E1D022AD5007FC62C /* TableViewCells.swift in Sources */,
|
||||||
979CB64F1D05C44F005E1BA1 /* LocationCapability-tvOS.swift in Sources */,
|
979CB64F1D05C44F005E1BA1 /* LocationCapability-tvOS.swift in Sources */,
|
||||||
979CB6591D05C44F005E1BA1 /* UserNotificationCapability.swift in Sources */,
|
979CB6591D05C44F005E1BA1 /* UserNotificationCapability.swift in Sources */,
|
||||||
97254FDF1C2644560056950B /* ZIMMultiReader.swift in Sources */,
|
97254FDF1C2644560056950B /* ZIMMultiReader.swift in Sources */,
|
||||||
@ -1863,7 +1851,6 @@
|
|||||||
979CB65F1D05C44F005E1BA1 /* HealthCondition.swift in Sources */,
|
979CB65F1D05C44F005E1BA1 /* HealthCondition.swift in Sources */,
|
||||||
979CB6B51D05C520005E1BA1 /* GroupOperation.swift in Sources */,
|
979CB6B51D05C520005E1BA1 /* GroupOperation.swift in Sources */,
|
||||||
97B50C7F1CA1E4810010BD79 /* UIOperations.swift in Sources */,
|
97B50C7F1CA1E4810010BD79 /* UIOperations.swift in Sources */,
|
||||||
971A104E1D022CD9007FC62C /* SearchLocalBooksCVC.swift in Sources */,
|
|
||||||
977998741C1E0B7900B1DD5E /* Book+CoreDataProperties.swift in Sources */,
|
977998741C1E0B7900B1DD5E /* Book+CoreDataProperties.swift in Sources */,
|
||||||
979CB6871D05C44F005E1BA1 /* TimeoutObserver.swift in Sources */,
|
979CB6871D05C44F005E1BA1 /* TimeoutObserver.swift in Sources */,
|
||||||
971A10661D022E0A007FC62C /* MainVCLoading.swift in Sources */,
|
971A10661D022E0A007FC62C /* MainVCLoading.swift in Sources */,
|
||||||
@ -1875,7 +1862,6 @@
|
|||||||
97E60A061D10504000EBCB9D /* LibraryBackupTBVC.swift in Sources */,
|
97E60A061D10504000EBCB9D /* LibraryBackupTBVC.swift in Sources */,
|
||||||
974570F41C2DABB500680E43 /* ZIMMultiReaderAPI.swift in Sources */,
|
974570F41C2DABB500680E43 /* ZIMMultiReaderAPI.swift in Sources */,
|
||||||
979CB6511D05C44F005E1BA1 /* PassbookCapability.swift in Sources */,
|
979CB6511D05C44F005E1BA1 /* PassbookCapability.swift in Sources */,
|
||||||
971A104C1D022CBE007FC62C /* SearchTabController.swift in Sources */,
|
|
||||||
971A105C1D022DAD007FC62C /* LibraryTabBarController.swift in Sources */,
|
971A105C1D022DAD007FC62C /* LibraryTabBarController.swift in Sources */,
|
||||||
971A10461D022CB2007FC62C /* SearchVC.swift in Sources */,
|
971A10461D022CB2007FC62C /* SearchVC.swift in Sources */,
|
||||||
9779987B1C1E1C9600B1DD5E /* Extensions.swift in Sources */,
|
9779987B1C1E1C9600B1DD5E /* Extensions.swift in Sources */,
|
||||||
@ -1892,7 +1878,6 @@
|
|||||||
979CB6431D05C44F005E1BA1 /* CalendarCapability.swift in Sources */,
|
979CB6431D05C44F005E1BA1 /* CalendarCapability.swift in Sources */,
|
||||||
979CB6AD1D05C520005E1BA1 /* BlockOperation.swift in Sources */,
|
979CB6AD1D05C520005E1BA1 /* BlockOperation.swift in Sources */,
|
||||||
979CB6B11D05C520005E1BA1 /* DelayOperation.swift in Sources */,
|
979CB6B11D05C520005E1BA1 /* DelayOperation.swift in Sources */,
|
||||||
971A102B1D022AD5007FC62C /* ArticleCells.swift in Sources */,
|
|
||||||
973C8D5C1C25F945007272F9 /* Preference.swift in Sources */,
|
973C8D5C1C25F945007272F9 /* Preference.swift in Sources */,
|
||||||
979CB6B91D05C520005E1BA1 /* NSLock+Operations.swift in Sources */,
|
979CB6B91D05C520005E1BA1 /* NSLock+Operations.swift in Sources */,
|
||||||
975B90FE1CEB909100D13906 /* iOSExtensions.swift in Sources */,
|
975B90FE1CEB909100D13906 /* iOSExtensions.swift in Sources */,
|
||||||
@ -1920,7 +1905,6 @@
|
|||||||
979CB6B31D05C520005E1BA1 /* Dictionary+Operations.swift in Sources */,
|
979CB6B31D05C520005E1BA1 /* Dictionary+Operations.swift in Sources */,
|
||||||
979CB64B1D05C44F005E1BA1 /* LocationCapability-iOS.swift in Sources */,
|
979CB64B1D05C44F005E1BA1 /* LocationCapability-iOS.swift in Sources */,
|
||||||
979CB6611D05C44F005E1BA1 /* LocationCondition.swift in Sources */,
|
979CB6611D05C44F005E1BA1 /* LocationCondition.swift in Sources */,
|
||||||
971A102D1D022AD5007FC62C /* BookCollectionCell.swift in Sources */,
|
|
||||||
971A10601D022DF2007FC62C /* LanguageTBVC.swift in Sources */,
|
971A10601D022DF2007FC62C /* LanguageTBVC.swift in Sources */,
|
||||||
971A106A1D022E15007FC62C /* BookmarkHUDVC.swift in Sources */,
|
971A106A1D022E15007FC62C /* BookmarkHUDVC.swift in Sources */,
|
||||||
971A106C1D022E50007FC62C /* Utilities.swift in Sources */,
|
971A106C1D022E50007FC62C /* Utilities.swift in Sources */,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "0720"
|
LastUpgradeVersion = "0730"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user