Merge branch 'charlesmchen/themeReview'
This commit is contained in:
commit
af1c076302
@ -48,6 +48,7 @@ int const OWSLinkedDevicesTableViewControllerSectionAddDevice = 1;
|
||||
self.isExpectingMoreDevices = NO;
|
||||
self.tableView.rowHeight = UITableViewAutomaticDimension;
|
||||
self.tableView.estimatedRowHeight = 60;
|
||||
self.tableView.separatorColor = Theme.hairlineColor;
|
||||
|
||||
[self.tableView applyScrollViewInsetsFix];
|
||||
|
||||
|
||||
@ -96,6 +96,7 @@ public class ContactsPicker: OWSViewController, UITableViewDelegate, UITableView
|
||||
self.view = UIView()
|
||||
let tableView = UITableView()
|
||||
self.tableView = tableView
|
||||
self.tableView.separatorColor = Theme.hairlineColor
|
||||
|
||||
view.addSubview(tableView)
|
||||
tableView.autoPinEdgesToSuperviewEdges()
|
||||
|
||||
@ -129,7 +129,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
OWSFail(@"%@ unexpected button state.", self.logTag);
|
||||
}
|
||||
label.font = OWSContactShareButtonsView.buttonFont;
|
||||
label.textColor = UIColor.ows_materialBlueColor;
|
||||
label.textColor = (Theme.isDarkThemeEnabled ? UIColor.ows_whiteColor : UIColor.ows_materialBlueColor);
|
||||
label.textAlignment = NSTextAlignmentCenter;
|
||||
[self addSubview:label];
|
||||
[label ows_autoPinToSuperviewEdges];
|
||||
|
||||
@ -116,9 +116,9 @@ const CGFloat OWSMessageHeaderViewDateHeaderVMargin = 23;
|
||||
OWSAssert(viewItem);
|
||||
|
||||
if (viewItem.unreadIndicator) {
|
||||
return (Theme.isDarkThemeEnabled ? UIColor.ows_dark60Color : UIColor.ows_light60Color);
|
||||
return Theme.secondaryColor;
|
||||
} else {
|
||||
return (Theme.isDarkThemeEnabled ? UIColor.ows_dark30Color : UIColor.ows_light45Color);
|
||||
return Theme.hairlineColor;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -27,8 +27,10 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
self.delegate = self;
|
||||
|
||||
self.backgroundColor = (Theme.isDarkThemeEnabled ? UIColor.ows_dark95Color : UIColor.ows_light02Color);
|
||||
self.layer.borderColor = [Theme.primaryColor colorWithAlphaComponent:0.12f].CGColor;
|
||||
self.backgroundColor = (Theme.isDarkThemeEnabled ? UIColor.ows_dark85Color : UIColor.ows_light02Color);
|
||||
self.layer.borderColor
|
||||
= (Theme.isDarkThemeEnabled ? [Theme.primaryColor colorWithAlphaComponent:0.06f].CGColor
|
||||
: [Theme.primaryColor colorWithAlphaComponent:0.12f].CGColor);
|
||||
self.layer.borderWidth = 0.5f;
|
||||
|
||||
self.scrollIndicatorInsets = UIEdgeInsetsMake(4, 4, 4, 4);
|
||||
@ -48,8 +50,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
self.placeholderView = [UILabel new];
|
||||
self.placeholderView.text = NSLocalizedString(@"new_message", @"");
|
||||
self.placeholderView.textColor
|
||||
= (Theme.isDarkThemeEnabled ? UIColor.ows_dark55Color : UIColor.ows_light35Color);
|
||||
self.placeholderView.textColor = Theme.placeholderColor;
|
||||
self.placeholderView.userInteractionEnabled = NO;
|
||||
[self addSubview:self.placeholderView];
|
||||
|
||||
|
||||
@ -93,6 +93,7 @@ const CGFloat kMaxTextViewHeight = 98;
|
||||
self.backgroundColor = [Theme.toolbarBackgroundColor colorWithAlphaComponent:alpha];
|
||||
|
||||
UIVisualEffectView *blurEffectView = [[UIVisualEffectView alloc] initWithEffect:Theme.barBlurEffect];
|
||||
blurEffectView.layer.zPosition = -1;
|
||||
[self addSubview:blurEffectView];
|
||||
[blurEffectView autoPinEdgesToSuperviewEdges];
|
||||
}
|
||||
@ -379,7 +380,7 @@ const CGFloat kMaxTextViewHeight = 98;
|
||||
|
||||
self.voiceMemoUI = [UIView new];
|
||||
self.voiceMemoUI.userInteractionEnabled = NO;
|
||||
self.voiceMemoUI.backgroundColor = [UIColor whiteColor];
|
||||
self.voiceMemoUI.backgroundColor = Theme.toolbarBackgroundColor;
|
||||
[self addSubview:self.voiceMemoUI];
|
||||
self.voiceMemoUI.frame = CGRectMake(0, 0, self.bounds.size.width, self.bounds.size.height);
|
||||
|
||||
|
||||
@ -3170,7 +3170,7 @@ typedef enum : NSUInteger {
|
||||
}
|
||||
|
||||
- (void)sendQualityAdjustedAttachmentForVideo:(NSURL *)movieURL
|
||||
filename:(NSString *)filename
|
||||
filename:(nullable NSString *)filename
|
||||
skipApprovalDialog:(BOOL)skipApprovalDialog
|
||||
{
|
||||
OWSAssertIsOnMainThread();
|
||||
|
||||
@ -60,6 +60,7 @@ class ConversationSearchViewController: UITableViewController {
|
||||
|
||||
tableView.rowHeight = UITableViewAutomaticDimension
|
||||
tableView.estimatedRowHeight = 60
|
||||
tableView.separatorColor = Theme.hairlineColor
|
||||
|
||||
tableView.register(EmptySearchResultCell.self, forCellReuseIdentifier: EmptySearchResultCell.reuseIdentifier)
|
||||
tableView.register(HomeViewCell.self, forCellReuseIdentifier: HomeViewCell.cellReuseIdentifier())
|
||||
@ -255,7 +256,7 @@ class ConversationSearchViewController: UITableViewController {
|
||||
if let messageSnippet = searchResult.snippet {
|
||||
overrideSnippet = NSAttributedString(string: messageSnippet,
|
||||
attributes: [
|
||||
NSAttributedStringKey.foregroundColor: Theme.primaryColor
|
||||
NSAttributedStringKey.foregroundColor: Theme.secondaryColor
|
||||
])
|
||||
} else {
|
||||
owsFail("\(ConversationSearchViewController.logTag()) message search result is missing message snippet")
|
||||
@ -276,6 +277,37 @@ class ConversationSearchViewController: UITableViewController {
|
||||
return 4
|
||||
}
|
||||
|
||||
override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
|
||||
guard let view = self.tableView(tableView, viewForHeaderInSection: section) else {
|
||||
return 0
|
||||
}
|
||||
return view.height()
|
||||
}
|
||||
|
||||
override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
|
||||
guard let title = self.tableView(tableView, titleForHeaderInSection: section) else {
|
||||
return nil
|
||||
}
|
||||
|
||||
let label = UILabel()
|
||||
label.textColor = Theme.secondaryColor
|
||||
label.text = title
|
||||
label.font = UIFont.ows_dynamicTypeBody.ows_mediumWeight()
|
||||
label.tag = section
|
||||
label.sizeToFit()
|
||||
|
||||
let hMargin: CGFloat = 15
|
||||
let vMargin: CGFloat = 4
|
||||
let wrapper = UIView()
|
||||
wrapper.backgroundColor = Theme.offBackgroundColor
|
||||
wrapper.addSubview(label)
|
||||
label.autoPinWidthToSuperview(withMargin: hMargin)
|
||||
label.autoPinHeightToSuperview(withMargin: vMargin)
|
||||
wrapper.frame = CGRect(x: 0, y: 0, width: label.width() + 2 * hMargin, height: label.height() + 2 * vMargin)
|
||||
|
||||
return wrapper
|
||||
}
|
||||
|
||||
override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
|
||||
guard let searchSection = SearchSection(rawValue: section) else {
|
||||
owsFail("unknown section: \(section)")
|
||||
|
||||
@ -318,6 +318,7 @@ NSString *const kArchivedConversationsReuseIdentifier = @"kArchivedConversations
|
||||
self.tableView.delegate = self;
|
||||
self.tableView.dataSource = self;
|
||||
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
|
||||
self.tableView.separatorColor = Theme.hairlineColor;
|
||||
[self.tableView registerClass:[HomeViewCell class] forCellReuseIdentifier:HomeViewCell.cellReuseIdentifier];
|
||||
[self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:kArchivedConversationsReuseIdentifier];
|
||||
[self.view addSubview:self.tableView];
|
||||
|
||||
@ -414,7 +414,14 @@ class MenuActionView: UIButton {
|
||||
isUserInteractionEnabled = true
|
||||
backgroundColor = defaultBackgroundColor
|
||||
|
||||
let imageView = UIImageView(image: action.image)
|
||||
var image = action.image
|
||||
if Theme.isDarkThemeEnabled {
|
||||
image = image.withRenderingMode(.alwaysTemplate)
|
||||
}
|
||||
let imageView = UIImageView(image: image)
|
||||
if Theme.isDarkThemeEnabled {
|
||||
imageView.tintColor = UIColor.ows_dark30
|
||||
}
|
||||
let imageWidth: CGFloat = 24
|
||||
imageView.autoSetDimensions(to: CGSize(width: imageWidth, height: imageWidth))
|
||||
imageView.isUserInteractionEnabled = false
|
||||
|
||||
@ -225,8 +225,8 @@ class MessageDetailViewController: OWSViewController, MediaGalleryDataSourceDele
|
||||
// TODO: It'd be nice to inset these dividers from the edge of the screen.
|
||||
let addDivider = {
|
||||
let divider = UIView()
|
||||
divider.backgroundColor = Theme.secondaryColor
|
||||
divider.autoSetDimension(.height, toSize: 0.5)
|
||||
divider.backgroundColor = Theme.hairlineColor
|
||||
divider.autoSetDimension(.height, toSize: CGHairlineWidth())
|
||||
groupRows.append(divider)
|
||||
}
|
||||
|
||||
|
||||
@ -530,11 +530,15 @@ class CaptioningToolbar: UIView, UITextViewDelegate {
|
||||
self.backgroundColor = UIColor.clear
|
||||
|
||||
textView.delegate = self
|
||||
textView.backgroundColor = UIColor.white
|
||||
textView.backgroundColor = (Theme.isDarkThemeEnabled ? UIColor.ows_dark85 : UIColor.ows_light02)
|
||||
textView.layer.borderColor = (Theme.isDarkThemeEnabled
|
||||
? Theme.primaryColor.withAlphaComponent(0.06).cgColor
|
||||
: Theme.primaryColor.withAlphaComponent(0.12).cgColor)
|
||||
textView.layer.borderWidth = 0.5
|
||||
textView.layer.cornerRadius = kMinTextViewHeight / 2
|
||||
|
||||
textView.addBorder(with: UIColor.lightGray)
|
||||
textView.font = UIFont.ows_dynamicTypeBody
|
||||
textView.textColor = Theme.primaryColor
|
||||
textView.returnKeyType = .done
|
||||
textView.textContainerInset = UIEdgeInsets(top: 7, left: 7, bottom: 7, right: 7)
|
||||
textView.scrollIndicatorInsets = UIEdgeInsets(top: 5, left: 0, bottom: 5, right: 3)
|
||||
|
||||
@ -30,9 +30,9 @@ public class ContactFieldView: UIView {
|
||||
return
|
||||
}
|
||||
let row = UIView()
|
||||
row.backgroundColor = Theme.secondaryColor
|
||||
row.backgroundColor = Theme.hairlineColor
|
||||
self.addSubview(row)
|
||||
row.autoSetDimension(.height, toSize: 1)
|
||||
row.autoSetDimension(.height, toSize: CGHairlineWidth())
|
||||
row.autoPinLeadingToSuperviewMargin(withInset: hMargin)
|
||||
row.autoPinTrailingToSuperviewMargin()
|
||||
row.autoPinEdge(.top, to: .bottom, of: prevRow, withOffset: 0)
|
||||
|
||||
@ -721,6 +721,7 @@ NSString *const kOWSTableCellIdentifier = @"kOWSTableCellIdentifier";
|
||||
|
||||
self.view.backgroundColor = Theme.backgroundColor;
|
||||
self.tableView.backgroundColor = Theme.backgroundColor;
|
||||
self.tableView.separatorColor = Theme.hairlineColor;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@ -98,7 +98,6 @@ public class OWSNavigationBar: UINavigationBar {
|
||||
// On iOS11, despite inserting the blur at 0, other views are later inserted into the navbar behind the blur,
|
||||
// so we have to set a zindex to avoid obscuring navbar title/buttons.
|
||||
blurEffectView.layer.zPosition = -1
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -28,6 +28,8 @@ extern NSString *const ThemeDidChangeNotification;
|
||||
@property (class, readonly, nonatomic) UIColor *boldColor;
|
||||
@property (class, readonly, nonatomic) UIColor *offBackgroundColor;
|
||||
@property (class, readonly, nonatomic) UIColor *middleGrayColor;
|
||||
@property (class, readonly, nonatomic) UIColor *placeholderColor;
|
||||
@property (class, readonly, nonatomic) UIColor *hairlineColor;
|
||||
|
||||
#pragma mark - Global App Colors
|
||||
|
||||
|
||||
@ -64,14 +64,12 @@ NSString *const ThemeKeyThemeEnabled = @"ThemeKeyThemeEnabled";
|
||||
|
||||
+ (UIColor *)primaryColor
|
||||
{
|
||||
// TODO: Theme, Review with design.
|
||||
return (Theme.isDarkThemeEnabled ? UIColor.ows_whiteColor : UIColor.ows_light90Color);
|
||||
return (Theme.isDarkThemeEnabled ? UIColor.ows_dark05Color : UIColor.ows_light90Color);
|
||||
}
|
||||
|
||||
+ (UIColor *)secondaryColor
|
||||
{
|
||||
// TODO: Theme, Review with design.
|
||||
return (Theme.isDarkThemeEnabled ? UIColor.ows_dark60Color : UIColor.ows_light60Color);
|
||||
return (Theme.isDarkThemeEnabled ? UIColor.ows_dark30Color : UIColor.ows_light60Color);
|
||||
}
|
||||
|
||||
+ (UIColor *)boldColor
|
||||
@ -86,6 +84,16 @@ NSString *const ThemeKeyThemeEnabled = @"ThemeKeyThemeEnabled";
|
||||
return [UIColor colorWithWhite:0.5f alpha:1.f];
|
||||
}
|
||||
|
||||
+ (UIColor *)placeholderColor
|
||||
{
|
||||
return (Theme.isDarkThemeEnabled ? UIColor.ows_dark55Color : UIColor.ows_light35Color);
|
||||
}
|
||||
|
||||
+ (UIColor *)hairlineColor
|
||||
{
|
||||
return (Theme.isDarkThemeEnabled ? UIColor.ows_dark60Color : UIColor.ows_light45Color);
|
||||
}
|
||||
|
||||
#pragma mark - Global App Colors
|
||||
|
||||
+ (UIColor *)navbarBackgroundColor
|
||||
@ -101,8 +109,7 @@ NSString *const ThemeKeyThemeEnabled = @"ThemeKeyThemeEnabled";
|
||||
|
||||
+ (UIColor *)navbarTitleColor
|
||||
{
|
||||
// TODO: Theme, Review with design.
|
||||
return (Theme.isDarkThemeEnabled ? UIColor.ows_dark60Color : UIColor.ows_light60Color);
|
||||
return Theme.primaryColor;
|
||||
}
|
||||
|
||||
+ (UIColor *)toolbarBackgroundColor
|
||||
|
||||
@ -143,7 +143,10 @@ public class ConversationStyle: NSObject {
|
||||
return color
|
||||
}
|
||||
|
||||
private static let defaultBubbleColorIncoming = UIColor.ows_messageBubbleLightGray
|
||||
@objc
|
||||
private static var defaultBubbleColorIncoming: UIColor {
|
||||
return Theme.isDarkThemeEnabled ? UIColor.ows_dark70 : UIColor.ows_messageBubbleLightGray
|
||||
}
|
||||
|
||||
@objc
|
||||
public let bubbleColorOutgoingFailed = UIColor.ows_darkSkyBlue
|
||||
@ -189,7 +192,11 @@ public class ConversationStyle: NSObject {
|
||||
}
|
||||
|
||||
@objc
|
||||
public static var bubbleTextColorIncoming = UIColor.ows_light90
|
||||
public static var bubbleTextColorIncoming: UIColor {
|
||||
return Theme.isDarkThemeEnabled ? UIColor.ows_white : UIColor.ows_light90
|
||||
}
|
||||
|
||||
@objc
|
||||
public static var bubbleTextColorOutgoing = UIColor.ows_white
|
||||
|
||||
@objc
|
||||
|
||||
Loading…
Reference in New Issue
Block a user