From afe93874e324c0dd1a6326a9f74b41e001d99d83 Mon Sep 17 00:00:00 2001 From: Chris Li Date: Tue, 20 Sep 2016 14:15:27 -0400 Subject: [PATCH] empty table view background --- .../Library/BookColor.imageset/Contents.json | 21 ++++++++ .../Library/BookColor.imageset/open-book.png | Bin 0 -> 8466 bytes .../DownloadColor.imageset/Contents.json | 0 .../DownloadColor.imageset/arrows.png | Bin .../Local}/FolderColor.imageset/Contents.json | 0 .../Local}/FolderColor.imageset/folder.png | Bin .../Library/EmptyTableConfigExtension.swift | 50 ++++++++++++------ Kiwix-iOS/Info.plist | 2 +- Kiwix-iOSWidgets/Bookmarks/Info.plist | 2 +- 9 files changed, 57 insertions(+), 18 deletions(-) create mode 100644 Kiwix-iOS/Assets.xcassets/Library/BookColor.imageset/Contents.json create mode 100644 Kiwix-iOS/Assets.xcassets/Library/BookColor.imageset/open-book.png rename Kiwix-iOS/Assets.xcassets/{ => Library/Download}/DownloadColor.imageset/Contents.json (100%) rename Kiwix-iOS/Assets.xcassets/{ => Library/Download}/DownloadColor.imageset/arrows.png (100%) rename Kiwix-iOS/Assets.xcassets/{ => Library/Local}/FolderColor.imageset/Contents.json (100%) rename Kiwix-iOS/Assets.xcassets/{ => Library/Local}/FolderColor.imageset/folder.png (100%) diff --git a/Kiwix-iOS/Assets.xcassets/Library/BookColor.imageset/Contents.json b/Kiwix-iOS/Assets.xcassets/Library/BookColor.imageset/Contents.json new file mode 100644 index 00000000..8c0ebca1 --- /dev/null +++ b/Kiwix-iOS/Assets.xcassets/Library/BookColor.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "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 new file mode 100644 index 0000000000000000000000000000000000000000..4e28e75f4bfbe0ecc69064c1911c504e48b89c73 GIT binary patch literal 8466 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 dXU9*;W`~WB&-LkEA-%r{1^7uLt+2` literal 0 HcmV?d00001 diff --git a/Kiwix-iOS/Assets.xcassets/DownloadColor.imageset/Contents.json b/Kiwix-iOS/Assets.xcassets/Library/Download/DownloadColor.imageset/Contents.json similarity index 100% rename from Kiwix-iOS/Assets.xcassets/DownloadColor.imageset/Contents.json rename to Kiwix-iOS/Assets.xcassets/Library/Download/DownloadColor.imageset/Contents.json diff --git a/Kiwix-iOS/Assets.xcassets/DownloadColor.imageset/arrows.png b/Kiwix-iOS/Assets.xcassets/Library/Download/DownloadColor.imageset/arrows.png similarity index 100% rename from Kiwix-iOS/Assets.xcassets/DownloadColor.imageset/arrows.png rename to Kiwix-iOS/Assets.xcassets/Library/Download/DownloadColor.imageset/arrows.png diff --git a/Kiwix-iOS/Assets.xcassets/FolderColor.imageset/Contents.json b/Kiwix-iOS/Assets.xcassets/Library/Local/FolderColor.imageset/Contents.json similarity index 100% rename from Kiwix-iOS/Assets.xcassets/FolderColor.imageset/Contents.json rename to Kiwix-iOS/Assets.xcassets/Library/Local/FolderColor.imageset/Contents.json diff --git a/Kiwix-iOS/Assets.xcassets/FolderColor.imageset/folder.png b/Kiwix-iOS/Assets.xcassets/Library/Local/FolderColor.imageset/folder.png similarity index 100% rename from Kiwix-iOS/Assets.xcassets/FolderColor.imageset/folder.png rename to Kiwix-iOS/Assets.xcassets/Library/Local/FolderColor.imageset/folder.png diff --git a/Kiwix-iOS/Controller/Library/EmptyTableConfigExtension.swift b/Kiwix-iOS/Controller/Library/EmptyTableConfigExtension.swift index e4a2a4df..f19b3fd8 100644 --- a/Kiwix-iOS/Controller/Library/EmptyTableConfigExtension.swift +++ b/Kiwix-iOS/Controller/Library/EmptyTableConfigExtension.swift @@ -10,19 +10,18 @@ import UIKit import DZNEmptyDataSet extension CloudBooksController { - func imageForEmptyDataSet(scrollView: UIScrollView!) -> UIImage! { return UIImage(named: "CloudColor") } func titleForEmptyDataSet(scrollView: UIScrollView!) -> NSAttributedString! { - let string = NSLocalizedString("There are some books in the cloud", comment: "Cloud Book Controller") + let string = NSLocalizedString("There are some books in the cloud", comment: "Library, cloud tab") let attributes = [NSFontAttributeName: UIFont.systemFontOfSize(18), NSForegroundColorAttributeName: UIColor.darkGrayColor()] return NSAttributedString(string: string, attributes: attributes) } func buttonTitleForEmptyDataSet(scrollView: UIScrollView!, forState state: UIControlState) -> NSAttributedString! { - let string = isRefreshing ? NSLocalizedString("Refreshing...", comment: "Cloud Book Controller") : NSLocalizedString("Refresh", comment: "Cloud Book Controller") + let string = isRefreshing ? NSLocalizedString("Refreshing...", comment: "Library, cloud tab") : NSLocalizedString("Refresh", comment: "Library, cloud tab") let attributes = [NSFontAttributeName: UIFont.boldSystemFontOfSize(17), NSForegroundColorAttributeName: isRefreshing ? UIColor.grayColor() : AppColors.theme] return NSAttributedString(string: string, attributes: attributes) } @@ -35,33 +34,52 @@ extension CloudBooksController { func verticalOffsetForEmptyDataSet(scrollView: UIScrollView!) -> CGFloat { return -navigationController!.navigationBar.frame.height } - } extension DownloadTasksController { + func imageForEmptyDataSet(scrollView: UIScrollView!) -> UIImage! { + return UIImage(named: "DownloadColor") + } + func titleForEmptyDataSet(scrollView: UIScrollView!) -> NSAttributedString! { - let string = NSLocalizedString("No Download Tasks", comment: "") + let string = NSLocalizedString("No Download Tasks", comment: "Library, download tab") let attributes = [NSFontAttributeName: UIFont.systemFontOfSize(18), NSForegroundColorAttributeName: UIColor.darkGrayColor()] return NSAttributedString(string: string, attributes: attributes) } +} + +extension LocalBooksController { + func imageForEmptyDataSet(scrollView: UIScrollView!) -> UIImage! { + return UIImage(named: "FolderColor") + } + + func titleForEmptyDataSet(scrollView: UIScrollView!) -> NSAttributedString! { + let string = NSLocalizedString("No Local Books on Device", comment: "Library, local tab") + let attributes = [NSFontAttributeName: UIFont.systemFontOfSize(18), NSForegroundColorAttributeName: UIColor.darkGrayColor()] + return NSAttributedString(string: string, attributes: attributes) + } + + func descriptionForEmptyDataSet(scrollView: UIScrollView!) -> NSAttributedString! { + let string = NSLocalizedString("Add Book by download in app or iTunes File Sharing. New books will show up here automatically.", comment: "Library, local tab") + let paragraph = NSMutableParagraphStyle() + paragraph.lineBreakMode = .ByWordWrapping + paragraph.alignment = .Center + let attributes = [NSFontAttributeName: UIFont.systemFontOfSize(14), NSForegroundColorAttributeName: UIColor.lightGrayColor(), NSParagraphStyleAttributeName: paragraph] + return NSAttributedString(string: string, attributes: attributes) + } func verticalOffsetForEmptyDataSet(scrollView: UIScrollView!) -> CGFloat { - return tabBarController!.navigationController!.navigationBar.frame.maxY - } - -} - -extension LocalBooksController { - func titleForEmptyDataSet(scrollView: UIScrollView!) -> NSAttributedString! { - let string = NSLocalizedString("No Local Books on Device", comment: "") - let attributes = [NSFontAttributeName: UIFont.systemFontOfSize(18), NSForegroundColorAttributeName: UIColor.darkGrayColor()] - return NSAttributedString(string: string, attributes: attributes) + return -tabBarController!.navigationController!.navigationBar.frame.maxY } } extension BookDetailController { + func imageForEmptyDataSet(scrollView: UIScrollView!) -> UIImage! { + return UIImage(named: "BookColor") + } + func titleForEmptyDataSet(scrollView: UIScrollView!) -> NSAttributedString! { - let string = NSLocalizedString("Choose A Book", comment: "") + let string = NSLocalizedString("Tap on A Book to See Detail", comment: "") let attributes = [NSFontAttributeName: UIFont.systemFontOfSize(18), NSForegroundColorAttributeName: UIColor.darkGrayColor()] return NSAttributedString(string: string, attributes: attributes) } diff --git a/Kiwix-iOS/Info.plist b/Kiwix-iOS/Info.plist index b950fd0b..bf5044fe 100644 --- a/Kiwix-iOS/Info.plist +++ b/Kiwix-iOS/Info.plist @@ -49,7 +49,7 @@ CFBundleVersion - 1.8.912 + 1.8.919 ITSAppUsesNonExemptEncryption LSRequiresIPhoneOS diff --git a/Kiwix-iOSWidgets/Bookmarks/Info.plist b/Kiwix-iOSWidgets/Bookmarks/Info.plist index fe9ffa60..5410c4c9 100644 --- a/Kiwix-iOSWidgets/Bookmarks/Info.plist +++ b/Kiwix-iOSWidgets/Bookmarks/Info.plist @@ -21,7 +21,7 @@ CFBundleSignature ???? CFBundleVersion - 1.8.915 + 1.8.922 NSExtension NSExtensionMainStoryboard