| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/chromeos/login/user.h" | 5 #include "chrome/browser/chromeos/login/user.h" |
| 6 | 6 |
| 7 #include "base/stringprintf.h" | 7 #include "base/stringprintf.h" |
| 8 #include "chrome/browser/chromeos/login/default_user_images.h" | 8 #include "chrome/browser/chromeos/login/default_user_images.h" |
| 9 #include "chrome/browser/chromeos/login/user_manager.h" | 9 #include "chrome/browser/chromeos/login/user_manager.h" |
| 10 #include "ui/base/resource/resource_bundle.h" | 10 #include "ui/base/resource/resource_bundle.h" |
| 11 | 11 |
| 12 namespace chromeos { | 12 namespace chromeos { |
| 13 | 13 |
| 14 User::User(const std::string& email) | 14 User::User(const std::string& email) |
| 15 : email_(email), | 15 : email_(email), |
| 16 display_email_(email), |
| 16 oauth_token_status_(OAUTH_TOKEN_STATUS_UNKNOWN), | 17 oauth_token_status_(OAUTH_TOKEN_STATUS_UNKNOWN), |
| 17 image_index_(kInvalidImageIndex) { | 18 image_index_(kInvalidImageIndex) { |
| 18 image_ = *ResourceBundle::GetSharedInstance().GetBitmapNamed( | 19 image_ = *ResourceBundle::GetSharedInstance().GetBitmapNamed( |
| 19 kDefaultImageResources[0]); | 20 kDefaultImageResources[0]); |
| 20 } | 21 } |
| 21 | 22 |
| 22 User::~User() {} | 23 User::~User() {} |
| 23 | 24 |
| 24 void User::SetImage(const SkBitmap& image, int image_index) { | 25 void User::SetImage(const SkBitmap& image, int image_index) { |
| 25 image_ = image; | 26 image_ = image; |
| 26 image_index_ = image_index; | 27 image_index_ = image_index; |
| 27 } | 28 } |
| 28 | 29 |
| 29 std::string User::GetDisplayName() const { | 30 std::string User::GetDisplayName() const { |
| 30 size_t i = email_.find('@'); | 31 size_t i = display_email_.find('@'); |
| 31 if (i == 0 || i == std::string::npos) { | 32 if (i == 0 || i == std::string::npos) { |
| 32 return email_; | 33 return display_email_; |
| 33 } | 34 } |
| 34 return email_.substr(0, i); | 35 return display_email_.substr(0, i); |
| 35 } | 36 } |
| 36 | 37 |
| 37 bool User::NeedsNameTooltip() const { | 38 bool User::NeedsNameTooltip() const { |
| 38 return UserManager::Get()->IsDisplayNameUnique(GetDisplayName()); | 39 return !UserManager::Get()->IsDisplayNameUnique(GetDisplayName()); |
| 39 } | 40 } |
| 40 | 41 |
| 41 std::string User::GetNameTooltip() const { | 42 std::string User::GetNameTooltip() const { |
| 42 const std::string& user_email = email(); | 43 const std::string& user_email = display_email_; |
| 43 size_t at_pos = user_email.rfind('@'); | 44 size_t at_pos = user_email.rfind('@'); |
| 44 if (at_pos == std::string::npos) { | 45 if (at_pos == std::string::npos) { |
| 45 NOTREACHED(); | 46 NOTREACHED(); |
| 46 return std::string(); | 47 return std::string(); |
| 47 } | 48 } |
| 48 size_t domain_start = at_pos + 1; | 49 size_t domain_start = at_pos + 1; |
| 49 std::string domain = user_email.substr(domain_start, | 50 std::string domain = user_email.substr(domain_start, |
| 50 user_email.length() - domain_start); | 51 user_email.length() - domain_start); |
| 51 return base::StringPrintf("%s (%s)", | 52 return base::StringPrintf("%s (%s)", |
| 52 GetDisplayName().c_str(), | 53 GetDisplayName().c_str(), |
| 53 domain.c_str()); | 54 domain.c_str()); |
| 54 } | 55 } |
| 55 | 56 |
| 56 } // namespace chromeos | 57 } // namespace chromeos |
| OLD | NEW |