| Index: ash/common/system/chromeos/session/logout_button_tray.cc
|
| diff --git a/ash/common/system/chromeos/session/logout_button_tray.cc b/ash/common/system/chromeos/session/logout_button_tray.cc
|
| deleted file mode 100644
|
| index 06574c0caff13d61eaf7833739f67cf5d09fa207..0000000000000000000000000000000000000000
|
| --- a/ash/common/system/chromeos/session/logout_button_tray.cc
|
| +++ /dev/null
|
| @@ -1,132 +0,0 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "ash/common/system/chromeos/session/logout_button_tray.h"
|
| -
|
| -#include <memory>
|
| -#include <utility>
|
| -
|
| -#include "ash/common/shelf/wm_shelf_util.h"
|
| -#include "ash/common/system/chromeos/session/logout_confirmation_controller.h"
|
| -#include "ash/common/system/tray/system_tray_controller.h"
|
| -#include "ash/common/system/tray/system_tray_notifier.h"
|
| -#include "ash/common/system/tray/tray_constants.h"
|
| -#include "ash/common/system/tray/tray_utils.h"
|
| -#include "ash/common/system/user/login_status.h"
|
| -#include "ash/common/wm_shell.h"
|
| -#include "ash/public/cpp/shelf_types.h"
|
| -#include "ash/resources/grit/ash_resources.h"
|
| -#include "ash/resources/vector_icons/vector_icons.h"
|
| -#include "base/logging.h"
|
| -#include "third_party/skia/include/core/SkColor.h"
|
| -#include "ui/events/event.h"
|
| -#include "ui/gfx/color_palette.h"
|
| -#include "ui/gfx/geometry/insets.h"
|
| -#include "ui/gfx/geometry/size.h"
|
| -#include "ui/gfx/paint_vector_icon.h"
|
| -#include "ui/views/bubble/tray_bubble_view.h"
|
| -#include "ui/views/controls/button/label_button.h"
|
| -#include "ui/views/controls/button/label_button_border.h"
|
| -#include "ui/views/controls/button/md_text_button.h"
|
| -#include "ui/views/painter.h"
|
| -
|
| -namespace ash {
|
| -
|
| -LogoutButtonTray::LogoutButtonTray(WmShelf* wm_shelf)
|
| - : TrayBackgroundView(wm_shelf),
|
| - button_(nullptr),
|
| - login_status_(LoginStatus::NOT_LOGGED_IN),
|
| - show_logout_button_in_tray_(false) {
|
| - views::MdTextButton* button =
|
| - views::MdTextButton::Create(this, base::string16());
|
| - button->SetProminent(true);
|
| - button->SetBgColorOverride(gfx::kGoogleRed700);
|
| - // Base font size + 2 = 14.
|
| - // TODO(estade): should this 2 be shared with other tray views? See
|
| - // crbug.com/623987
|
| - button->AdjustFontSize(2);
|
| - button_ = button;
|
| -
|
| - // Since LogoutButtonTray has a red background and it is distinguished
|
| - // by itself, no separator is needed on its right side.
|
| - set_separator_visibility(false);
|
| - tray_container()->AddChildView(button_);
|
| - WmShell::Get()->system_tray_notifier()->AddLogoutButtonObserver(this);
|
| -}
|
| -
|
| -LogoutButtonTray::~LogoutButtonTray() {
|
| - WmShell::Get()->system_tray_notifier()->RemoveLogoutButtonObserver(this);
|
| -}
|
| -
|
| -void LogoutButtonTray::SetShelfAlignment(ShelfAlignment alignment) {
|
| - // We must first update the button so that
|
| - // TrayBackgroundView::SetShelfAlignment() can lay it out correctly.
|
| - UpdateButtonTextAndImage(login_status_, alignment);
|
| - TrayBackgroundView::SetShelfAlignment(alignment);
|
| -}
|
| -
|
| -base::string16 LogoutButtonTray::GetAccessibleNameForTray() {
|
| - return button_->GetText();
|
| -}
|
| -
|
| -void LogoutButtonTray::HideBubbleWithView(
|
| - const views::TrayBubbleView* bubble_view) {}
|
| -
|
| -void LogoutButtonTray::ClickedOutsideBubble() {}
|
| -
|
| -void LogoutButtonTray::ButtonPressed(views::Button* sender,
|
| - const ui::Event& event) {
|
| - if (sender != button_) {
|
| - TrayBackgroundView::ButtonPressed(sender, event);
|
| - return;
|
| - }
|
| -
|
| - if (dialog_duration_ <= base::TimeDelta()) {
|
| - // Sign out immediately if |dialog_duration_| is non-positive.
|
| - WmShell::Get()->system_tray_controller()->SignOut();
|
| - } else if (WmShell::Get()->logout_confirmation_controller()) {
|
| - WmShell::Get()->logout_confirmation_controller()->ConfirmLogout(
|
| - base::TimeTicks::Now() + dialog_duration_);
|
| - }
|
| -}
|
| -
|
| -void LogoutButtonTray::OnShowLogoutButtonInTrayChanged(bool show) {
|
| - show_logout_button_in_tray_ = show;
|
| - UpdateVisibility();
|
| -}
|
| -
|
| -void LogoutButtonTray::OnLogoutDialogDurationChanged(base::TimeDelta duration) {
|
| - dialog_duration_ = duration;
|
| -}
|
| -
|
| -void LogoutButtonTray::UpdateAfterLoginStatusChange(LoginStatus login_status) {
|
| - UpdateButtonTextAndImage(login_status, shelf_alignment());
|
| -}
|
| -
|
| -void LogoutButtonTray::UpdateVisibility() {
|
| - SetVisible(show_logout_button_in_tray_ &&
|
| - login_status_ != LoginStatus::NOT_LOGGED_IN &&
|
| - login_status_ != LoginStatus::LOCKED);
|
| -}
|
| -
|
| -void LogoutButtonTray::UpdateButtonTextAndImage(LoginStatus login_status,
|
| - ShelfAlignment alignment) {
|
| - login_status_ = login_status;
|
| - const base::string16 title =
|
| - user::GetLocalizedSignOutStringForStatus(login_status, false);
|
| - if (IsHorizontalAlignment(alignment)) {
|
| - button_->SetText(title);
|
| - button_->SetImage(views::LabelButton::STATE_NORMAL, gfx::ImageSkia());
|
| - button_->SetMinSize(gfx::Size(0, kTrayItemSize));
|
| - } else {
|
| - button_->SetText(base::string16());
|
| - button_->SetAccessibleName(title);
|
| - button_->SetImage(views::LabelButton::STATE_NORMAL,
|
| - gfx::CreateVectorIcon(kShelfLogoutIcon, kTrayIconColor));
|
| - button_->SetMinSize(gfx::Size(kTrayItemSize, kTrayItemSize));
|
| - }
|
| - UpdateVisibility();
|
| -}
|
| -
|
| -} // namespace ash
|
|
|