diff options
Diffstat (limited to 'ash/system/tray')
-rw-r--r-- | ash/system/tray/system_tray.cc | 81 | ||||
-rw-r--r-- | ash/system/tray/system_tray.h | 13 | ||||
-rw-r--r-- | ash/system/tray/system_tray_widget_delegate.cc | 69 | ||||
-rw-r--r-- | ash/system/tray/system_tray_widget_delegate.h | 49 |
4 files changed, 2 insertions, 210 deletions
diff --git a/ash/system/tray/system_tray.cc b/ash/system/tray/system_tray.cc index 6fa88820..5870e55 100644 --- a/ash/system/tray/system_tray.cc +++ b/ash/system/tray/system_tray.cc @@ -7,25 +7,9 @@ #include "ash/shell.h" #include "ash/shell/panel_window.h" #include "ash/shell_window_ids.h" -#include "ash/system/audio/tray_volume.h" -#include "ash/system/bluetooth/tray_bluetooth.h" -#include "ash/system/brightness/tray_brightness.h" -#include "ash/system/date/tray_date.h" -#include "ash/system/ime/tray_ime.h" -#include "ash/system/network/tray_network.h" -#include "ash/system/power/power_status_observer.h" -#include "ash/system/power/power_supply_status.h" -#include "ash/system/power/tray_power.h" -#include "ash/system/settings/tray_settings.h" -#include "ash/system/tray/tray_empty.h" #include "ash/system/tray/tray_constants.h" #include "ash/system/tray/system_tray_delegate.h" #include "ash/system/tray/system_tray_item.h" -#include "ash/system/tray/system_tray_widget_delegate.h" -#include "ash/system/tray_accessibility.h" -#include "ash/system/tray_caps_lock.h" -#include "ash/system/tray_update.h" -#include "ash/system/user/tray_user.h" #include "ash/system/user/login_status.h" #include "ash/wm/shadow_types.h" #include "ash/wm/shelf_layout_manager.h" @@ -422,7 +406,6 @@ SystemTray::SystemTray() power_status_observer_(NULL), update_observer_(NULL), user_observer_(NULL), - widget_(NULL), bubble_(NULL), popup_(NULL), background_(new internal::SystemTrayBackground), @@ -459,70 +442,6 @@ SystemTray::~SystemTray() { popup_->CloseNow(); } -void SystemTray::CreateItems() { - internal::TrayVolume* tray_volume = new internal::TrayVolume(); - internal::TrayBluetooth* tray_bluetooth = new internal::TrayBluetooth(); - internal::TrayBrightness* tray_brightness = new internal::TrayBrightness(); - internal::TrayDate* tray_date = new internal::TrayDate(); - internal::TrayPower* tray_power = new internal::TrayPower(); - internal::TrayNetwork* tray_network = new internal::TrayNetwork; - internal::TrayUser* tray_user = new internal::TrayUser; - internal::TrayAccessibility* tray_accessibility = - new internal::TrayAccessibility; - internal::TrayCapsLock* tray_caps_lock = new internal::TrayCapsLock; - internal::TrayIME* tray_ime = new internal::TrayIME; - internal::TrayUpdate* tray_update = new internal::TrayUpdate; - - accessibility_observer_ = tray_accessibility; - audio_observer_ = tray_volume; - bluetooth_observer_ = tray_bluetooth; - brightness_observer_ = tray_brightness; - caps_lock_observer_ = tray_caps_lock; - clock_observer_ = tray_date; - ime_observer_ = tray_ime; - network_observer_ = tray_network; - power_status_observer_ = tray_power; - update_observer_ = tray_update; - user_observer_ = tray_user; - - AddTrayItem(tray_user); - AddTrayItem(new internal::TrayEmpty()); - AddTrayItem(tray_power); - AddTrayItem(tray_network); - AddTrayItem(tray_bluetooth); - AddTrayItem(tray_ime); - AddTrayItem(tray_volume); - AddTrayItem(tray_brightness); - AddTrayItem(tray_update); - AddTrayItem(new internal::TraySettings()); - AddTrayItem(tray_accessibility); - AddTrayItem(tray_caps_lock); - AddTrayItem(tray_date); - SetVisible(ash::Shell::GetInstance()->tray_delegate()-> - GetTrayVisibilityOnStartup()); -} - -void SystemTray::CreateWidget() { - if (widget_) - widget_->Close(); - widget_ = new views::Widget; - internal::StatusAreaView* status_area_view = new internal::StatusAreaView; - views::Widget::InitParams params( - views::Widget::InitParams::TYPE_WINDOW_FRAMELESS); - gfx::Size ps = GetPreferredSize(); - params.bounds = gfx::Rect(0, 0, ps.width(), ps.height()); - params.delegate = status_area_view; - params.parent = Shell::GetInstance()->GetContainer( - ash::internal::kShellWindowId_StatusContainer); - params.transparent = true; - widget_->Init(params); - widget_->set_focus_on_creation(false); - status_area_view->AddChildView(this); - widget_->SetContentsView(status_area_view); - widget_->Show(); - widget_->GetNativeView()->SetName("StatusTrayWidget"); -} - void SystemTray::AddTrayItem(SystemTrayItem* item) { items_.push_back(item); diff --git a/ash/system/tray/system_tray.h b/ash/system/tray/system_tray.h index b9dbab2..58049ec 100644 --- a/ash/system/tray/system_tray.h +++ b/ash/system/tray/system_tray.h @@ -49,12 +49,6 @@ class ASH_EXPORT SystemTray : NON_EXPORTED_BASE( SystemTray(); virtual ~SystemTray(); - // Creates the default set of items for the sytem tray. - void CreateItems(); - - // Creates the widget for the tray. - void CreateWidget(); - // Adds a new item in the tray. void AddTrayItem(SystemTrayItem* item); @@ -88,8 +82,6 @@ class ASH_EXPORT SystemTray : NON_EXPORTED_BASE( // Returns true if the launcher should show. bool should_show_launcher() const { return popup_ && should_show_launcher_; } - views::Widget* widget() const { return widget_; } - AccessibilityObserver* accessibility_observer() const { return accessibility_observer_; } @@ -125,6 +117,8 @@ class ASH_EXPORT SystemTray : NON_EXPORTED_BASE( } private: + friend class Shell; + void ShowItems(std::vector<SystemTrayItem*>& items, bool details, bool activate); @@ -170,9 +164,6 @@ class ASH_EXPORT SystemTray : NON_EXPORTED_BASE( UpdateObserver* update_observer_; UserObserver* user_observer_; - // The widget hosting the tray. - views::Widget* widget_; - // The popup widget and the delegate. internal::SystemTrayBubble* bubble_; views::Widget* popup_; diff --git a/ash/system/tray/system_tray_widget_delegate.cc b/ash/system/tray/system_tray_widget_delegate.cc deleted file mode 100644 index acc937a..0000000 --- a/ash/system/tray/system_tray_widget_delegate.cc +++ /dev/null @@ -1,69 +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/system_tray_widget_delegate.h" - -#include "ash/ash_export.h" -#include "ash/focus_cycler.h" -#include "ash/shell.h" -#include "ash/shell_window_ids.h" -#include "base/utf_string_conversions.h" -#include "grit/ui_resources.h" -#include "ui/aura/root_window.h" -#include "ui/base/resource/resource_bundle.h" -#include "ui/gfx/canvas.h" -#include "ui/gfx/image/image.h" -#include "ui/views/accessible_pane_view.h" -#include "ui/views/layout/fill_layout.h" -#include "ui/views/widget/widget.h" - -namespace ash { -namespace internal { - -StatusAreaView::StatusAreaView() - : focus_cycler_for_testing_(NULL) { - SetLayoutManager(new views::FillLayout); -} - -StatusAreaView::~StatusAreaView() { -} - -void StatusAreaView::SetFocusCyclerForTesting(const FocusCycler* focus_cycler) { - focus_cycler_for_testing_ = focus_cycler; -} - -views::View* StatusAreaView::GetDefaultFocusableChild() { - return child_at(0); -} - -bool StatusAreaView::AcceleratorPressed(const ui::Accelerator& accelerator) { - if (accelerator.key_code() == ui::VKEY_ESCAPE) { - RemovePaneFocus(); - GetFocusManager()->ClearFocus(); - return true; - } - return false; -} - -views::Widget* StatusAreaView::GetWidget() { - return View::GetWidget(); -} - -const views::Widget* StatusAreaView::GetWidget() const { - return View::GetWidget(); -} - -bool StatusAreaView::CanActivate() const { - // We don't want mouse clicks to activate us, but we need to allow - // activation when the user is using the keyboard (FocusCycler). - const FocusCycler* focus_cycler = focus_cycler_for_testing_ ? - focus_cycler_for_testing_ : Shell::GetInstance()->focus_cycler(); - return focus_cycler->widget_activating() == GetWidget(); -} - -void StatusAreaView::DeleteDelegate() { -} - -} // namespace internal -} // namespace ash diff --git a/ash/system/tray/system_tray_widget_delegate.h b/ash/system/tray/system_tray_widget_delegate.h deleted file mode 100644 index 1834afd..0000000 --- a/ash/system/tray/system_tray_widget_delegate.h +++ /dev/null @@ -1,49 +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_SYSTEM_TRAY_WIDGET_DELEGATE_H_ -#define ASH_SYSTEM_TRAY_SYSTEM_TRAY_WIDGET_DELEGATE_H_ -#pragma once - -#include "ash/ash_export.h" -#include "third_party/skia/include/core/SkBitmap.h" -#include "ui/views/accessible_pane_view.h" -#include "ui/views/widget/widget_delegate.h" - -namespace ash { -namespace internal { - -class FocusCycler; - -class ASH_EXPORT StatusAreaView : public views::WidgetDelegate, - public views::AccessiblePaneView { - public: - StatusAreaView(); - virtual ~StatusAreaView(); - - // Sets the focus cycler. - void SetFocusCyclerForTesting(const FocusCycler* focus_cycler); - - // Overridden from views::AccessiblePaneView. - virtual View* GetDefaultFocusableChild() OVERRIDE; - - // Overridden from views::View: - virtual bool AcceleratorPressed(const ui::Accelerator& accelerator) OVERRIDE; - virtual views::Widget* GetWidget() OVERRIDE; - virtual const views::Widget* GetWidget() const OVERRIDE; - - // views::WidgetDelegate overrides: - virtual bool CanActivate() const OVERRIDE; - virtual void DeleteDelegate() OVERRIDE; - - private: - const FocusCycler* focus_cycler_for_testing_; - - DISALLOW_COPY_AND_ASSIGN(StatusAreaView); -}; - -} // namespace internal -} // namespace ash - -#endif // ASH_SYSTEM_TRAY_SYSTEM_TRAY_WIDGET_DELEGATE_H_ |