Przeglądaj źródła

Merge pull request #999 from deltachat/permanent-deletion-hint

add permanent hint about enabled server-deletion
bjoern 4 lat temu
rodzic
commit
3355fcb915

+ 9 - 4
deltachat-ios/Controller/SettingsAutodelOverviewController.swift

@@ -7,7 +7,6 @@ class SettingsAutodelOverviewController: UITableViewController {
 
     private struct SectionConfigs {
         let headerTitle: String?
-        let footerTitle: String?
         let cells: [UITableViewCell]
     }
 
@@ -35,12 +34,10 @@ class SettingsAutodelOverviewController: UITableViewController {
     private lazy var sections: [SectionConfigs] = {
         let autodelSection = SectionConfigs(
             headerTitle: String.localized("autodel_device_title"),
-            footerTitle: nil,
             cells: [autodelDeviceCell]
         )
         let autodelSection2 = SectionConfigs(
             headerTitle: String.localized("autodel_server_title"),
-            footerTitle: nil,
             cells: [autodelServerCell]
         )
         return [autodelSection, autodelSection2]
@@ -63,6 +60,7 @@ class SettingsAutodelOverviewController: UITableViewController {
 
     override func viewWillAppear(_ animated: Bool) {
         super.viewWillAppear(animated)
+        tableView.reloadData() // needed to update footer
         autodelDeviceCell.textLabel?.text = SettingsAutodelSetController.getSummary(dcContext, fromServer: false)
         autodelServerCell.textLabel?.text = SettingsAutodelSetController.getSummary(dcContext, fromServer: true)
     }
@@ -86,7 +84,14 @@ class SettingsAutodelOverviewController: UITableViewController {
     }
 
     override func tableView(_ tableView: UITableView, titleForFooterInSection section: Int) -> String? {
-        return sections[section].footerTitle
+        guard let cellTag = CellTags(rawValue: section) else {
+            safe_fatalError()
+            return nil
+        }
+        if cellTag == .autodelServer && dcContext.getConfigInt("delete_server_after") != 0 {
+            return String.localized("autodel_server_enabled_hint")
+        }
+        return nil
     }
 
     override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

+ 9 - 0
deltachat-ios/Controller/SettingsAutodelSetController.swift

@@ -128,6 +128,7 @@ class SettingsAutodelSetController: UITableViewController {
                 oldSelectedCell?.accessoryType = .none
                 newSelectedCell?.accessoryType = .checkmark
                 self.currVal = newVal
+                self.tableView.reloadData() // needed to update footer
             }))
             alert.addAction(UIAlertAction(title: String.localized("cancel"), style: .cancel))
             present(alert, animated: true, completion: nil)
@@ -135,6 +136,7 @@ class SettingsAutodelSetController: UITableViewController {
             oldSelectedCell?.accessoryType = .none
             newSelectedCell?.accessoryType = .checkmark
             currVal = newVal
+            self.tableView.reloadData() // needed to update footer
         }
     }
 
@@ -146,6 +148,13 @@ class SettingsAutodelSetController: UITableViewController {
         return String.localized(fromServer ? "autodel_server_title" : "autodel_device_title")
     }
 
+    override func tableView(_: UITableView, titleForFooterInSection section: Int) -> String? {
+        if fromServer && currVal != 0 {
+            return String.localized("autodel_server_enabled_hint")
+        }
+        return nil
+    }
+
     // MARK: - actions
 
     @objc private func cancelButtonPressed() {