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

Side by Side Diff: chrome/browser/ui/cocoa/tabs/tab_controller.mm

Issue 476313003: Mac: Improve tab strip layout in case of overflow (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase again Created 6 years, 3 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "chrome/browser/ui/cocoa/tabs/tab_controller.h" 5 #import "chrome/browser/ui/cocoa/tabs/tab_controller.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 9
10 #include "base/i18n/rtl.h" 10 #include "base/i18n/rtl.h"
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 TabController* owner_; // weak, owns me 64 TabController* owner_; // weak, owns me
65 }; 65 };
66 66
67 } // TabControllerInternal namespace 67 } // TabControllerInternal namespace
68 68
69 // The min widths is the smallest number at which the right edge of the right 69 // The min widths is the smallest number at which the right edge of the right
70 // tab border image is not visibly clipped. It is a bit smaller than the sum 70 // tab border image is not visibly clipped. It is a bit smaller than the sum
71 // of the two tab edge bitmaps because these bitmaps have a few transparent 71 // of the two tab edge bitmaps because these bitmaps have a few transparent
72 // pixels on the side. The selected tab width includes the close button width. 72 // pixels on the side. The selected tab width includes the close button width.
73 + (CGFloat)minTabWidth { return 36; } 73 + (CGFloat)minTabWidth { return 36; }
74 + (CGFloat)minSelectedTabWidth { return 52; } 74 + (CGFloat)minActiveTabWidth { return 52; }
75 + (CGFloat)maxTabWidth { return 214; } 75 + (CGFloat)maxTabWidth { return 214; }
76 + (CGFloat)miniTabWidth { return 58; } 76 + (CGFloat)miniTabWidth { return 58; }
77 + (CGFloat)appTabWidth { return 66; } 77 + (CGFloat)appTabWidth { return 66; }
78 78
79 - (TabView*)tabView { 79 - (TabView*)tabView {
80 DCHECK([[self view] isKindOfClass:[TabView class]]); 80 DCHECK([[self view] isKindOfClass:[TabView class]]);
81 return static_cast<TabView*>([self view]); 81 return static_cast<TabView*>([self view]);
82 } 82 }
83 83
84 - (id)init { 84 - (id)init {
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 } 180 }
181 } 181 }
182 182
183 - (void)setTitle:(NSString*)title { 183 - (void)setTitle:(NSString*)title {
184 if ([[self title] isEqualToString:title]) 184 if ([[self title] isEqualToString:title])
185 return; 185 return;
186 186
187 TabView* tabView = [self tabView]; 187 TabView* tabView = [self tabView];
188 [tabView setTitle:title]; 188 [tabView setTitle:title];
189 189
190 if ([self mini] && ![self selected]) { 190 if ([self mini] && ![self active]) {
191 [tabView startAlert]; 191 [tabView startAlert];
192 } 192 }
193 [super setTitle:title]; 193 [super setTitle:title];
194 } 194 }
195 195
196 - (void)setToolTip:(NSString*)toolTip { 196 - (void)setToolTip:(NSString*)toolTip {
197 [[self view] setToolTip:toolTip]; 197 [[self view] setToolTip:toolTip];
198 } 198 }
199 199
200 - (void)setActive:(BOOL)active { 200 - (void)setActive:(BOOL)active {
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
266 const int kPaddingBetweenIcons = 2; 266 const int kPaddingBetweenIcons = 2;
267 if (availableWidth >= widthPerIcon && 267 if (availableWidth >= widthPerIcon &&
268 availableWidth < (widthPerIcon + kPaddingBetweenIcons)) { 268 availableWidth < (widthPerIcon + kPaddingBetweenIcons)) {
269 return 1; 269 return 1;
270 } 270 }
271 return availableWidth / (widthPerIcon + kPaddingBetweenIcons); 271 return availableWidth / (widthPerIcon + kPaddingBetweenIcons);
272 } 272 }
273 273
274 - (BOOL)shouldShowIcon { 274 - (BOOL)shouldShowIcon {
275 return chrome::ShouldTabShowFavicon( 275 return chrome::ShouldTabShowFavicon(
276 [self iconCapacity], [self mini], [self selected], iconView_ != nil, 276 [self iconCapacity], [self mini], [self active], iconView_ != nil,
277 !mediaIndicatorView_ ? TAB_MEDIA_STATE_NONE : 277 !mediaIndicatorView_ ? TAB_MEDIA_STATE_NONE :
278 [mediaIndicatorView_ animatingMediaState]); 278 [mediaIndicatorView_ animatingMediaState]);
279 } 279 }
280 280
281 - (BOOL)shouldShowMediaIndicator { 281 - (BOOL)shouldShowMediaIndicator {
282 if (!mediaIndicatorView_) 282 if (!mediaIndicatorView_)
283 return NO; 283 return NO;
284 return chrome::ShouldTabShowMediaIndicator( 284 return chrome::ShouldTabShowMediaIndicator(
285 [self iconCapacity], [self mini], [self selected], iconView_ != nil, 285 [self iconCapacity], [self mini], [self active], iconView_ != nil,
286 [mediaIndicatorView_ animatingMediaState]); 286 [mediaIndicatorView_ animatingMediaState]);
287 } 287 }
288 288
289 - (BOOL)shouldShowCloseButton { 289 - (BOOL)shouldShowCloseButton {
290 return chrome::ShouldTabShowCloseButton( 290 return chrome::ShouldTabShowCloseButton(
291 [self iconCapacity], [self mini], [self selected]); 291 [self iconCapacity], [self mini], [self active]);
292 } 292 }
293 293
294 - (void)setIconImage:(NSImage*)image { 294 - (void)setIconImage:(NSImage*)image {
295 [self setIconImage:image withToastAnimation:NO]; 295 [self setIconImage:image withToastAnimation:NO];
296 } 296 }
297 297
298 - (void)setIconImage:(NSImage*)image withToastAnimation:(BOOL)animate { 298 - (void)setIconImage:(NSImage*)image withToastAnimation:(BOOL)animate {
299 if (image == nil) { 299 if (image == nil) {
300 [self setIconView:nil]; 300 [self setIconView:nil];
301 } else { 301 } else {
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
427 // TabStripDragController. 427 // TabStripDragController.
428 - (BOOL)tabCanBeDragged:(TabController*)controller { 428 - (BOOL)tabCanBeDragged:(TabController*)controller {
429 return [[target_ dragController] tabCanBeDragged:controller]; 429 return [[target_ dragController] tabCanBeDragged:controller];
430 } 430 }
431 431
432 - (void)maybeStartDrag:(NSEvent*)event forTab:(TabController*)tab { 432 - (void)maybeStartDrag:(NSEvent*)event forTab:(TabController*)tab {
433 [[target_ dragController] maybeStartDrag:event forTab:tab]; 433 [[target_ dragController] maybeStartDrag:event forTab:tab];
434 } 434 }
435 435
436 @end 436 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698