浏览代码

Merge pull request #833 from deltachat/tweak_document_view

Tweak document view
cyBerta 5 年之前
父节点
当前提交
1db389d8d6

+ 4 - 4
deltachat-ios/Controller/ContactDetailViewController.swift

@@ -344,23 +344,23 @@ class ContactDetailViewController: UITableViewController {
     }
 
     private func showDocuments() {
-        let messageIds = viewModel.context.getChatMedia(
+        let messageIds: [Int] = viewModel.context.getChatMedia(
             chatId: viewModel.chatId,
             messageType: DC_MSG_FILE,
             messageType2: DC_MSG_AUDIO,
             messageType3: 0
-        )
+        ).reversed()
         let fileGalleryController = DocumentGalleryController(fileMessageIds: messageIds)
         navigationController?.pushViewController(fileGalleryController, animated: true)
     }
 
     private func showGallery() {
-        let messageIds = viewModel.context.getChatMedia(
+        let messageIds: [Int] = viewModel.context.getChatMedia(
             chatId: viewModel.chatId,
             messageType: DC_MSG_IMAGE,
             messageType2: DC_MSG_GIF,
             messageType3: DC_MSG_VIDEO
-        )
+        ).reversed()
         let galleryController = GalleryViewController(mediaMessageIds: messageIds)
             navigationController?.pushViewController(galleryController, animated: true)
     }

+ 19 - 1
deltachat-ios/Controller/DocumentGalleryController.swift

@@ -6,7 +6,7 @@ class DocumentGalleryController: UIViewController {
     private let fileMessageIds: [Int]
 
     private lazy var tableViews: UITableView = {
-        let table = UITableView(frame: .zero, style: .plain)
+        let table = UITableView(frame: .zero, style: .grouped)
         table.register(FileTableViewCell.self, forCellReuseIdentifier: FileTableViewCell.reuseIdentifier)
         table.dataSource = self
         table.delegate = self
@@ -14,6 +14,14 @@ class DocumentGalleryController: UIViewController {
         return table
     }()
 
+    private lazy var emptyStateView: EmptyStateLabel = {
+        let label = EmptyStateLabel()
+        label.text = String.localized("tab_docs_empty_hint")
+        label.isHidden = true
+        return label
+    }()
+
+
     init(fileMessageIds: [Int]) {
         self.fileMessageIds = fileMessageIds
         super.init(nibName: nil, bundle: nil)
@@ -28,6 +36,9 @@ class DocumentGalleryController: UIViewController {
     override func viewDidLoad() {
         super.viewDidLoad()
         setupSubviews()
+        if fileMessageIds.isEmpty {
+            emptyStateView.isHidden = false
+        }
     }
 
     // MARK: - layout
@@ -38,6 +49,13 @@ class DocumentGalleryController: UIViewController {
         tableViews.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
         tableViews.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: 0).isActive = true
         tableViews.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
+
+        view.addSubview(emptyStateView)
+        emptyStateView.translatesAutoresizingMaskIntoConstraints = false
+        emptyStateView.leadingAnchor.constraint(equalTo: view.layoutMarginsGuide.leadingAnchor).isActive = true
+        emptyStateView.trailingAnchor.constraint(equalTo: view.layoutMarginsGuide.trailingAnchor).isActive = true
+        emptyStateView.centerYAnchor.constraint(equalTo: view.safeAreaLayoutGuide.centerYAnchor).isActive = true
+        emptyStateView.centerXAnchor.constraint(equalTo: view.safeAreaLayoutGuide.centerXAnchor).isActive = true
     }
 }
 

+ 1 - 1
deltachat-ios/Controller/GalleryViewController.swift

@@ -43,7 +43,7 @@ class GalleryViewController: UIViewController {
     }()
 
     init(mediaMessageIds: [Int]) {
-        self.mediaMessageIds = mediaMessageIds.reversed()
+        self.mediaMessageIds = mediaMessageIds
         super.init(nibName: nil, bundle: nil)
     }
 

+ 4 - 4
deltachat-ios/Controller/GroupChatDetailViewController.swift

@@ -252,22 +252,22 @@ class GroupChatDetailViewController: UIViewController {
     }
 
     private func showDocuments() {
-        let messageIds = dcContext.getChatMedia(
+        let messageIds: [Int] = dcContext.getChatMedia(
             chatId: chatId,
             messageType: DC_MSG_FILE,
             messageType2: DC_MSG_AUDIO,
             messageType3: 0
-        )
+        ).reversed()
         let fileGalleryController = DocumentGalleryController(fileMessageIds: messageIds)
         navigationController?.pushViewController(fileGalleryController, animated: true)    }
 
     private func showGallery() {
-        let messageIds = dcContext.getChatMedia(
+        let messageIds: [Int] = dcContext.getChatMedia(
             chatId: chatId,
             messageType: DC_MSG_IMAGE,
             messageType2: DC_MSG_GIF,
             messageType3: DC_MSG_VIDEO
-        )
+        ).reversed()
         let galleryController = GalleryViewController(mediaMessageIds: messageIds)
         navigationController?.pushViewController(galleryController, animated: true)
     }