From d2dfaa7612b49fc51d4d6ac2b88e841cc9eade63 Mon Sep 17 00:00:00 2001 From: Chris Li Date: Wed, 25 Jan 2017 14:07:26 -0500 Subject: [PATCH] Base for reusable book collection controller --- .../Library/BookColor.imageset/Contents.json | 21 -------- .../Library/BookColor.imageset/open-book.png | Bin 8466 -> 0 bytes .../Download.imageset/Contents.json | 0 .../Download.imageset/down-arrow.png | Bin .../DownloadColor.imageset/Contents.json | 0 .../DownloadColor.imageset/arrows.png | Bin .../Cloud/Refresh.imageset/Contents.json | 21 -------- .../Cloud/Refresh.imageset/update23.png | Bin 1853 -> 0 bytes .../Library/Download/Contents.json | 6 --- .../DownloadFilled.imageset/Contents.json | 21 -------- .../down-arrow-square-button2.png | Bin 17162 -> 0 bytes .../Library/LibraryBooksController.swift | 16 ++++-- .../Library/LibraryTabController.swift | 24 +++++++++ Kiwix-iOS/Storyboard/Library.storyboard | 50 ++---------------- Kiwix.xcodeproj/project.pbxproj | 4 ++ 15 files changed, 44 insertions(+), 119 deletions(-) delete mode 100644 Kiwix-iOS/Assets.xcassets/Library/BookColor.imageset/Contents.json delete mode 100644 Kiwix-iOS/Assets.xcassets/Library/BookColor.imageset/open-book.png rename Kiwix-iOS/Assets.xcassets/Library/{Download => Cloud}/Download.imageset/Contents.json (100%) rename Kiwix-iOS/Assets.xcassets/Library/{Download => Cloud}/Download.imageset/down-arrow.png (100%) rename Kiwix-iOS/Assets.xcassets/Library/{Download => Cloud}/DownloadColor.imageset/Contents.json (100%) rename Kiwix-iOS/Assets.xcassets/Library/{Download => Cloud}/DownloadColor.imageset/arrows.png (100%) delete mode 100644 Kiwix-iOS/Assets.xcassets/Library/Cloud/Refresh.imageset/Contents.json delete mode 100644 Kiwix-iOS/Assets.xcassets/Library/Cloud/Refresh.imageset/update23.png delete mode 100644 Kiwix-iOS/Assets.xcassets/Library/Download/Contents.json delete mode 100644 Kiwix-iOS/Assets.xcassets/Library/Download/DownloadFilled.imageset/Contents.json delete mode 100644 Kiwix-iOS/Assets.xcassets/Library/Download/DownloadFilled.imageset/down-arrow-square-button2.png create mode 100644 Kiwix-iOS/Controller/Library/LibraryTabController.swift diff --git a/Kiwix-iOS/Assets.xcassets/Library/BookColor.imageset/Contents.json b/Kiwix-iOS/Assets.xcassets/Library/BookColor.imageset/Contents.json deleted file mode 100644 index 8c0ebca1..00000000 --- a/Kiwix-iOS/Assets.xcassets/Library/BookColor.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "open-book.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Kiwix-iOS/Assets.xcassets/Library/BookColor.imageset/open-book.png b/Kiwix-iOS/Assets.xcassets/Library/BookColor.imageset/open-book.png deleted file mode 100644 index 4e28e75f4bfbe0ecc69064c1911c504e48b89c73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8466 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 dXU9*;W`~WB&-LkEA-%r{1^7uLt+2` diff --git a/Kiwix-iOS/Assets.xcassets/Library/Download/Download.imageset/Contents.json b/Kiwix-iOS/Assets.xcassets/Library/Cloud/Download.imageset/Contents.json similarity index 100% rename from Kiwix-iOS/Assets.xcassets/Library/Download/Download.imageset/Contents.json rename to Kiwix-iOS/Assets.xcassets/Library/Cloud/Download.imageset/Contents.json diff --git a/Kiwix-iOS/Assets.xcassets/Library/Download/Download.imageset/down-arrow.png b/Kiwix-iOS/Assets.xcassets/Library/Cloud/Download.imageset/down-arrow.png similarity index 100% rename from Kiwix-iOS/Assets.xcassets/Library/Download/Download.imageset/down-arrow.png rename to Kiwix-iOS/Assets.xcassets/Library/Cloud/Download.imageset/down-arrow.png diff --git a/Kiwix-iOS/Assets.xcassets/Library/Download/DownloadColor.imageset/Contents.json b/Kiwix-iOS/Assets.xcassets/Library/Cloud/DownloadColor.imageset/Contents.json similarity index 100% rename from Kiwix-iOS/Assets.xcassets/Library/Download/DownloadColor.imageset/Contents.json rename to Kiwix-iOS/Assets.xcassets/Library/Cloud/DownloadColor.imageset/Contents.json diff --git a/Kiwix-iOS/Assets.xcassets/Library/Download/DownloadColor.imageset/arrows.png b/Kiwix-iOS/Assets.xcassets/Library/Cloud/DownloadColor.imageset/arrows.png similarity index 100% rename from Kiwix-iOS/Assets.xcassets/Library/Download/DownloadColor.imageset/arrows.png rename to Kiwix-iOS/Assets.xcassets/Library/Cloud/DownloadColor.imageset/arrows.png diff --git a/Kiwix-iOS/Assets.xcassets/Library/Cloud/Refresh.imageset/Contents.json b/Kiwix-iOS/Assets.xcassets/Library/Cloud/Refresh.imageset/Contents.json deleted file mode 100644 index dfae5579..00000000 --- a/Kiwix-iOS/Assets.xcassets/Library/Cloud/Refresh.imageset/Contents.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "update23.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Kiwix-iOS/Assets.xcassets/Library/Cloud/Refresh.imageset/update23.png b/Kiwix-iOS/Assets.xcassets/Library/Cloud/Refresh.imageset/update23.png deleted file mode 100644 index dc7aaca857d60c12f027e7818599ae053d7c6a2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1853 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 diff --git a/Kiwix-iOS/Controller/Library/LibraryBooksController.swift b/Kiwix-iOS/Controller/Library/LibraryBooksController.swift index a6f6d577..c395b4be 100644 --- a/Kiwix-iOS/Controller/Library/LibraryBooksController.swift +++ b/Kiwix-iOS/Controller/Library/LibraryBooksController.swift @@ -13,6 +13,13 @@ import DZNEmptyDataSet class LibraryBooksController: CoreDataCollectionBaseController, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout, LibraryCollectionCellDelegate { private(set) var itemWidth: CGFloat = 0.0 + var isCloudTab = true { + didSet { + title = isCloudTab ? Localized.Library.cloudTitle : Localized.Library.localTitle + tabBarItem.image = UIImage(named: isCloudTab ? "Cloud" : "Folder") + tabBarItem.selectedImage = UIImage(named: isCloudTab ? "CloudFilled" : "FolderFilled") + } + } @IBAction func dismissButtonTapped(_ sender: UIBarButtonItem) { dismiss(animated: true, completion: nil) @@ -25,9 +32,8 @@ class LibraryBooksController: CoreDataCollectionBaseController, UICollectionView override func viewDidLoad() { super.viewDidLoad() - title = Localized.Library.title - configureRefreshControl() + configureRefreshControl() if let layout = collectionView.collectionViewLayout as? UICollectionViewFlowLayout { layout.minimumInteritemSpacing = 1 layout.minimumLineSpacing = 1 @@ -182,7 +188,7 @@ class LibraryBooksController: CoreDataCollectionBaseController, UICollectionView var predicate: NSCompoundPredicate { let displayedLanguages = Language.fetch(displayed: true, context: managedObjectContext) return NSCompoundPredicate(andPredicateWithSubpredicates: [ - NSPredicate(format: "stateRaw == 0"), + NSPredicate(format: "stateRaw == 0 OR stateRaw == 1"), displayedLanguages.count > 0 ? NSPredicate(format: "language IN %@", displayedLanguages) : NSPredicate(format: "language.name != nil") ]) } @@ -197,7 +203,9 @@ class LibraryBooksController: CoreDataCollectionBaseController, UICollectionView extension Localized { class Library { - static let title = NSLocalizedString("Library", comment: "Library") + static let cloudTitle = NSLocalizedString("Cloud", comment: "Library, Cloud") + static let localTitle = NSLocalizedString("Local", comment: "Library, Local") + static let download = NSLocalizedString("Download", comment: "Library, more action sheet") static let copyURL = NSLocalizedString("Copy URL", comment: "Library, more action sheet") } diff --git a/Kiwix-iOS/Controller/Library/LibraryTabController.swift b/Kiwix-iOS/Controller/Library/LibraryTabController.swift new file mode 100644 index 00000000..1ba858d6 --- /dev/null +++ b/Kiwix-iOS/Controller/Library/LibraryTabController.swift @@ -0,0 +1,24 @@ +// +// LibraryTabController.swift +// Kiwix +// +// Created by Chris Li on 1/25/17. +// Copyright © 2017 Chris Li. All rights reserved. +// + +import UIKit + +class LibraryTabController: UITabBarController { + let cloud = UIStoryboard(name: "Library", bundle: nil).instantiateViewController(withIdentifier: "LibraryBookNavController") as! UINavigationController + let local = UIStoryboard(name: "Library", bundle: nil).instantiateViewController(withIdentifier: "LibraryBookNavController") as! UINavigationController + + override func viewDidLoad() { + super.viewDidLoad() + + (cloud.topViewController as! LibraryBooksController).isCloudTab = true + (local.topViewController as! LibraryBooksController).isCloudTab = false + + viewControllers = [cloud, local] + } + +} diff --git a/Kiwix-iOS/Storyboard/Library.storyboard b/Kiwix-iOS/Storyboard/Library.storyboard index d8fa86db..22893ad6 100644 --- a/Kiwix-iOS/Storyboard/Library.storyboard +++ b/Kiwix-iOS/Storyboard/Library.storyboard @@ -11,25 +11,6 @@ - - - - - - - - - - - - - - - - - - - @@ -200,28 +181,24 @@ - + - + - - - - - + - + @@ -237,25 +214,6 @@ - - - - - - - - - - - - - - - - - - - diff --git a/Kiwix.xcodeproj/project.pbxproj b/Kiwix.xcodeproj/project.pbxproj index 6730640f..69401177 100644 --- a/Kiwix.xcodeproj/project.pbxproj +++ b/Kiwix.xcodeproj/project.pbxproj @@ -97,6 +97,7 @@ 97BC0FC01DD90A65004BBAD1 /* MainController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97BC0FBE1DD90A65004BBAD1 /* MainController.swift */; }; 97BC0FC21DD92B62004BBAD1 /* Buttons.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97BC0FC11DD92B62004BBAD1 /* Buttons.swift */; }; 97C2C26A1DDCC58500A9CC64 /* ArticleOperation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9764CBD21D8083AA00072D6A /* ArticleOperation.swift */; }; + 97C4A2E31E3926E50004CEB2 /* LibraryTabController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97C4A2E21E3926E50004CEB2 /* LibraryTabController.swift */; }; 97C601DC1D7F15C400362D4F /* Bookmark.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C601DB1D7F15C400362D4F /* Bookmark.storyboard */; }; 97C601DE1D7F342100362D4F /* HTMLHeading.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97C601DD1D7F342100362D4F /* HTMLHeading.swift */; }; 97D048AC1E32B7BE0028F9FD /* liblzma.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 9764F5921D830EF200E0B1C4 /* liblzma.tbd */; }; @@ -264,6 +265,7 @@ 97BC0FBD1DD90A65004BBAD1 /* JSInjection.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = JSInjection.swift; sourceTree = ""; }; 97BC0FBE1DD90A65004BBAD1 /* MainController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MainController.swift; sourceTree = ""; }; 97BC0FC11DD92B62004BBAD1 /* Buttons.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Buttons.swift; sourceTree = ""; }; + 97C4A2E21E3926E50004CEB2 /* LibraryTabController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LibraryTabController.swift; sourceTree = ""; }; 97C601DB1D7F15C400362D4F /* Bookmark.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Bookmark.storyboard; sourceTree = ""; }; 97C601DD1D7F342100362D4F /* HTMLHeading.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HTMLHeading.swift; sourceTree = ""; }; 97D0E9921DDA487E0029530E /* SearchBaseController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SearchBaseController.swift; sourceTree = ""; }; @@ -723,6 +725,7 @@ 97C005D41D64B369004352E8 /* Library */ = { isa = PBXGroup; children = ( + 97C4A2E21E3926E50004CEB2 /* LibraryTabController.swift */, 9705D5951E368712005292AC /* LibraryBooksController.swift */, 9737F6201E379D0700961020 /* LibraryLanguageController.swift */, 97347BB91E39056A00F56EE6 /* LibraryDownloadController.swift */, @@ -1075,6 +1078,7 @@ 97A08C151DD263B90070D0E4 /* Book.swift in Sources */, 97D6813A1D6F711A00E5FA99 /* Language.swift in Sources */, 97BC0FBF1DD90A65004BBAD1 /* JSInjection.swift in Sources */, + 97C4A2E31E3926E50004CEB2 /* LibraryTabController.swift in Sources */, 97BC0FC01DD90A65004BBAD1 /* MainController.swift in Sources */, 97A1FD421D6F728200A80EE2 /* Extensions.swift in Sources */, 97A1FD3A1D6F724E00A80EE2 /* reader.cpp in Sources */,