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

Side by Side Diff: chrome/browser/ui/cocoa/screen_capture_notification_ui_cocoa.mm

Issue 208643004: UI adjustments for the HIDE button in the screen share notification window. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: sync Created 6 years, 8 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
« no previous file with comments | « no previous file | chrome/browser/ui/views/screen_capture_notification_ui_views.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 #include "chrome/browser/ui/cocoa/screen_capture_notification_ui_cocoa.h" 5 #include "chrome/browser/ui/cocoa/screen_capture_notification_ui_cocoa.h"
6 6
7 #import <Cocoa/Cocoa.h> 7 #import <Cocoa/Cocoa.h>
8 8
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/i18n/rtl.h" 10 #include "base/i18n/rtl.h"
(...skipping 11 matching lines...) Expand all
22 #include "ui/base/resource/resource_bundle.h" 22 #include "ui/base/resource/resource_bundle.h"
23 #include "ui/gfx/font_list.h" 23 #include "ui/gfx/font_list.h"
24 #include "ui/gfx/image/image_skia.h" 24 #include "ui/gfx/image/image_skia.h"
25 #include "ui/gfx/image/image_skia_util_mac.h" 25 #include "ui/gfx/image/image_skia_util_mac.h"
26 #include "ui/gfx/text_elider.h" 26 #include "ui/gfx/text_elider.h"
27 #include "ui/native_theme/native_theme.h" 27 #include "ui/native_theme/native_theme.h"
28 28
29 const CGFloat kMinimumWidth = 460; 29 const CGFloat kMinimumWidth = 460;
30 const CGFloat kMaximumWidth = 1000; 30 const CGFloat kMaximumWidth = 1000;
31 const CGFloat kHorizontalMargin = 10; 31 const CGFloat kHorizontalMargin = 10;
32 const CGFloat kPadding = 5; 32 const CGFloat kPaddingVertical = 5;
33 const CGFloat kPaddingLeft = 10; 33 const CGFloat kPaddingHorizontal = 10;
34 const CGFloat kWindowCornerRadius = 2; 34 const CGFloat kWindowCornerRadius = 2;
35 const CGFloat kWindowAlphaValue = 0.85; 35 const CGFloat kWindowAlphaValue = 0.85;
36 36
37 @interface ScreenCaptureNotificationController() 37 @interface ScreenCaptureNotificationController()
38 - (void)hide; 38 - (void)hide;
39 - (void)populateWithText:(const base::string16&)text; 39 - (void)populateWithText:(const base::string16&)text;
40 @end 40 @end
41 41
42 @interface ScreenCaptureNotificationView : NSView 42 @interface ScreenCaptureNotificationView : NSView
43 @end 43 @end
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 133
134 // Create button. 134 // Create button.
135 stopButton_.reset([[BlueLabelButton alloc] initWithFrame:NSZeroRect]); 135 stopButton_.reset([[BlueLabelButton alloc] initWithFrame:NSZeroRect]);
136 [stopButton_ setTitle:l10n_util::GetNSString( 136 [stopButton_ setTitle:l10n_util::GetNSString(
137 IDS_MEDIA_SCREEN_CAPTURE_NOTIFICATION_STOP)]; 137 IDS_MEDIA_SCREEN_CAPTURE_NOTIFICATION_STOP)];
138 [stopButton_ setTarget:self]; 138 [stopButton_ setTarget:self];
139 [stopButton_ setAction:@selector(stopSharing:)]; 139 [stopButton_ setAction:@selector(stopSharing:)];
140 [stopButton_ sizeToFit]; 140 [stopButton_ sizeToFit];
141 [content addSubview:stopButton_]; 141 [content addSubview:stopButton_];
142 142
143 minimizeButton_.reset( 143 base::scoped_nsobject<HyperlinkButtonCell> cell(
144 [[HyperlinkButtonCell buttonWithString:l10n_util::GetNSString( 144 [[HyperlinkButtonCell alloc]
145 IDS_PASSWORDS_PAGE_VIEW_HIDE_BUTTON)] retain]); 145 initTextCell:l10n_util::GetNSString(
146 IDS_PASSWORDS_PAGE_VIEW_HIDE_BUTTON)]);
147 [cell setShouldUnderline:NO];
148
149 minimizeButton_.reset([[NSButton alloc] initWithFrame:NSZeroRect]);
150 [minimizeButton_ setCell:cell.get()];
146 [minimizeButton_ sizeToFit]; 151 [minimizeButton_ sizeToFit];
147 [minimizeButton_ setTarget:self]; 152 [minimizeButton_ setTarget:self];
148 [minimizeButton_ setAction:@selector(minimize:)]; 153 [minimizeButton_ setAction:@selector(minimize:)];
149 [content addSubview:minimizeButton_]; 154 [content addSubview:minimizeButton_];
150 155
151 CGFloat buttonsWidth = NSWidth([stopButton_ frame]) + kHorizontalMargin + 156 CGFloat buttonsWidth = NSWidth([stopButton_ frame]) + kHorizontalMargin +
152 NSWidth([minimizeButton_ frame]); 157 NSWidth([minimizeButton_ frame]);
153 CGFloat totalHeight = kPadding + NSHeight([stopButton_ frame]) + kPadding; 158 CGFloat totalHeight =
159 kPaddingVertical + NSHeight([stopButton_ frame]) + kPaddingVertical;
154 160
155 // Create grip icon. 161 // Create grip icon.
156 base::scoped_nsobject<WindowGripView> gripView([[WindowGripView alloc] init]); 162 base::scoped_nsobject<WindowGripView> gripView([[WindowGripView alloc] init]);
157 [content addSubview:gripView]; 163 [content addSubview:gripView];
158 CGFloat gripWidth = NSWidth([gripView frame]); 164 CGFloat gripWidth = NSWidth([gripView frame]);
159 CGFloat gripHeight = NSHeight([gripView frame]); 165 CGFloat gripHeight = NSHeight([gripView frame]);
160 [gripView 166 [gripView setFrameOrigin:NSMakePoint(kPaddingHorizontal,
161 setFrameOrigin:NSMakePoint(kPaddingLeft, (totalHeight - gripHeight) / 2)]; 167 (totalHeight - gripHeight) / 2)];
162 168
163 // Create text label. 169 // Create text label.
164 int maximumWidth = 170 int maximumWidth =
165 std::min(kMaximumWidth, NSWidth([[NSScreen mainScreen] visibleFrame])); 171 std::min(kMaximumWidth, NSWidth([[NSScreen mainScreen] visibleFrame]));
166 int maxLabelWidth = maximumWidth - kPaddingLeft - kPadding - 172 int maxLabelWidth = maximumWidth - kPaddingHorizontal * 2 -
167 kHorizontalMargin * 2 - gripWidth - buttonsWidth; 173 kHorizontalMargin * 2 - gripWidth - buttonsWidth;
168 gfx::FontList font_list; 174 gfx::FontList font_list;
169 base::string16 elidedText = 175 base::string16 elidedText =
170 ElideText(text, font_list, maxLabelWidth, gfx::ELIDE_IN_MIDDLE); 176 ElideText(text, font_list, maxLabelWidth, gfx::ELIDE_IN_MIDDLE);
171 NSString* statusText = base::SysUTF16ToNSString(elidedText); 177 NSString* statusText = base::SysUTF16ToNSString(elidedText);
172 base::scoped_nsobject<NSTextField> statusTextField( 178 base::scoped_nsobject<NSTextField> statusTextField(
173 [[NSTextField alloc] initWithFrame:ui::kWindowSizeDeterminedLater]); 179 [[NSTextField alloc] initWithFrame:ui::kWindowSizeDeterminedLater]);
174 [statusTextField setEditable:NO]; 180 [statusTextField setEditable:NO];
175 [statusTextField setSelectable:NO]; 181 [statusTextField setSelectable:NO];
176 [statusTextField setDrawsBackground:NO]; 182 [statusTextField setDrawsBackground:NO];
177 [statusTextField setBezeled:NO]; 183 [statusTextField setBezeled:NO];
178 [statusTextField setStringValue:statusText]; 184 [statusTextField setStringValue:statusText];
179 [statusTextField setFont:font_list.GetPrimaryFont().GetNativeFont()]; 185 [statusTextField setFont:font_list.GetPrimaryFont().GetNativeFont()];
180 [statusTextField sizeToFit]; 186 [statusTextField sizeToFit];
181 [statusTextField setFrameOrigin:NSMakePoint( 187 [statusTextField setFrameOrigin:NSMakePoint(
182 kPaddingLeft + kHorizontalMargin + gripWidth, 188 kPaddingHorizontal + kHorizontalMargin + gripWidth,
183 (totalHeight - NSHeight([statusTextField frame])) / 2)]; 189 (totalHeight - NSHeight([statusTextField frame])) / 2)];
184 [content addSubview:statusTextField]; 190 [content addSubview:statusTextField];
185 191
186 // Resize content view to fit controls. 192 // Resize content view to fit controls.
187 CGFloat minimumLableWidth = kMinimumWidth - kPaddingLeft - kPadding - 193 CGFloat minimumLableWidth = kMinimumWidth - kPaddingHorizontal * 2 -
188 kHorizontalMargin * 2 - gripWidth - buttonsWidth; 194 kHorizontalMargin * 2 - gripWidth - buttonsWidth;
189 CGFloat lableWidth = 195 CGFloat lableWidth =
190 std::max(NSWidth([statusTextField frame]), minimumLableWidth); 196 std::max(NSWidth([statusTextField frame]), minimumLableWidth);
191 CGFloat totalWidth = kPaddingLeft + kPadding + kHorizontalMargin * 2 + 197 CGFloat totalWidth = kPaddingHorizontal * 2 + kHorizontalMargin * 2 +
192 gripWidth + lableWidth + buttonsWidth; 198 gripWidth + lableWidth + buttonsWidth;
193 [content setFrame:NSMakeRect(0, 0, totalWidth, totalHeight)]; 199 [content setFrame:NSMakeRect(0, 0, totalWidth, totalHeight)];
194 200
195 // Move the buttons to the right place. 201 // Move the buttons to the right place.
196 NSPoint buttonOrigin = 202 NSPoint buttonOrigin = NSMakePoint(
197 NSMakePoint(totalWidth - kPadding - buttonsWidth, kPadding); 203 totalWidth - kPaddingHorizontal - buttonsWidth, kPaddingVertical);
198 [stopButton_ setFrameOrigin:buttonOrigin]; 204 [stopButton_ setFrameOrigin:buttonOrigin];
199 205
200 [minimizeButton_ setFrameOrigin:NSMakePoint( 206 [minimizeButton_ setFrameOrigin:NSMakePoint(
201 totalWidth - kPadding - NSWidth([minimizeButton_ frame]), 207 totalWidth - kPaddingHorizontal - NSWidth([minimizeButton_ frame]),
202 (totalHeight - NSHeight([minimizeButton_ frame])) / 2)]; 208 (totalHeight - NSHeight([minimizeButton_ frame])) / 2)];
203 209
204 if (base::i18n::IsRTL()) { 210 if (base::i18n::IsRTL()) {
205 [stopButton_ 211 [stopButton_
206 setFrameOrigin:NSMakePoint(totalWidth - NSMaxX([stopButton_ frame]), 212 setFrameOrigin:NSMakePoint(totalWidth - NSMaxX([stopButton_ frame]),
207 NSMinY([stopButton_ frame]))]; 213 NSMinY([stopButton_ frame]))];
208 [minimizeButton_ 214 [minimizeButton_
209 setFrameOrigin:NSMakePoint(totalWidth - NSMaxX([minimizeButton_ frame]), 215 setFrameOrigin:NSMakePoint(totalWidth - NSMaxX([minimizeButton_ frame]),
210 NSMinY([minimizeButton_ frame]))]; 216 NSMinY([minimizeButton_ frame]))];
211 [statusTextField 217 [statusTextField
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 self = [super 249 self = [super
244 initWithFrame:NSMakeRect(0, 0, gripImage.Width(), gripImage.Height())]; 250 initWithFrame:NSMakeRect(0, 0, gripImage.Width(), gripImage.Height())];
245 [self setImage:gripImage.ToNSImage()]; 251 [self setImage:gripImage.ToNSImage()];
246 return self; 252 return self;
247 } 253 }
248 254
249 - (BOOL)mouseDownCanMoveWindow { 255 - (BOOL)mouseDownCanMoveWindow {
250 return YES; 256 return YES;
251 } 257 }
252 @end 258 @end
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/views/screen_capture_notification_ui_views.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698