diff options
author | mattm@chromium.org <mattm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-01 03:28:41 +0000 |
---|---|---|
committer | mattm@chromium.org <mattm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-01 03:28:41 +0000 |
commit | a907ba1a5cc0f21c9f63fe077a082c99d29fe0c8 (patch) | |
tree | bb8d09b32306d7989786f39b6ef5ab3a3f937829 /ash | |
parent | 384cc65f6ec85da77acf1c0c3f657e0f5f03cd5c (diff) | |
download | chromium_src-a907ba1a5cc0f21c9f63fe077a082c99d29fe0c8.zip chromium_src-a907ba1a5cc0f21c9f63fe077a082c99d29fe0c8.tar.gz chromium_src-a907ba1a5cc0f21c9f63fe077a082c99d29fe0c8.tar.bz2 |
Revert 124349 - ash uber tray: Add a tray item for the user.
The item includes the logged in users name/email, and buttons to
shut-down/signout/lock.
BUG=110130
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9561003
TBR=sadrul@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9545016
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124350 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash')
-rw-r--r-- | ash/ash.gyp | 2 | ||||
-rw-r--r-- | ash/shell.cc | 30 | ||||
-rw-r--r-- | ash/system/tray/system_tray.cc | 2 | ||||
-rw-r--r-- | ash/system/tray/system_tray_delegate.h | 16 | ||||
-rw-r--r-- | ash/system/tray_user.cc | 168 | ||||
-rw-r--r-- | ash/system/tray_user.h | 34 |
6 files changed, 6 insertions, 246 deletions
diff --git a/ash/ash.gyp b/ash/ash.gyp index 363e833..d657c0e 100644 --- a/ash/ash.gyp +++ b/ash/ash.gyp @@ -123,8 +123,6 @@ 'system/tray/system_tray_delegate.h', 'system/tray/system_tray_item.cc', 'system/tray/system_tray_item.h', - 'system/tray_user.cc', - 'system/tray_user.h', 'tooltips/tooltip_controller.cc', 'tooltips/tooltip_controller.h', 'volume_control_delegate.h', diff --git a/ash/shell.cc b/ash/shell.cc index 4e1612c..d241fba 100644 --- a/ash/shell.cc +++ b/ash/shell.cc @@ -20,7 +20,6 @@ #include "ash/system/settings/tray_settings.h" #include "ash/system/tray/system_tray_delegate.h" #include "ash/system/tray/system_tray.h" -#include "ash/system/tray_user.h" #include "ash/tooltips/tooltip_controller.h" #include "ash/wm/activation_controller.h" #include "ash/wm/base_layout_manager.h" @@ -51,7 +50,6 @@ #include "ash/wm/workspace/workspace_manager.h" #include "base/bind.h" #include "base/command_line.h" -#include "third_party/skia/include/core/SkBitmap.h" #include "ui/aura/client/aura_constants.h" #include "ui/aura/layout_manager.h" #include "ui/aura/root_window.h" @@ -191,18 +189,6 @@ class DummySystemTrayDelegate : public SystemTrayDelegate { private: // SystemTrayDelegate implementation. - virtual const std::string GetUserName() OVERRIDE { - return "chronos"; - } - - virtual const std::string GetUserEmail() OVERRIDE { - return "chr@nos"; - } - - virtual const SkBitmap& GetUserImage() OVERRIDE { - return null_image_; - } - virtual void ShowSettings() OVERRIDE { } @@ -225,13 +211,8 @@ class DummySystemTrayDelegate : public SystemTrayDelegate { volume_ = volume; } - virtual void ShutDown() OVERRIDE {} - virtual void SignOut() OVERRIDE {} - virtual void LockScreen() OVERRIDE {} - bool muted_; float volume_; - SkBitmap null_image_; DISALLOW_COPY_AND_ASSIGN(DummySystemTrayDelegate); }; @@ -415,20 +396,19 @@ void Shell::Init() { tray_.reset(new SystemTray()); status_widget_->GetContentsView()->AddChildView(tray_.get()); - if (delegate_.get()) - tray_delegate_.reset(delegate_->CreateSystemTrayDelegate(tray_.get())); - if (!tray_delegate_.get()) - tray_delegate_.reset(new DummySystemTrayDelegate()); - internal::TrayVolume* tray_volume = new internal::TrayVolume(); internal::TrayBrightness* tray_brightness = new internal::TrayBrightness(); audio_controller_ = tray_volume; brightness_controller_ = tray_brightness; - tray_->AddTrayItem(new internal::TrayUser()); tray_->AddTrayItem(tray_volume); tray_->AddTrayItem(tray_brightness); tray_->AddTrayItem(new internal::TraySettings()); + + if (delegate_.get()) + tray_delegate_.reset(delegate_->CreateSystemTrayDelegate(tray_.get())); + if (!tray_delegate_.get()) + tray_delegate_.reset(new DummySystemTrayDelegate()); } aura::Window* default_container = diff --git a/ash/system/tray/system_tray.cc b/ash/system/tray/system_tray.cc index cbb9128..1f7104a 100644 --- a/ash/system/tray/system_tray.cc +++ b/ash/system/tray/system_tray.cc @@ -93,7 +93,7 @@ void SystemTray::AddTrayItem(SystemTrayItem* item) { views::View* tray_item = item->CreateTrayView(); if (tray_item) { - AddChildViewAt(tray_item, 0); + AddChildView(tray_item); PreferredSizeChanged(); } } diff --git a/ash/system/tray/system_tray_delegate.h b/ash/system/tray/system_tray_delegate.h index a138de4..1dd44bb 100644 --- a/ash/system/tray/system_tray_delegate.h +++ b/ash/system/tray/system_tray_delegate.h @@ -6,19 +6,12 @@ #define ASH_SYSTEM_TRAY_SYSTEM_TRAY_DELEGATE_H_ #pragma once -class SkBitmap; - namespace ash { class SystemTrayDelegate { public: virtual ~SystemTrayDelegate() {} - // Gets information about the logged in user. - virtual const std::string GetUserName() = 0; - virtual const std::string GetUserEmail() = 0; - virtual const SkBitmap& GetUserImage() = 0; - // Shows settings. virtual void ShowSettings() = 0; @@ -36,15 +29,6 @@ class SystemTrayDelegate { // Sets the volume level. virtual void SetVolumeLevel(float level) = 0; - - // Attempts to shut down the system. - virtual void ShutDown() = 0; - - // Attempts to sign out the user. - virtual void SignOut() = 0; - - // Attempts to lock the screen. - virtual void LockScreen() = 0; }; } // namespace ash diff --git a/ash/system/tray_user.cc b/ash/system/tray_user.cc deleted file mode 100644 index d38be75..0000000 --- a/ash/system/tray_user.cc +++ /dev/null @@ -1,168 +0,0 @@ -// Copyright (c) 2012 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/system/tray_user.h" - -#include "ash/shell.h" -#include "ash/system/tray/system_tray_delegate.h" -#include "base/utf_string_conversions.h" -#include "grit/ui_resources.h" -#include "ui/base/resource/resource_bundle.h" -#include "ui/gfx/size.h" -#include "ui/views/controls/button/button.h" -#include "ui/views/controls/button/text_button.h" -#include "ui/views/controls/image_view.h" -#include "ui/views/controls/label.h" -#include "ui/views/layout/box_layout.h" -#include "ui/views/view.h" - -namespace { - -// A custom textbutton with some extra vertical padding, and custom border, -// alignment and hover-effects. -class TrayButton : public views::TextButton { - public: - TrayButton(views::ButtonListener* listener, std::string text) - : views::TextButton(listener, ASCIIToUTF16(text)), - hover_(false), - hover_bg_(views::Background::CreateSolidBackground(SkColorSetARGB( - 10, 0, 0, 0))) { - set_alignment(ALIGN_CENTER); - } - - private: - // Overridden from views::View. - virtual gfx::Size GetPreferredSize() OVERRIDE { - gfx::Size size = views::TextButton::GetPreferredSize(); - size.Enlarge(0, 16); - return size; - } - - virtual void OnMouseEntered(const views::MouseEvent& event) OVERRIDE { - hover_ = true; - SchedulePaint(); - } - - virtual void OnMouseExited(const views::MouseEvent& event) OVERRIDE { - hover_ = false; - SchedulePaint(); - } - - virtual void OnPaintBackground(gfx::Canvas* canvas) OVERRIDE { - if (hover_) - hover_bg_->Paint(canvas, this); - else - views::TextButton::OnPaintBackground(canvas); - } - - bool hover_; - views::Background* hover_bg_; - - DISALLOW_COPY_AND_ASSIGN(TrayButton); -}; - -class UserView : public views::View, - public views::ButtonListener { - public: - UserView() { - SetLayoutManager(new views::BoxLayout(views::BoxLayout::kVertical, - 0, 0, 3)); - - views::View* user = new views::View; - user->SetLayoutManager(new views::BoxLayout(views::BoxLayout::kVertical, - 14, 5, 0)); - ash::SystemTrayDelegate* tray = ash::Shell::GetInstance()->tray_delegate(); - username_ = new views::Label(ASCIIToUTF16(tray->GetUserName())); - username_->SetFont(username_->font().DeriveFont(2)); - username_->SetHorizontalAlignment(views::Label::ALIGN_LEFT); - user->AddChildView(username_); - - email_ = new views::Label(ASCIIToUTF16(tray->GetUserEmail())); - email_->SetHorizontalAlignment(views::Label::ALIGN_LEFT); - email_->SetEnabled(false); - user->AddChildView(email_); - - AddChildView(user); - - views::View* button_container = new views::View; - views::BoxLayout *layout = new - views::BoxLayout(views::BoxLayout::kHorizontal, 0, 5, 0); - layout->set_spread_blank_space(true); - button_container->SetLayoutManager(layout); - - shutdown_ = new TrayButton(this, std::string("Shut down")); - signout_ = new TrayButton(this, std::string("Sign out")); - lock_ = new TrayButton(this, std::string("Lock")); - button_container->AddChildView(shutdown_); - button_container->AddChildView(signout_); - button_container->AddChildView(lock_); - - shutdown_->set_border(NULL); - signout_->set_border(views::Border::CreateSolidSidedBorder( - 0, 1, 0, 1, SkColorSetARGB(25, 0, 0, 0))); - lock_->set_border(NULL); - - AddChildView(button_container); - } - - private: - // Overridden from views::ButtonListener. - virtual void ButtonPressed(views::Button* sender, - const views::Event& event) OVERRIDE { - ash::SystemTrayDelegate* tray = ash::Shell::GetInstance()->tray_delegate(); - if (sender == shutdown_) - tray->ShutDown(); - else if (sender == signout_) - tray->SignOut(); - else if (sender == lock_) - tray->LockScreen(); - } - - views::Label* username_; - views::Label* email_; - - TrayButton* shutdown_; - TrayButton* signout_; - TrayButton* lock_; - - DISALLOW_COPY_AND_ASSIGN(UserView); -}; - -} // namespace - -namespace ash { -namespace internal { - -TrayUser::TrayUser() { -} - -TrayUser::~TrayUser() { -} - -views::View* TrayUser::CreateTrayView() { - views::ImageView* avatar = new views::ImageView; - avatar->SetImage(ash::Shell::GetInstance()->tray_delegate()->GetUserImage()); - avatar->SetImageSize(gfx::Size(32, 32)); - return avatar; -} - -views::View* TrayUser::CreateDefaultView() { - return new UserView; -} - -views::View* TrayUser::CreateDetailedView() { - return NULL; -} - -void TrayUser::DestroyTrayView() { -} - -void TrayUser::DestroyDefaultView() { -} - -void TrayUser::DestroyDetailedView() { -} - -} // namespace internal -} // namespace ash diff --git a/ash/system/tray_user.h b/ash/system/tray_user.h deleted file mode 100644 index 2baede7..0000000 --- a/ash/system/tray_user.h +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) 2012 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. - -#ifndef ASH_SYSTEM_TRAY_USER_H_ -#define ASH_SYSTEM_TRAY_USER_H_ -#pragma once - -#include "ash/system/tray/system_tray_item.h" - -namespace ash { -namespace internal { - -class TrayUser : public SystemTrayItem { - public: - TrayUser(); - virtual ~TrayUser(); - - private: - // Overridden from SystemTrayItem - virtual views::View* CreateTrayView() OVERRIDE; - virtual views::View* CreateDefaultView() OVERRIDE; - virtual views::View* CreateDetailedView() OVERRIDE; - virtual void DestroyTrayView() OVERRIDE; - virtual void DestroyDefaultView() OVERRIDE; - virtual void DestroyDetailedView() OVERRIDE; - - DISALLOW_COPY_AND_ASSIGN(TrayUser); -}; - -} // namespace internal -} // namespace ash - -#endif // ASH_SYSTEM_TRAY_USER_H_ |