@@ -62,7 +62,6 @@ class ComposeViewController: UIViewController {
6262 @IBOutlet weak var contactTableView : UITableView !
6363 @IBOutlet weak var contactTableViewTopConstraint : NSLayoutConstraint !
6464
65- @IBOutlet weak var closeBarButton : UIBarButtonItem !
6665 @IBOutlet weak var attachmentButtonContainerView : UIView !
6766 @IBOutlet weak var buttonCollapse : UIButton !
6867
@@ -86,9 +85,6 @@ class ComposeViewController: UIViewController {
8685 var selectedTokenInputView : CLTokenInputView ?
8786
8887 var isEdited = false
89-
90- var sendBarButton : UIBarButtonItem !
91- var sendSecureBarButton : UIBarButtonItem !
9288 var attachmentBarButton : MIBadgeButton !
9389
9490 var dismissTapGestureRecognizer : UITapGestureRecognizer !
@@ -98,6 +94,9 @@ class ComposeViewController: UIViewController {
9894
9995 var delegate : ComposerSendMailDelegate ?
10096
97+ var enableSendButton : UIBarButtonItem !
98+ var disableSendButton : UIBarButtonItem !
99+
101100 //MARK: - View lifecycle
102101 override func viewDidLoad( ) {
103102 super. viewDidLoad ( )
@@ -109,9 +108,10 @@ class ComposeViewController: UIViewController {
109108 activeAccount = DBManager . getAccountByUsername ( defaults. string ( forKey: " activeAccount " ) !)
110109 fileManager. token = activeAccount. jwt
111110
112- self . sendBarButton = UIBarButtonItem ( image: Icon . send. image, style: . plain, target: self , action: #selector( didPressSend ( _: ) ) )
113- self . sendSecureBarButton = UIBarButtonItem ( image: Icon . send. image, style: . plain, target: self , action: #selector( didPressSend ( _: ) ) )
114- self . sendSecureBarButton. tintColor = . white
111+ let sendImage = Icon . send. image? . tint ( with: . white)
112+ self . enableSendButton = UIBarButtonItem ( image: sendImage, style: . plain, target: self , action: #selector( didPressSend ( _: ) ) )
113+ let disableImage = Icon . send. image? . tint ( with: UIColor . white. withAlphaComponent ( 0.6 ) )
114+ self . disableSendButton = UIBarButtonItem ( image: disableImage, style: . plain, target: self , action: nil )
115115
116116 self . editorView. placeholder = " Message "
117117 self . editorView. delegate = self
@@ -189,11 +189,12 @@ class ComposeViewController: UIViewController {
189189 let tapGesture = UITapGestureRecognizer ( target: self , action: #selector( didPressAttachment ( _: ) ) )
190190 self . attachmentButtonContainerView. addGestureRecognizer ( tapGesture)
191191 self . title = " New Secure Email "
192- self . navigationItem. rightBarButtonItem = self . sendSecureBarButton
192+ self . navigationItem. rightBarButtonItem = self . enableSendButton
193193 activityButton. setImage ( Icon . attachment. vertical. image, for: . normal)
194194 activityButton. badgeEdgeInsets = UIEdgeInsetsMake ( 5 , 12 , 0 , 13 )
195195
196- self . closeBarButton. tintColor = UIColor . white. withAlphaComponent ( 0.4 )
196+ let closeImage = UIImage ( named: " close-rounded " ) !. tint ( with: UIColor . white. withAlphaComponent ( 0.6 ) )
197+ self . navigationItem. leftBarButtonItem = UIBarButtonItem ( image: closeImage, style: . plain, target: self , action: #selector( didPressCancel ( _: ) ) )
197198
198199 subjectField. text = composerData. initSubject
199200 editorView. html = " \( composerData. initContent) \( composerData. emailDraft == nil && !activeAccount. signature. isEmpty && activeAccount. signatureEnabled ? " <br/> \( activeAccount. signature) " : " " ) "
@@ -213,6 +214,10 @@ class ComposeViewController: UIViewController {
213214 self . coachMarksController. dataSource = self
214215 }
215216
217+ func toggleSendButton( ) {
218+
219+ }
220+
216221 @objc func onDonePress( _ sender: Any ) {
217222 switch ( sender as? UIView ) {
218223 case toField:
@@ -222,8 +227,8 @@ class ComposeViewController: UIViewController {
222227 editorView. becomeFirstResponder ( )
223228 break
224229 default :
225- if ( self . sendBarButton . isEnabled ) {
226- self . didPressSend ( sendBarButton )
230+ if ( self . navigationItem . rightBarButtonItem == self . enableSendButton ) {
231+ self . didPressSend ( self . enableSendButton )
227232 }
228233 }
229234 }
@@ -249,8 +254,7 @@ class ComposeViewController: UIViewController {
249254 }
250255
251256 if self . toField. allTokens. isEmpty {
252- self . sendSecureBarButton. isEnabled = false
253- self . sendBarButton. isEnabled = false
257+ self . navigationItem. rightBarButtonItem = self . disableSendButton
254258 }
255259 }
256260
@@ -470,17 +474,16 @@ class ComposeViewController: UIViewController {
470474 }
471475
472476 func toggleInteraction( _ flag: Bool ) {
473- self . sendBarButton. isEnabled = flag
474- self . sendSecureBarButton. isEnabled = flag
475- self . closeBarButton. isEnabled = flag
477+ self . navigationItem. rightBarButtonItem = flag ? self . enableSendButton : self . disableSendButton
478+
476479 self . view. isUserInteractionEnabled = flag
477480 self . navigationController? . navigationBar. layer. zPosition = flag ? 0 : - 1
478481 self . blackBackground. isUserInteractionEnabled = flag
479482 self . blackBackground. alpha = flag ? 0 : 0.5
480483 }
481484
482485 //MARK: - IBActions
483- @IBAction func didPressCancel( _ sender: UIBarButtonItem ) {
486+ @objc func didPressCancel( _ sender: UIBarButtonItem ) {
484487
485488 if !self . isEdited {
486489 self . dismiss ( animated: true , completion: nil )
@@ -906,8 +909,7 @@ extension ComposeViewController: CLTokenInputViewDelegate {
906909 self . isEdited = true
907910 }
908911
909- self . sendSecureBarButton. isEnabled = true
910- self . sendBarButton. isEnabled = true
912+ self . navigationItem. rightBarButtonItem = self . enableSendButton
911913
912914 if text!. contains ( " , " ) {
913915 let name = text? . replacingOccurrences ( of: " , " , with: " " )
@@ -933,8 +935,7 @@ extension ComposeViewController: CLTokenInputViewDelegate {
933935 }
934936
935937 if self . toField. allTokens. isEmpty && ( self . toField. text? . isEmpty) ! {
936- self . sendSecureBarButton. isEnabled = false
937- self . sendBarButton. isEnabled = false
938+ self . navigationItem. rightBarButtonItem = self . disableSendButton
938939 }
939940
940941 self . contactTableView. isHidden = ( view. text? . isEmpty) !
@@ -988,8 +989,7 @@ extension ComposeViewController: CLTokenInputViewDelegate {
988989
989990 func tokenInputView( _ view: CLTokenInputView , didRemove token: CLToken ) {
990991 if self . toField. allTokens. isEmpty && ( self . toField. text? . isEmpty) ! {
991- self . sendSecureBarButton. isEnabled = false
992- self . sendBarButton. isEnabled = false
992+ self . navigationItem. rightBarButtonItem = self . disableSendButton
993993 }
994994 }
995995
0 commit comments