From 4ccb295dbb3399bb09913a35fb62433531b78fd0 Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Thu, 14 Jul 2016 09:24:59 -0700 Subject: [PATCH] Send button disabled color and dynamically sized Using upstream button and change notification allows us to delete some code. // FREEBIE --- Signal.xcodeproj/project.pbxproj | 8 ---- Signal/src/util/UIButton+OWS.h | 15 -------- Signal/src/util/UIButton+OWS.m | 37 ------------------- .../view controllers/MessagesViewController.m | 25 +++++-------- 4 files changed, 10 insertions(+), 75 deletions(-) delete mode 100644 Signal/src/util/UIButton+OWS.h delete mode 100644 Signal/src/util/UIButton+OWS.m diff --git a/Signal.xcodeproj/project.pbxproj b/Signal.xcodeproj/project.pbxproj index 98c149456..0e42bef81 100644 --- a/Signal.xcodeproj/project.pbxproj +++ b/Signal.xcodeproj/project.pbxproj @@ -146,7 +146,6 @@ A5509ECD1A69B1D600ABA4BC /* CountryCodeTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = A5509ECC1A69B1D600ABA4BC /* CountryCodeTableViewCell.m */; }; A56977911A351BC400173BF2 /* ScanIdentityBarcodeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A569778E1A351BC400173BF2 /* ScanIdentityBarcodeViewController.m */; }; A56977921A351BC400173BF2 /* PresentIdentityQRCodeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A569778F1A351BC400173BF2 /* PresentIdentityQRCodeViewController.m */; }; - A5988A811A8A70D0002AD6BE /* UIButton+OWS.m in Sources */ = {isa = PBXBuildFile; fileRef = A5988A801A8A70D0002AD6BE /* UIButton+OWS.m */; }; A5D0699B1A50E9CB004CB540 /* ShowGroupMembersViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A5D069991A50E9CB004CB540 /* ShowGroupMembersViewController.m */; }; A5E9D4BB1A65FAD800E4481C /* TSVideoAttachmentAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = A5E9D4B91A65FAD800E4481C /* TSVideoAttachmentAdapter.m */; }; AD41D7B51A6F6F0600241130 /* play_button.png in Resources */ = {isa = PBXBuildFile; fileRef = AD41D7B31A6F6F0600241130 /* play_button.png */; }; @@ -342,7 +341,6 @@ B660F7701C29988E00687D6E /* FLAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = B68EF9B71C0B1EBD009C3DCD /* FLAnimatedImage.m */; }; B660F7711C29988E00687D6E /* FLAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = B68EF9B91C0B1EBD009C3DCD /* FLAnimatedImageView.m */; }; B660F7721C29988E00687D6E /* AppStoreRating.m in Sources */ = {isa = PBXBuildFile; fileRef = B6DA6B061B8A2F9A00CA6F98 /* AppStoreRating.m */; }; - B660F7731C29988E00687D6E /* UIButton+OWS.m in Sources */ = {isa = PBXBuildFile; fileRef = A5988A801A8A70D0002AD6BE /* UIButton+OWS.m */; }; B660F7741C29988E00687D6E /* DJWActionSheet+OWS.m in Sources */ = {isa = PBXBuildFile; fileRef = A547DD721A70A87800103EC7 /* DJWActionSheet+OWS.m */; }; B660F7751C29988E00687D6E /* UIColor+OWS.m in Sources */ = {isa = PBXBuildFile; fileRef = FCFA64B31A24F3880007FB87 /* UIColor+OWS.m */; }; B660F7761C29988E00687D6E /* UIFont+OWS.m in Sources */ = {isa = PBXBuildFile; fileRef = FCFA64B61A24F6730007FB87 /* UIFont+OWS.m */; }; @@ -754,8 +752,6 @@ A569778E1A351BC400173BF2 /* ScanIdentityBarcodeViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ScanIdentityBarcodeViewController.m; sourceTree = ""; }; A569778F1A351BC400173BF2 /* PresentIdentityQRCodeViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PresentIdentityQRCodeViewController.m; sourceTree = ""; }; A56977901A351BC400173BF2 /* PresentIdentityQRCodeViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PresentIdentityQRCodeViewController.h; sourceTree = ""; }; - A5988A7F1A8A70D0002AD6BE /* UIButton+OWS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIButton+OWS.h"; path = "util/UIButton+OWS.h"; sourceTree = ""; }; - A5988A801A8A70D0002AD6BE /* UIButton+OWS.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIButton+OWS.m"; path = "util/UIButton+OWS.m"; sourceTree = ""; }; A5D069991A50E9CB004CB540 /* ShowGroupMembersViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = ShowGroupMembersViewController.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; A5D0699A1A50E9CB004CB540 /* ShowGroupMembersViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShowGroupMembersViewController.h; sourceTree = ""; }; A5E9D4B91A65FAD800E4481C /* TSVideoAttachmentAdapter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TSVideoAttachmentAdapter.m; sourceTree = ""; }; @@ -2246,8 +2242,6 @@ FCFA64B11A24F29E0007FB87 /* UI Categories */ = { isa = PBXGroup; children = ( - A5988A7F1A8A70D0002AD6BE /* UIButton+OWS.h */, - A5988A801A8A70D0002AD6BE /* UIButton+OWS.m */, A547DD731A70A87800103EC7 /* DJWActionSheet+OWS.h */, A547DD721A70A87800103EC7 /* DJWActionSheet+OWS.m */, FCFA64B21A24F3880007FB87 /* UIColor+OWS.h */, @@ -2629,7 +2623,6 @@ B6B9ECFC198B31BA00C620D3 /* PushManager.m in Sources */, 76EB05D618170B33006006FC /* ZrtpResponder.m in Sources */, B62D53F71A23CCAD009AAF82 /* TSMessageAdapter.m in Sources */, - A5988A811A8A70D0002AD6BE /* UIButton+OWS.m in Sources */, FCD274EB1A5AFDDB00202277 /* AboutTableViewController.m in Sources */, E197B61618BBEC1A00F073E5 /* StretchFactorController.m in Sources */, FCFD257F1A154B2C00F4C644 /* RegistrationViewController.m in Sources */, @@ -2909,7 +2902,6 @@ B660F7701C29988E00687D6E /* FLAnimatedImage.m in Sources */, B660F7711C29988E00687D6E /* FLAnimatedImageView.m in Sources */, B660F7721C29988E00687D6E /* AppStoreRating.m in Sources */, - B660F7731C29988E00687D6E /* UIButton+OWS.m in Sources */, B660F7741C29988E00687D6E /* DJWActionSheet+OWS.m in Sources */, B660F7751C29988E00687D6E /* UIColor+OWS.m in Sources */, B660F7761C29988E00687D6E /* UIFont+OWS.m in Sources */, diff --git a/Signal/src/util/UIButton+OWS.h b/Signal/src/util/UIButton+OWS.h deleted file mode 100644 index d5e2eff89..000000000 --- a/Signal/src/util/UIButton+OWS.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// UIButton+OWS.h -// Signal -// -// Created by Christine Corbett Moran on 2/10/15. -// Copyright (c) 2013 Open Whisper Systems. All rights reserved. -// - -#import - -@interface UIButton (OWS) - -+ (UIButton *)ows_blueButtonWithTitle:(NSString *)title; - -@end diff --git a/Signal/src/util/UIButton+OWS.m b/Signal/src/util/UIButton+OWS.m deleted file mode 100644 index 5e3467930..000000000 --- a/Signal/src/util/UIButton+OWS.m +++ /dev/null @@ -1,37 +0,0 @@ -// -// UIButton+OWS.m -// Signal -// -// Created by Christine Corbett Moran on 2/10/15. -// Copyright (c) 2013 Open Whisper Systems. All rights reserved. -// - -#import "UIButton+OWS.h" -#import "UIColor+OWS.h" -#import "UIFont+OWS.h" -@implementation UIButton (OWS) - -+ (UIButton *)ows_blueButtonWithTitle:(NSString *)title { - NSDictionary *buttonTextAttributes = @{ - NSFontAttributeName : [UIFont ows_regularFontWithSize:15.0f], - NSForegroundColorAttributeName : [UIColor ows_materialBlueColor] - }; - UIButton *button = [[UIButton alloc] init]; - NSMutableAttributedString *attributedTitle = [[NSMutableAttributedString alloc] initWithString:title]; - [attributedTitle setAttributes:buttonTextAttributes range:NSMakeRange(0, [attributedTitle length])]; - [button setAttributedTitle:attributedTitle forState:UIControlStateNormal]; - - NSDictionary *disabledAttributes = @{ - NSFontAttributeName : [UIFont ows_regularFontWithSize:15.0f], - NSForegroundColorAttributeName : [UIColor ows_darkGrayColor] - }; - NSMutableAttributedString *attributedTitleDisabled = [[NSMutableAttributedString alloc] initWithString:title]; - [attributedTitleDisabled setAttributes:disabledAttributes range:NSMakeRange(0, [attributedTitle length])]; - [button setAttributedTitle:attributedTitleDisabled forState:UIControlStateDisabled]; - - [button.titleLabel setTextAlignment:NSTextAlignmentCenter]; - - return button; -} - -@end diff --git a/Signal/src/view controllers/MessagesViewController.m b/Signal/src/view controllers/MessagesViewController.m index 644eb7f6d..f5b4b1bf3 100644 --- a/Signal/src/view controllers/MessagesViewController.m +++ b/Signal/src/view controllers/MessagesViewController.m @@ -49,7 +49,6 @@ #import "TSInvalidIdentityKeyErrorMessage.h" #import "TSMessagesManager+attachments.h" #import "TSMessagesManager+sendMessages.h" -#import "UIButton+OWS.h" #import "UIFont+OWS.h" #import "UIUtil.h" @@ -93,7 +92,6 @@ typedef enum : NSUInteger { @property (nonatomic, strong) TSVideoAttachmentAdapter *currentMediaAdapter; @property (nonatomic, retain) NSTimer *readTimer; -@property (nonatomic, retain) UIButton *messageButton; @property (nonatomic, retain) UIButton *attachButton; @property (nonatomic, retain) NSIndexPath *lastDeliveredMessageIndexPath; @@ -187,10 +185,6 @@ typedef enum : NSUInteger { [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(toggleContactPhone)]; _toggleContactPhoneDisplay.numberOfTapsRequired = 1; - _messageButton = [UIButton ows_blueButtonWithTitle:NSLocalizedString(@"SEND_BUTTON_TITLE", @"")]; - _messageButton.enabled = NO; - _messageButton.titleLabel.adjustsFontSizeToFitWidth = YES; - _attachButton = [[UIButton alloc] init]; [_attachButton setFrame:CGRectMake(0, 0, @@ -252,8 +246,16 @@ typedef enum : NSUInteger { - (void)initializeTextView { [self.inputToolbar.contentView.textView setFont:[UIFont ows_dynamicTypeBodyFont]]; - self.inputToolbar.contentView.leftBarButtonItem = _attachButton; - self.inputToolbar.contentView.rightBarButtonItem = _messageButton; + + self.inputToolbar.contentView.leftBarButtonItem = self.attachButton; + + UILabel *sendLabel = self.inputToolbar.contentView.rightBarButtonItem.titleLabel; + // override superclass translations since we support more translations than upstream. + sendLabel.text = NSLocalizedString(@"SEND_BUTTON_TITLE", nil); + sendLabel.font = [UIFont ows_regularFontWithSize:17.0f]; + sendLabel.textColor = [UIColor ows_materialBlueColor]; + sendLabel.textAlignment = NSTextAlignmentCenter; + self.inputToolbar.contentView.textView.layer.cornerRadius = 4.f; } @@ -681,13 +683,6 @@ typedef enum : NSUInteger { return !(isGroupConversation || [((TSContactThread *)self.thread).contactIdentifier isEqualToString:[TSAccountManager localNumber]]); } -- (void)textViewDidChange:(UITextView *)textView { - if ([textView.text length] > 0) { - self.inputToolbar.contentView.rightBarButtonItem.enabled = YES; - } else { - self.inputToolbar.contentView.rightBarButtonItem.enabled = NO; - } -} #pragma mark - JSQMessagesViewController method overrides - (void)didPressSendButton:(UIButton *)button