summaryrefslogtreecommitdiffstats
path: root/ash/system/tray
diff options
context:
space:
mode:
Diffstat (limited to 'ash/system/tray')
-rw-r--r--ash/system/tray/system_tray.cc81
-rw-r--r--ash/system/tray/system_tray.h13
-rw-r--r--ash/system/tray/system_tray_widget_delegate.cc69
-rw-r--r--ash/system/tray/system_tray_widget_delegate.h49
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_