Index: ash/system/tray_display.cc |
diff --git a/ash/system/tray_display.cc b/ash/system/tray_display.cc |
deleted file mode 100644 |
index 66c99526b59cb10a732211a1a2a3c27ee25b2b92..0000000000000000000000000000000000000000 |
--- a/ash/system/tray_display.cc |
+++ /dev/null |
@@ -1,171 +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_display.h" |
- |
-#include "ash/display/display_controller.h" |
-#include "ash/screen_ash.h" |
-#include "ash/shell.h" |
-#include "ash/system/tray/system_tray.h" |
-#include "ash/system/tray/system_tray_delegate.h" |
-#include "ash/system/tray/tray_constants.h" |
-#include "ash/system/tray/tray_views.h" |
-#include "base/utf_string_conversions.h" |
-#include "grit/ash_resources.h" |
-#include "grit/ash_strings.h" |
-#include "ui/aura/display_manager.h" |
-#include "ui/aura/env.h" |
-#include "ui/base/l10n/l10n_util.h" |
-#include "ui/base/resource/resource_bundle.h" |
-#include "ui/gfx/image/image.h" |
-#include "ui/views/controls/image_view.h" |
-#include "ui/views/controls/label.h" |
-#include "ui/views/layout/box_layout.h" |
- |
-#if defined(USE_X11) |
-#include "ui/base/x/x11_util.h" |
-#endif |
- |
-namespace ash { |
-namespace internal { |
- |
-class DisplayView : public ash::internal::ActionableView { |
- public: |
- explicit DisplayView(user::LoginStatus login_status) |
- : login_status_(login_status) { |
- SetLayoutManager(new |
- views::BoxLayout(views::BoxLayout::kHorizontal, |
- ash::kTrayPopupPaddingHorizontal, 0, |
- ash::kTrayPopupPaddingBetweenItems)); |
- |
- ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance(); |
- views::ImageView* image = |
- new ash::internal::FixedSizedImageView(0, ash::kTrayPopupItemHeight); |
- image->SetImage( |
- bundle.GetImageNamed(IDR_AURA_UBER_TRAY_DISPLAY).ToImageSkia()); |
- AddChildView(image); |
- label_ = new views::Label(); |
- AddChildView(label_); |
- Update(); |
- } |
- |
- virtual ~DisplayView() {} |
- |
- void Update() { |
-#if defined(OS_CHROMEOS) |
- switch (Shell::GetInstance()->output_configurator()->output_state()) { |
- case chromeos::STATE_INVALID: |
- case chromeos::STATE_HEADLESS: |
- case chromeos::STATE_SINGLE: |
- SetVisible(false); |
- return; |
- case chromeos::STATE_DUAL_MIRROR: { |
- // Simply assumes that the primary display appears first and the |
- // secondary display appears next in the list. |
- std::vector<std::string> display_names; |
-#if defined(USE_X11) |
- std::vector<XID> output_ids; |
- ui::GetOutputDeviceHandles(&output_ids); |
- display_names = ui::GetDisplayNames(output_ids); |
-#endif |
- if (display_names.size() > 1) { |
- label_->SetText(l10n_util::GetStringFUTF16( |
- IDS_ASH_STATUS_TRAY_DISPLAY_MIRRORING, |
- UTF8ToUTF16(display_names[1]))); |
- SetVisible(true); |
- } else { |
- SetVisible(false); |
- } |
- return; |
- } |
- case chromeos::STATE_DUAL_PRIMARY_ONLY: |
- case chromeos::STATE_DUAL_SECONDARY_ONLY: { |
- aura::DisplayManager* display_manager = |
- aura::Env::GetInstance()->display_manager(); |
- if (display_manager->GetNumDisplays() > 1) { |
- label_->SetText(l10n_util::GetStringFUTF16( |
- IDS_ASH_STATUS_TRAY_DISPLAY_EXTENDED, |
- UTF8ToUTF16(display_manager->GetDisplayNameFor( |
- ScreenAsh::GetSecondaryDisplay())))); |
- SetVisible(true); |
- } else { |
- SetVisible(false); |
- } |
- return; |
- } |
- default: |
- NOTREACHED(); |
- } |
-#endif // OS_CHROMEOS |
- } |
- |
- private: |
- // Overridden from ActionableView. |
- virtual bool PerformAction(const ui::Event& event) OVERRIDE { |
- if (login_status_ == ash::user::LOGGED_IN_USER || |
- login_status_ == ash::user::LOGGED_IN_OWNER || |
- login_status_ == ash::user::LOGGED_IN_GUEST) { |
- ash::Shell::GetInstance()->tray_delegate()->ShowDisplaySettings(); |
- } |
- |
- return true; |
- } |
- |
- user::LoginStatus login_status_; |
- views::Label* label_; |
- |
- DISALLOW_COPY_AND_ASSIGN(DisplayView); |
-}; |
- |
-TrayDisplay::TrayDisplay() |
- : default_(NULL) { |
- aura::Env::GetInstance()->display_manager()->AddObserver(this); |
-#if defined(OS_CHROMEOS) |
- ash::Shell::GetInstance()->output_configurator()->AddObserver(this); |
-#endif |
-} |
- |
-TrayDisplay::~TrayDisplay() { |
- aura::Env::GetInstance()->display_manager()->RemoveObserver(this); |
-#if defined(OS_CHROMEOS) |
- ash::Shell::GetInstance()->output_configurator()->RemoveObserver(this); |
-#endif |
-} |
- |
-views::View* TrayDisplay::CreateDefaultView(user::LoginStatus status) { |
-#if defined(OS_CHROMEOS) |
- default_ = new DisplayView(status); |
-#endif |
- return default_; |
-} |
- |
-void TrayDisplay::DestroyDefaultView() { |
- default_ = NULL; |
-} |
- |
-void TrayDisplay::OnDisplayBoundsChanged(const gfx::Display& display) { |
- if (default_) |
- default_->Update(); |
-} |
- |
-void TrayDisplay::OnDisplayAdded(const gfx::Display& new_display) { |
- if (default_) |
- default_->Update(); |
-} |
- |
-void TrayDisplay::OnDisplayRemoved(const gfx::Display& old_display) { |
- if (default_) |
- default_->Update(); |
-} |
- |
-#if defined(OS_CHROMEOS) |
-void TrayDisplay::OnDisplayModeChanged() { |
- if (default_) |
- default_->Update(); |
-} |
-#endif |
- |
- |
-} // namespace internal |
-} // namespace ash |