| OLD | NEW |
| 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 "ash/system/user/user_card_view.h" | 5 #include "ash/system/user/user_card_view.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "ash/session/session_state_delegate.h" | 10 #include "ash/session_state_delegate.h" |
| 11 #include "ash/session/user_info.h" | |
| 12 #include "ash/shell.h" | 11 #include "ash/shell.h" |
| 13 #include "ash/system/tray/system_tray_delegate.h" | 12 #include "ash/system/tray/system_tray_delegate.h" |
| 14 #include "ash/system/tray/tray_constants.h" | 13 #include "ash/system/tray/tray_constants.h" |
| 15 #include "ash/system/user/config.h" | 14 #include "ash/system/user/config.h" |
| 16 #include "ash/system/user/rounded_image_view.h" | 15 #include "ash/system/user/rounded_image_view.h" |
| 17 #include "base/i18n/rtl.h" | 16 #include "base/i18n/rtl.h" |
| 18 #include "base/memory/scoped_vector.h" | 17 #include "base/memory/scoped_vector.h" |
| 19 #include "base/strings/string16.h" | 18 #include "base/strings/string16.h" |
| 20 #include "base/strings/string_util.h" | 19 #include "base/strings/string_util.h" |
| 21 #include "base/strings/utf_string_conversions.h" | 20 #include "base/strings/utf_string_conversions.h" |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 83 kTrayPopupPaddingHorizontal - kTrayPopupPaddingBetweenItems; | 82 kTrayPopupPaddingHorizontal - kTrayPopupPaddingBetweenItems; |
| 84 const bool rtl = base::i18n::IsRTL(); | 83 const bool rtl = base::i18n::IsRTL(); |
| 85 SetBorder(views::Border::CreateEmptyBorder(kUserDetailsVerticalPadding, | 84 SetBorder(views::Border::CreateEmptyBorder(kUserDetailsVerticalPadding, |
| 86 rtl ? 0 : inner_padding, | 85 rtl ? 0 : inner_padding, |
| 87 kUserDetailsVerticalPadding, | 86 kUserDetailsVerticalPadding, |
| 88 rtl ? inner_padding : 0)); | 87 rtl ? inner_padding : 0)); |
| 89 | 88 |
| 90 // Retrieve the user's display name and wrap it with markers. | 89 // Retrieve the user's display name and wrap it with markers. |
| 91 // Note that since this is a public account it always has to be the primary | 90 // Note that since this is a public account it always has to be the primary |
| 92 // user. | 91 // user. |
| 93 base::string16 display_name = Shell::GetInstance() | 92 base::string16 display_name = |
| 94 ->session_state_delegate() | 93 Shell::GetInstance()->session_state_delegate()->GetUserDisplayName(0); |
| 95 ->GetUserInfo(0) | |
| 96 ->GetDisplayName(); | |
| 97 base::RemoveChars(display_name, kDisplayNameMark, &display_name); | 94 base::RemoveChars(display_name, kDisplayNameMark, &display_name); |
| 98 display_name = kDisplayNameMark[0] + display_name + kDisplayNameMark[0]; | 95 display_name = kDisplayNameMark[0] + display_name + kDisplayNameMark[0]; |
| 99 // Retrieve the domain managing the device and wrap it with markers. | 96 // Retrieve the domain managing the device and wrap it with markers. |
| 100 base::string16 domain = base::UTF8ToUTF16( | 97 base::string16 domain = base::UTF8ToUTF16( |
| 101 Shell::GetInstance()->system_tray_delegate()->GetEnterpriseDomain()); | 98 Shell::GetInstance()->system_tray_delegate()->GetEnterpriseDomain()); |
| 102 base::RemoveChars(domain, kDisplayNameMark, &domain); | 99 base::RemoveChars(domain, kDisplayNameMark, &domain); |
| 103 base::i18n::WrapStringWithLTRFormatting(&domain); | 100 base::i18n::WrapStringWithLTRFormatting(&domain); |
| 104 // Retrieve the label text, inserting the display name and domain. | 101 // Retrieve the label text, inserting the display name and domain. |
| 105 text_ = l10n_util::GetStringFUTF16( | 102 text_ = l10n_util::GetStringFUTF16( |
| 106 IDS_ASH_STATUS_TRAY_PUBLIC_LABEL, display_name, domain); | 103 IDS_ASH_STATUS_TRAY_PUBLIC_LABEL, display_name, domain); |
| (...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 301 int multiprofile_index) { | 298 int multiprofile_index) { |
| 302 views::View* icon = CreateIcon(login_status, multiprofile_index); | 299 views::View* icon = CreateIcon(login_status, multiprofile_index); |
| 303 AddChildView(icon); | 300 AddChildView(icon); |
| 304 views::Label* username = NULL; | 301 views::Label* username = NULL; |
| 305 SessionStateDelegate* delegate = | 302 SessionStateDelegate* delegate = |
| 306 Shell::GetInstance()->session_state_delegate(); | 303 Shell::GetInstance()->session_state_delegate(); |
| 307 if (!multiprofile_index) { | 304 if (!multiprofile_index) { |
| 308 base::string16 user_name_string = | 305 base::string16 user_name_string = |
| 309 login_status == user::LOGGED_IN_GUEST | 306 login_status == user::LOGGED_IN_GUEST |
| 310 ? l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_GUEST_LABEL) | 307 ? l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_GUEST_LABEL) |
| 311 : delegate->GetUserInfo(multiprofile_index)->GetDisplayName(); | 308 : delegate->GetUserDisplayName(multiprofile_index); |
| 312 if (user_name_string.empty() && IsMultiAccountSupportedAndUserActive()) | 309 if (user_name_string.empty() && IsMultiAccountSupportedAndUserActive()) |
| 313 user_name_string = base::ASCIIToUTF16( | 310 user_name_string = |
| 314 delegate->GetUserInfo(multiprofile_index)->GetEmail()); | 311 base::ASCIIToUTF16(delegate->GetUserEmail(multiprofile_index)); |
| 315 if (!user_name_string.empty()) { | 312 if (!user_name_string.empty()) { |
| 316 username = new views::Label(user_name_string); | 313 username = new views::Label(user_name_string); |
| 317 username->SetHorizontalAlignment(gfx::ALIGN_LEFT); | 314 username->SetHorizontalAlignment(gfx::ALIGN_LEFT); |
| 318 } | 315 } |
| 319 } | 316 } |
| 320 | 317 |
| 321 views::Label* additional = NULL; | 318 views::Label* additional = NULL; |
| 322 if (login_status != user::LOGGED_IN_GUEST && | 319 if (login_status != user::LOGGED_IN_GUEST && |
| 323 (multiprofile_index || !IsMultiAccountSupportedAndUserActive())) { | 320 (multiprofile_index || !IsMultiAccountSupportedAndUserActive())) { |
| 324 base::string16 user_email_string = | 321 base::string16 user_email_string = |
| 325 login_status == user::LOGGED_IN_LOCALLY_MANAGED | 322 login_status == user::LOGGED_IN_LOCALLY_MANAGED |
| 326 ? l10n_util::GetStringUTF16( | 323 ? l10n_util::GetStringUTF16( |
| 327 IDS_ASH_STATUS_TRAY_LOCALLY_MANAGED_LABEL) | 324 IDS_ASH_STATUS_TRAY_LOCALLY_MANAGED_LABEL) |
| 328 : base::UTF8ToUTF16( | 325 : base::UTF8ToUTF16(delegate->GetUserEmail(multiprofile_index)); |
| 329 delegate->GetUserInfo(multiprofile_index)->GetEmail()); | |
| 330 if (!user_email_string.empty()) { | 326 if (!user_email_string.empty()) { |
| 331 additional = new views::Label(user_email_string); | 327 additional = new views::Label(user_email_string); |
| 332 additional->SetFontList( | 328 additional->SetFontList( |
| 333 ui::ResourceBundle::GetSharedInstance().GetFontList( | 329 ui::ResourceBundle::GetSharedInstance().GetFontList( |
| 334 ui::ResourceBundle::SmallFont)); | 330 ui::ResourceBundle::SmallFont)); |
| 335 additional->SetHorizontalAlignment(gfx::ALIGN_LEFT); | 331 additional->SetHorizontalAlignment(gfx::ALIGN_LEFT); |
| 336 } | 332 } |
| 337 } | 333 } |
| 338 | 334 |
| 339 // Adjust text properties dependent on if it is an active or inactive user. | 335 // Adjust text properties dependent on if it is an active or inactive user. |
| (...skipping 29 matching lines...) Expand all Loading... |
| 369 if (login_status == user::LOGGED_IN_GUEST) { | 365 if (login_status == user::LOGGED_IN_GUEST) { |
| 370 icon->SetImage(*ui::ResourceBundle::GetSharedInstance() | 366 icon->SetImage(*ui::ResourceBundle::GetSharedInstance() |
| 371 .GetImageNamed(IDR_AURA_UBER_TRAY_GUEST_ICON) | 367 .GetImageNamed(IDR_AURA_UBER_TRAY_GUEST_ICON) |
| 372 .ToImageSkia(), | 368 .ToImageSkia(), |
| 373 gfx::Size(kTrayAvatarSize, kTrayAvatarSize)); | 369 gfx::Size(kTrayAvatarSize, kTrayAvatarSize)); |
| 374 } else { | 370 } else { |
| 375 SessionStateDelegate* delegate = | 371 SessionStateDelegate* delegate = |
| 376 Shell::GetInstance()->session_state_delegate(); | 372 Shell::GetInstance()->session_state_delegate(); |
| 377 content::BrowserContext* context = | 373 content::BrowserContext* context = |
| 378 delegate->GetBrowserContextByIndex(multiprofile_index); | 374 delegate->GetBrowserContextByIndex(multiprofile_index); |
| 379 icon->SetImage(delegate->GetUserInfo(context)->GetImage(), | 375 icon->SetImage(delegate->GetUserImage(context), |
| 380 gfx::Size(kTrayAvatarSize, kTrayAvatarSize)); | 376 gfx::Size(kTrayAvatarSize, kTrayAvatarSize)); |
| 381 } | 377 } |
| 382 return icon; | 378 return icon; |
| 383 } | 379 } |
| 384 | 380 |
| 385 } // namespace tray | 381 } // namespace tray |
| 386 } // namespace ash | 382 } // namespace ash |
| OLD | NEW |