Index: ash/shell.cc |
diff --git a/ash/shell.cc b/ash/shell.cc |
index 4fbc9ef8f41cd8cb6659c327a7bd00583829442d..84c276d32526f24bd245a632220d8f586c81cc09 100644 |
--- a/ash/shell.cc |
+++ b/ash/shell.cc |
@@ -22,23 +22,10 @@ |
#include "ash/shell_delegate.h" |
#include "ash/shell_factory.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/bluetooth/bluetooth_observer.h" |
+#include "ash/system/network/network_observer.h" |
#include "ash/system/tray/system_tray.h" |
#include "ash/system/tray/system_tray_delegate.h" |
-#include "ash/system/tray/tray_empty.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/tooltips/tooltip_controller.h" |
#include "ash/wm/activation_controller.h" |
#include "ash/wm/base_layout_manager.h" |
@@ -530,8 +517,7 @@ Shell::Shell(ShellDelegate* delegate) |
delegate_(delegate), |
shelf_(NULL), |
panel_layout_manager_(NULL), |
- root_window_layout_(NULL), |
- status_widget_(NULL) { |
+ root_window_layout_(NULL) { |
gfx::Screen::SetInstance(screen_); |
ui_controls::InstallUIControlsAura(CreateUIControlsAura(root_window_.get())); |
} |
@@ -682,55 +668,13 @@ void Shell::Init() { |
CommandLine* command_line = CommandLine::ForCurrentProcess(); |
- // TODO(sad): All of these initialization should happen in SystemTray. |
tray_.reset(new SystemTray()); |
Ben Goodger (Google)
2012/04/24 14:57:49
food for thought (and a different CL)
ideally it'
sadrul
2012/04/24 15:36:55
Indeed. That would allow us to move DummySystemTra
|
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::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; |
- |
- tray_->accessibility_observer_ = tray_accessibility; |
- tray_->audio_observer_ = tray_volume; |
- tray_->bluetooth_observer_ = tray_bluetooth; |
- tray_->brightness_observer_ = tray_brightness; |
- tray_->caps_lock_observer_ = tray_caps_lock; |
- tray_->clock_observer_ = tray_date; |
- tray_->ime_observer_ = tray_ime; |
- tray_->network_observer_ = tray_network; |
- tray_->power_status_observer_ = tray_power; |
- tray_->update_observer_ = tray_update; |
- tray_->user_observer_ = tray_user; |
- |
- tray_->AddTrayItem(tray_user); |
- tray_->AddTrayItem(new internal::TrayEmpty()); |
- tray_->AddTrayItem(tray_power); |
- tray_->AddTrayItem(tray_network); |
- tray_->AddTrayItem(tray_bluetooth); |
- tray_->AddTrayItem(tray_ime); |
- tray_->AddTrayItem(tray_volume); |
- tray_->AddTrayItem(tray_brightness); |
- tray_->AddTrayItem(tray_update); |
- tray_->AddTrayItem(new internal::TraySettings()); |
- tray_->AddTrayItem(tray_accessibility); |
- tray_->AddTrayItem(tray_caps_lock); |
- tray_->AddTrayItem(tray_date); |
- tray_->SetVisible(tray_delegate_->GetTrayVisibilityOnStartup()); |
- |
- // TODO(sad): Replace uses of status_widget_ with tray_->GetWidget(). |
- status_widget_ = internal::CreateStatusArea(tray_.get()); |
+ tray_->CreateItems(); |
+ tray_->CreateWidget(); |
// This controller needs to be set before SetupManagedWindowMode. |
desktop_background_controller_.reset(new DesktopBackgroundController); |
@@ -747,7 +691,7 @@ void Shell::Init() { |
} |
focus_cycler_.reset(new internal::FocusCycler()); |
- focus_cycler_->AddWidget(status_widget_); |
+ focus_cycler_->AddWidget(tray_->widget()); |
if (!delegate_.get() || delegate_->IsUserLoggedIn()) |
CreateLauncher(); |
@@ -915,10 +859,10 @@ bool Shell::IsInMaximizedMode() const { |
void Shell::InitLayoutManagers() { |
DCHECK(root_window_layout_); |
- DCHECK(status_widget_); |
+ DCHECK(tray_->widget()); |
internal::ShelfLayoutManager* shelf_layout_manager = |
- new internal::ShelfLayoutManager(status_widget_); |
+ new internal::ShelfLayoutManager(tray_->widget()); |
GetContainer(internal::kShellWindowId_LauncherContainer)-> |
SetLayoutManager(shelf_layout_manager); |
shelf_ = shelf_layout_manager; |