Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(155)

Side by Side Diff: ios/chrome/browser/ui/bookmarks/bars/bookmark_editing_bar.mm

Issue 2677443002: [ObjC ARC] Converts ios/chrome/browser/ui/bookmarks/bars:bars to ARC. (Closed)
Patch Set: asdf Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #import "ios/chrome/browser/ui/bookmarks/bars/bookmark_editing_bar.h" 5 #import "ios/chrome/browser/ui/bookmarks/bars/bookmark_editing_bar.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/mac/objc_property_releaser.h" 8
9 #include "base/mac/scoped_nsobject.h"
10 #include "base/strings/sys_string_conversions.h" 9 #include "base/strings/sys_string_conversions.h"
11 #import "ios/chrome/browser/ui/bookmarks/bookmark_extended_button.h" 10 #import "ios/chrome/browser/ui/bookmarks/bookmark_extended_button.h"
12 #import "ios/chrome/browser/ui/bookmarks/bookmark_utils_ios.h" 11 #import "ios/chrome/browser/ui/bookmarks/bookmark_utils_ios.h"
13 #import "ios/chrome/browser/ui/rtl_geometry.h" 12 #import "ios/chrome/browser/ui/rtl_geometry.h"
14 #include "ios/chrome/grit/ios_strings.h" 13 #include "ios/chrome/grit/ios_strings.h"
15 #import "ios/third_party/material_components_ios/src/components/Typography/src/M aterialTypography.h" 14 #import "ios/third_party/material_components_ios/src/components/Typography/src/M aterialTypography.h"
16 #include "ui/base/l10n/l10n_util.h" 15 #include "ui/base/l10n/l10n_util.h"
17 16
17 #if !defined(__has_feature) || !__has_feature(objc_arc)
18 #error "This file requires ARC support."
19 #endif
20
18 namespace { 21 namespace {
19 // The distance between buttons. 22 // The distance between buttons.
20 CGFloat kInterButtonMargin = 24; 23 CGFloat kInterButtonMargin = 24;
21 } // namespace 24 } // namespace
22 25
23 @interface BookmarkEditingBar () { 26 @interface BookmarkEditingBar () {
24 base::mac::ObjCPropertyReleaser _propertyReleaser_BookmarkEditingBar;
25 } 27 }
26 @property(nonatomic, retain) BookmarkExtendedButton* cancelButton; 28 @property(nonatomic, strong) BookmarkExtendedButton* cancelButton;
27 // This label is slightly left off center, and reflects the number of bookmarks 29 // This label is slightly left off center, and reflects the number of bookmarks
28 // selected for editing. 30 // selected for editing.
29 @property(nonatomic, retain) UILabel* countLabel; 31 @property(nonatomic, strong) UILabel* countLabel;
30 @property(nonatomic, retain) BookmarkExtendedButton* deleteButton; 32 @property(nonatomic, strong) BookmarkExtendedButton* deleteButton;
31 @property(nonatomic, retain) UIView* dropShadow; 33 @property(nonatomic, strong) UIView* dropShadow;
32 @property(nonatomic, retain) BookmarkExtendedButton* editButton; 34 @property(nonatomic, strong) BookmarkExtendedButton* editButton;
33 @property(nonatomic, retain) BookmarkExtendedButton* moveButton; 35 @property(nonatomic, strong) BookmarkExtendedButton* moveButton;
34 @end 36 @end
35 37
36 @implementation BookmarkEditingBar 38 @implementation BookmarkEditingBar
37 @synthesize cancelButton = _cancelButton; 39 @synthesize cancelButton = _cancelButton;
38 @synthesize countLabel = _countLabel; 40 @synthesize countLabel = _countLabel;
39 @synthesize deleteButton = _deleteButton; 41 @synthesize deleteButton = _deleteButton;
40 @synthesize dropShadow = _dropShadow; 42 @synthesize dropShadow = _dropShadow;
41 @synthesize editButton = _editButton; 43 @synthesize editButton = _editButton;
42 @synthesize moveButton = _moveButton; 44 @synthesize moveButton = _moveButton;
43 45
44 - (id)initWithFrame:(CGRect)outerFrame { 46 - (id)initWithFrame:(CGRect)outerFrame {
45 self = [super initWithFrame:outerFrame]; 47 self = [super initWithFrame:outerFrame];
46 if (self) { 48 if (self) {
47 _propertyReleaser_BookmarkEditingBar.Init(self, [BookmarkEditingBar class]);
48 self.backgroundColor = bookmark_utils_ios::blueColor(); 49 self.backgroundColor = bookmark_utils_ios::blueColor();
49 50
50 CGRect bounds = self.contentView.bounds; 51 CGRect bounds = self.contentView.bounds;
51 52
52 // Add the cancel button to the leading side of the bar. 53 // Add the cancel button to the leading side of the bar.
53 CGFloat cancelButtonWidth = 24; 54 CGFloat cancelButtonWidth = 24;
54 CGFloat cancelButtonHeight = 24; 55 CGFloat cancelButtonHeight = 24;
55 CGFloat cancelButtonY = 56 CGFloat cancelButtonY =
56 floor((bounds.size.height - cancelButtonHeight) / 2); 57 floor((bounds.size.height - cancelButtonHeight) / 2);
57 CGFloat cancelButtonX = cancelButtonY; 58 CGFloat cancelButtonX = cancelButtonY;
58 base::scoped_nsobject<BookmarkExtendedButton> button( 59 BookmarkExtendedButton* button = [[BookmarkExtendedButton alloc]
59 [[BookmarkExtendedButton alloc] 60 initWithFrame:LayoutRectGetRect(LayoutRectMake(
60 initWithFrame:LayoutRectGetRect(LayoutRectMake( 61 cancelButtonX,
61 cancelButtonX, 62 CGRectGetWidth(self.contentView.bounds),
62 CGRectGetWidth(self.contentView.bounds), 63 cancelButtonY, cancelButtonWidth,
63 cancelButtonY, cancelButtonWidth, 64 cancelButtonHeight))];
64 cancelButtonHeight))]);
65 self.cancelButton = button; 65 self.cancelButton = button;
66 self.cancelButton.extendedEdges = UIEdgeInsetsMakeDirected( 66 self.cancelButton.extendedEdges = UIEdgeInsetsMakeDirected(
67 cancelButtonY, cancelButtonX, cancelButtonY, cancelButtonX); 67 cancelButtonY, cancelButtonX, cancelButtonY, cancelButtonX);
68 self.cancelButton.autoresizingMask = 68 self.cancelButton.autoresizingMask =
69 UIViewAutoresizingFlexibleTrailingMargin(); 69 UIViewAutoresizingFlexibleTrailingMargin();
70 self.cancelButton.backgroundColor = [UIColor clearColor]; 70 self.cancelButton.backgroundColor = [UIColor clearColor];
71 UIImage* cancelImage = [UIImage imageNamed:@"bookmark_white_close"]; 71 UIImage* cancelImage = [UIImage imageNamed:@"bookmark_white_close"];
72 [self.cancelButton setBackgroundImage:cancelImage 72 [self.cancelButton setBackgroundImage:cancelImage
73 forState:UIControlStateNormal]; 73 forState:UIControlStateNormal];
74 self.cancelButton.accessibilityLabel = 74 self.cancelButton.accessibilityLabel =
75 l10n_util::GetNSString(IDS_IOS_BOOKMARK_NEW_CANCEL_BUTTON_LABEL); 75 l10n_util::GetNSString(IDS_IOS_BOOKMARK_NEW_CANCEL_BUTTON_LABEL);
76 self.cancelButton.accessibilityIdentifier = @"Exit Edit Mode"; 76 self.cancelButton.accessibilityIdentifier = @"Exit Edit Mode";
77 [self.contentView addSubview:self.cancelButton]; 77 [self.contentView addSubview:self.cancelButton];
78 78
79 // Add the count label to the right of the cancel button. 79 // Add the count label to the right of the cancel button.
80 CGFloat labelX = bookmark_utils_ios::titleMargin; 80 CGFloat labelX = bookmark_utils_ios::titleMargin;
81 CGFloat labelY = 0; 81 CGFloat labelY = 0;
82 base::scoped_nsobject<UILabel> label([[UILabel alloc] 82 UILabel* label = [[UILabel alloc]
83 initWithFrame:LayoutRectGetRect(LayoutRectMake( 83 initWithFrame:LayoutRectGetRect(LayoutRectMake(
84 labelX, CGRectGetWidth(self.contentView.bounds), 84 labelX, CGRectGetWidth(self.contentView.bounds),
85 labelY, 150, CGRectGetHeight(bounds)))]); 85 labelY, 150, CGRectGetHeight(bounds)))];
86 self.countLabel = label; 86 self.countLabel = label;
87 self.countLabel.textColor = [UIColor whiteColor]; 87 self.countLabel.textColor = [UIColor whiteColor];
88 self.countLabel.autoresizingMask = 88 self.countLabel.autoresizingMask =
89 UIViewAutoresizingFlexibleTrailingMargin(); 89 UIViewAutoresizingFlexibleTrailingMargin();
90 self.countLabel.font = [MDCTypography titleFont]; 90 self.countLabel.font = [MDCTypography titleFont];
91 self.countLabel.backgroundColor = [UIColor clearColor]; 91 self.countLabel.backgroundColor = [UIColor clearColor];
92 [self.contentView addSubview:self.countLabel]; 92 [self.contentView addSubview:self.countLabel];
93 93
94 // Add the edit button to the right side of the bar. 94 // Add the edit button to the right side of the bar.
95 CGFloat editButtonWidth = 24; 95 CGFloat editButtonWidth = 24;
96 CGFloat editButtonHeight = 24; 96 CGFloat editButtonHeight = 24;
97 // The margin is the same to the top, the bottom, and the right. 97 // The margin is the same to the top, the bottom, and the right.
98 CGFloat editButtonY = floor((bounds.size.height - editButtonHeight) / 2); 98 CGFloat editButtonY = floor((bounds.size.height - editButtonHeight) / 2);
99 CGFloat editButtonRightMargin = editButtonY; 99 CGFloat editButtonRightMargin = editButtonY;
100 CGFloat editButtonX = 100 CGFloat editButtonX =
101 bounds.size.width - editButtonRightMargin - editButtonWidth; 101 bounds.size.width - editButtonRightMargin - editButtonWidth;
102 button.reset([[BookmarkExtendedButton alloc] 102 button = [[BookmarkExtendedButton alloc]
103 initWithFrame:LayoutRectGetRect(LayoutRectMake( 103 initWithFrame:LayoutRectGetRect(LayoutRectMake(
104 editButtonX, CGRectGetWidth(self.contentView.bounds), 104 editButtonX, CGRectGetWidth(self.contentView.bounds),
105 editButtonY, editButtonWidth, editButtonHeight))]); 105 editButtonY, editButtonWidth, editButtonHeight))];
106 self.editButton = button; 106 self.editButton = button;
107 self.editButton.extendedEdges = 107 self.editButton.extendedEdges =
108 UIEdgeInsetsMakeDirected(editButtonY, kInterButtonMargin / 2.0, 108 UIEdgeInsetsMakeDirected(editButtonY, kInterButtonMargin / 2.0,
109 editButtonY, editButtonRightMargin); 109 editButtonY, editButtonRightMargin);
110 self.editButton.autoresizingMask = 110 self.editButton.autoresizingMask =
111 UIViewAutoresizingFlexibleLeadingMargin(); 111 UIViewAutoresizingFlexibleLeadingMargin();
112 self.editButton.backgroundColor = [UIColor clearColor]; 112 self.editButton.backgroundColor = [UIColor clearColor];
113 UIImage* editImage = [UIImage imageNamed:@"bookmark_white_edit"]; 113 UIImage* editImage = [UIImage imageNamed:@"bookmark_white_edit"];
114 [self.editButton setBackgroundImage:editImage 114 [self.editButton setBackgroundImage:editImage
115 forState:UIControlStateNormal]; 115 forState:UIControlStateNormal];
116 self.editButton.accessibilityLabel = 116 self.editButton.accessibilityLabel =
117 l10n_util::GetNSString(IDS_IOS_BOOKMARK_NEW_EDIT_BUTTON_LABEL); 117 l10n_util::GetNSString(IDS_IOS_BOOKMARK_NEW_EDIT_BUTTON_LABEL);
118 self.editButton.accessibilityIdentifier = @"Edit_editing_bar"; 118 self.editButton.accessibilityIdentifier = @"Edit_editing_bar";
119 [self.contentView addSubview:self.editButton]; 119 [self.contentView addSubview:self.editButton];
120 120
121 // Add the move button to the same position as the edit button. 121 // Add the move button to the same position as the edit button.
122 button.reset( 122 button =
123 [[BookmarkExtendedButton alloc] initWithFrame:self.editButton.frame]); 123 [[BookmarkExtendedButton alloc] initWithFrame:self.editButton.frame];
124 self.moveButton = button; 124 self.moveButton = button;
125 self.moveButton.extendedEdges = 125 self.moveButton.extendedEdges =
126 UIEdgeInsetsMakeDirected(editButtonY, kInterButtonMargin / 2.0, 126 UIEdgeInsetsMakeDirected(editButtonY, kInterButtonMargin / 2.0,
127 editButtonY, editButtonRightMargin); 127 editButtonY, editButtonRightMargin);
128 self.moveButton.autoresizingMask = 128 self.moveButton.autoresizingMask =
129 UIViewAutoresizingFlexibleLeadingMargin(); 129 UIViewAutoresizingFlexibleLeadingMargin();
130 self.moveButton.backgroundColor = [UIColor clearColor]; 130 self.moveButton.backgroundColor = [UIColor clearColor];
131 UIImage* moveImage = [UIImage imageNamed:@"bookmark_white_move"]; 131 UIImage* moveImage = [UIImage imageNamed:@"bookmark_white_move"];
132 [self.moveButton setBackgroundImage:moveImage 132 [self.moveButton setBackgroundImage:moveImage
133 forState:UIControlStateNormal]; 133 forState:UIControlStateNormal];
134 self.moveButton.accessibilityLabel = 134 self.moveButton.accessibilityLabel =
135 l10n_util::GetNSString(IDS_IOS_BOOKMARK_NEW_MOVE_BUTTON_LABEL); 135 l10n_util::GetNSString(IDS_IOS_BOOKMARK_NEW_MOVE_BUTTON_LABEL);
136 self.moveButton.accessibilityIdentifier = @"Move"; 136 self.moveButton.accessibilityIdentifier = @"Move";
137 [self.contentView addSubview:self.moveButton]; 137 [self.contentView addSubview:self.moveButton];
138 138
139 // Add the delete button to the left of the edit button. 139 // Add the delete button to the left of the edit button.
140 CGFloat deleteButtonWidth = 24; 140 CGFloat deleteButtonWidth = 24;
141 CGFloat deleteButtonHeight = 24; 141 CGFloat deleteButtonHeight = 24;
142 CGFloat deleteButtonY = 142 CGFloat deleteButtonY =
143 floor((bounds.size.height - deleteButtonHeight) / 2); 143 floor((bounds.size.height - deleteButtonHeight) / 2);
144 CGFloat deleteButtonX = 144 CGFloat deleteButtonX =
145 CGRectGetLeadingLayoutOffsetInBoundingRect(self.editButton.frame, 145 CGRectGetLeadingLayoutOffsetInBoundingRect(self.editButton.frame,
146 self.contentView.bounds) - 146 self.contentView.bounds) -
147 kInterButtonMargin - deleteButtonWidth; 147 kInterButtonMargin - deleteButtonWidth;
148 button.reset([[BookmarkExtendedButton alloc] 148 button = [[BookmarkExtendedButton alloc]
149 initWithFrame:LayoutRectGetRect(LayoutRectMake( 149 initWithFrame:LayoutRectGetRect(LayoutRectMake(
150 deleteButtonX, 150 deleteButtonX,
151 CGRectGetWidth(self.contentView.bounds), 151 CGRectGetWidth(self.contentView.bounds),
152 deleteButtonY, deleteButtonWidth, 152 deleteButtonY, deleteButtonWidth,
153 deleteButtonHeight))]); 153 deleteButtonHeight))];
154 self.deleteButton = button; 154 self.deleteButton = button;
155 self.deleteButton.extendedEdges = UIEdgeInsetsMakeDirected( 155 self.deleteButton.extendedEdges = UIEdgeInsetsMakeDirected(
156 deleteButtonY, deleteButtonY, deleteButtonY, kInterButtonMargin / 2.0); 156 deleteButtonY, deleteButtonY, deleteButtonY, kInterButtonMargin / 2.0);
157 self.deleteButton.autoresizingMask = 157 self.deleteButton.autoresizingMask =
158 UIViewAutoresizingFlexibleLeadingMargin(); 158 UIViewAutoresizingFlexibleLeadingMargin();
159 self.deleteButton.backgroundColor = [UIColor clearColor]; 159 self.deleteButton.backgroundColor = [UIColor clearColor];
160 UIImage* deleteImage = [UIImage imageNamed:@"bookmark_white_delete"]; 160 UIImage* deleteImage = [UIImage imageNamed:@"bookmark_white_delete"];
161 [self.deleteButton setBackgroundImage:deleteImage 161 [self.deleteButton setBackgroundImage:deleteImage
162 forState:UIControlStateNormal]; 162 forState:UIControlStateNormal];
163 self.deleteButton.accessibilityLabel = 163 self.deleteButton.accessibilityLabel =
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 self.editButton.hidden = YES; 243 self.editButton.hidden = YES;
244 self.moveButton.hidden = NO; 244 self.moveButton.hidden = NO;
245 self.deleteButton.hidden = NO; 245 self.deleteButton.hidden = NO;
246 } 246 }
247 247
248 - (void)showShadow:(BOOL)show { 248 - (void)showShadow:(BOOL)show {
249 self.dropShadow.hidden = !show; 249 self.dropShadow.hidden = !show;
250 } 250 }
251 251
252 @end 252 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698