Browse Source

name input processed

nayooti 5 years ago
parent
commit
613aadc8a0

+ 22 - 2
deltachat-ios/Controller/ProfileInfoViewController.swift

@@ -3,6 +3,17 @@ import DcCore
 
 class ProfileInfoViewController: UITableViewController {
 
+    var displayName: String?
+
+    private lazy var doneButtonItem: UIBarButtonItem = {
+        return UIBarButtonItem(
+            title: String.localized("done"),
+            style: .done,
+            target: self,
+            action: #selector(doneButtonPressed(_:))
+        )
+    }()
+
     private lazy var headerCell: TextCell = {
         let cell = TextCell(style: .default, reuseIdentifier: nil)
         let email = dcContext.addr ?? ""
@@ -23,8 +34,12 @@ class ProfileInfoViewController: UITableViewController {
     }()
 
     private lazy var nameCell: TextFieldCell = {
-        let cell = TextFieldCell(description: String.localized("pref_your_name"), placeholder: String.localized("pref_your_name"))
+        let cell =  TextFieldCell.makeNameCell()
+        cell.placeholder = String.localized("pref_your_name")
         cell.setText(text: dcContext.displayname)
+        cell.onTextFieldChange = {[unowned self] textField in
+            self.displayName = textField.text
+        }
         return cell
     }()
 
@@ -46,6 +61,7 @@ class ProfileInfoViewController: UITableViewController {
     override func viewDidLoad() {
         super.viewDidLoad()
         title = String.localized("pref_profile_info_headline")
+        navigationItem.rightBarButtonItem = doneButtonItem
     }
 
     override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
@@ -75,5 +91,9 @@ class ProfileInfoViewController: UITableViewController {
 
     }
 
-}
+    @objc private func doneButtonPressed(_ sender: UIBarButtonItem) {
+        dcContext.displayname = displayName
+        self.dismiss(animated: true, completion: nil)
+    }
 
+}

+ 9 - 0
deltachat-ios/View/Alerts.swift

@@ -0,0 +1,9 @@
+//
+//  Alerts.swift
+//  deltachat-ios
+//
+//  Created by Bastian van de Wetering on 17.04.20.
+//  Copyright © 2020 Jonas Reinsch. All rights reserved.
+//
+
+import Foundation

+ 10 - 3
deltachat-ios/View/TextFieldCell.swift

@@ -1,7 +1,15 @@
 import UIKit
 
 class TextFieldCell: UITableViewCell {
-    private let placeholder: String
+
+    var placeholder: String? {
+        set {
+            textField.placeholder = newValue
+        }
+        get {
+            return textField.placeholder
+        }
+    }
 
     var onTextFieldChange:((_:UITextField) -> Void)?	// set this from outside to get notified about textfield changes
 
@@ -9,13 +17,11 @@ class TextFieldCell: UITableViewCell {
         let textField = UITextField()
         textField.textAlignment = .right
         // textField.enablesReturnKeyAutomatically = true
-        textField.placeholder = self.placeholder
         textField.addTarget(self, action: #selector(textFieldChanged), for: .editingChanged)
         return textField
     }()
 
     init(description: String, placeholder: String, delegate: UITextFieldDelegate? = nil) {
-        self.placeholder = placeholder
         super.init(style: .value1, reuseIdentifier: nil)
         textLabel?.text = "\(description):"
 
@@ -25,6 +31,7 @@ class TextFieldCell: UITableViewCell {
         selectionStyle = .none
         setupViews()
         textField.delegate = delegate
+        textField.placeholder = placeholder
     }
 
     convenience init(descriptionID: String, placeholder: String, delegate: UITextFieldDelegate? = nil) {