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

Side by Side Diff: chrome/browser/ui/views/profiles/new_avatar_button.cc

Issue 381953002: New avatar button: Consolidate text elision between Mac and Win/Linux (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 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 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 #include "chrome/browser/ui/views/profiles/new_avatar_button.h" 5 #include "chrome/browser/ui/views/profiles/new_avatar_button.h"
6 6
7 #include "base/strings/utf_string_conversions.h" 7 #include "base/strings/utf_string_conversions.h"
8 #include "base/win/windows_version.h" 8 #include "base/win/windows_version.h"
9 #include "chrome/browser/browser_process.h" 9 #include "chrome/browser/browser_process.h"
10 #include "chrome/browser/profiles/profile_manager.h" 10 #include "chrome/browser/profiles/profile_manager.h"
(...skipping 30 matching lines...) Expand all
41 41
42 const int kLeftRightInset = 10; 42 const int kLeftRightInset = 10;
43 const int kTopInset = 0; 43 const int kTopInset = 0;
44 const int kBottomInset = 4; 44 const int kBottomInset = 4;
45 border->set_insets(gfx::Insets(kTopInset, kLeftRightInset, 45 border->set_insets(gfx::Insets(kTopInset, kLeftRightInset,
46 kBottomInset, kLeftRightInset)); 46 kBottomInset, kLeftRightInset));
47 47
48 return border.PassAs<views::Border>(); 48 return border.PassAs<views::Border>();
49 } 49 }
50 50
51 base::string16 GetElidedText(const base::string16& original_text) {
52 // Maximum characters the button can be before the text will get elided.
53 const int kMaxCharactersToDisplay = 15;
54 const gfx::FontList font_list;
55 return gfx::ElideText(original_text, font_list,
56 font_list.GetExpectedTextWidth(kMaxCharactersToDisplay),
57 gfx::ELIDE_TAIL);
58 }
59
60 base::string16 GetButtonText(Profile* profile) { 51 base::string16 GetButtonText(Profile* profile) {
61 base::string16 name = GetElidedText(profiles::GetAvatarNameForProfile( 52 return profiles::GetAvatarButtonTextForProfile(profile, gfx::FontList());
62 profile->GetPath()));
63 if (profile->IsSupervised())
64 name = l10n_util::GetStringFUTF16(IDS_SUPERVISED_USER_NEW_AVATAR_LABEL,
65 name);
66 return name;
67 } 53 }
68 54
69 } // namespace 55 } // namespace
70 56
71 NewAvatarButton::NewAvatarButton( 57 NewAvatarButton::NewAvatarButton(
72 views::ButtonListener* listener, 58 views::ButtonListener* listener,
73 const base::string16& profile_name, 59 const base::string16& profile_name,
74 AvatarButtonStyle button_style, 60 AvatarButtonStyle button_style,
75 Browser* browser) 61 Browser* browser)
76 : MenuButton(listener, GetButtonText(browser->profile()), NULL, true), 62 : MenuButton(listener, GetButtonText(browser->profile()), NULL, true),
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 // We want the button to resize if the new text is shorter. 161 // We want the button to resize if the new text is shorter.
176 SetText(GetButtonText(browser_->profile())); 162 SetText(GetButtonText(browser_->profile()));
177 set_min_size(gfx::Size()); 163 set_min_size(gfx::Size());
178 InvalidateLayout(); 164 InvalidateLayout();
179 165
180 // Because the width of the button might have changed, the parent browser 166 // Because the width of the button might have changed, the parent browser
181 // frame needs to recalculate the button bounds and redraw it. 167 // frame needs to recalculate the button bounds and redraw it.
182 if (parent()) 168 if (parent())
183 parent()->Layout(); 169 parent()->Layout();
184 } 170 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698