Chromium Code Reviews| 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_view.h" | 5 #include "ash/system/user/user_view.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "ash/multi_profile_uma.h" | 9 #include "ash/multi_profile_uma.h" |
| 10 #include "ash/popup_message.h" | 10 #include "ash/popup_message.h" |
| (...skipping 481 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 492 add_menu_option_->Show(); | 492 add_menu_option_->Show(); |
| 493 | 493 |
| 494 AddUserView* add_user_view = | 494 AddUserView* add_user_view = |
| 495 new AddUserView(static_cast<ButtonFromView*>(user_card_view_)); | 495 new AddUserView(static_cast<ButtonFromView*>(user_card_view_)); |
| 496 | 496 |
| 497 const SessionStateDelegate* delegate = | 497 const SessionStateDelegate* delegate = |
| 498 Shell::GetInstance()->session_state_delegate(); | 498 Shell::GetInstance()->session_state_delegate(); |
| 499 | 499 |
| 500 bool multi_profile_allowed = | 500 bool multi_profile_allowed = |
| 501 delegate->IsMultiProfileAllowedByPrimaryUserPolicy(); | 501 delegate->IsMultiProfileAllowedByPrimaryUserPolicy(); |
| 502 add_user_disabled_ = (delegate->NumberOfLoggedInUsers() >= | 502 int admitted_users_to_be_added = |
| 503 delegate->GetMaximumNumberOfLoggedInUsers()) || | 503 delegate->GetNumberOfAdmittedForMultiProfileUsers(); |
| 504 !multi_profile_allowed; | 504 add_user_disabled_ = !multi_profile_allowed || |
| 505 admitted_users_to_be_added <= 0 || | |
|
dzhioev (left Google)
2014/09/18 07:14:22
Checking for "<= 0" doesn't make sense to me. Can
Roman Sorokin (ftl)
2014/09/22 08:36:06
Done.
| |
| 506 (delegate->NumberOfLoggedInUsers() >= | |
| 507 delegate->GetMaximumNumberOfLoggedInUsers()); | |
| 505 | 508 |
| 506 ButtonFromView* button = new ButtonFromView( | 509 ButtonFromView* button = new ButtonFromView( |
| 507 add_user_view, | 510 add_user_view, |
| 508 add_user_disabled_ ? NULL : this, | 511 add_user_disabled_ ? NULL : this, |
| 509 !add_user_disabled_, | 512 !add_user_disabled_, |
| 510 gfx::Insets(1, 1, 1, 1)); | 513 gfx::Insets(1, 1, 1, 1)); |
| 511 button->set_request_focus_on_press(false); | 514 button->set_request_focus_on_press(false); |
| 512 button->SetAccessibleName( | 515 button->SetAccessibleName( |
| 513 l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_SIGN_IN_ANOTHER_ACCOUNT)); | 516 l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_SIGN_IN_ANOTHER_ACCOUNT)); |
| 514 button->ForceBorderVisible(true); | 517 button->ForceBorderVisible(true); |
| 515 add_menu_option_->SetContentsView(button); | 518 add_menu_option_->SetContentsView(button); |
| 516 | 519 |
| 517 if (add_user_disabled_) { | 520 if (add_user_disabled_) { |
| 518 ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance(); | 521 ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance(); |
| 519 int message_id; | 522 int message_id; |
| 520 if (!multi_profile_allowed) | 523 if (!multi_profile_allowed) |
| 521 message_id = IDS_ASH_STATUS_TRAY_MESSAGE_NOT_ALLOWED_PRIMARY_USER; | 524 message_id = IDS_ASH_STATUS_TRAY_MESSAGE_NOT_ALLOWED_PRIMARY_USER; |
| 525 else if (admitted_users_to_be_added <= 0) | |
| 526 message_id = IDS_ASH_STATUS_TRAY_MESSAGE_OUT_OF_USERS; | |
| 522 else | 527 else |
| 523 message_id = IDS_ASH_STATUS_TRAY_MESSAGE_CANNOT_ADD_USER; | 528 message_id = IDS_ASH_STATUS_TRAY_MESSAGE_CANNOT_ADD_USER; |
| 524 | 529 |
| 525 popup_message_.reset(new PopupMessage( | 530 popup_message_.reset(new PopupMessage( |
| 526 bundle.GetLocalizedString(IDS_ASH_STATUS_TRAY_CAPTION_CANNOT_ADD_USER), | 531 bundle.GetLocalizedString(IDS_ASH_STATUS_TRAY_CAPTION_CANNOT_ADD_USER), |
| 527 bundle.GetLocalizedString(message_id), | 532 bundle.GetLocalizedString(message_id), |
| 528 PopupMessage::ICON_WARNING, | 533 PopupMessage::ICON_WARNING, |
| 529 add_user_view->anchor(), | 534 add_user_view->anchor(), |
| 530 views::BubbleBorder::TOP_LEFT, | 535 views::BubbleBorder::TOP_LEFT, |
| 531 gfx::Size(parent()->bounds().width() - kPopupMessageOffset, 0), | 536 gfx::Size(parent()->bounds().width() - kPopupMessageOffset, 0), |
| (...skipping 26 matching lines...) Expand all Loading... | |
| 558 focus_manager_ = NULL; | 563 focus_manager_ = NULL; |
| 559 if (user_card_view_->GetFocusManager()) | 564 if (user_card_view_->GetFocusManager()) |
| 560 user_card_view_->GetFocusManager()->ClearFocus(); | 565 user_card_view_->GetFocusManager()->ClearFocus(); |
| 561 popup_message_.reset(); | 566 popup_message_.reset(); |
| 562 mouse_watcher_.reset(); | 567 mouse_watcher_.reset(); |
| 563 add_menu_option_.reset(); | 568 add_menu_option_.reset(); |
| 564 } | 569 } |
| 565 | 570 |
| 566 } // namespace tray | 571 } // namespace tray |
| 567 } // namespace ash | 572 } // namespace ash |
| OLD | NEW |