diff options
author | sadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-16 17:02:15 +0000 |
---|---|---|
committer | sadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-16 17:02:15 +0000 |
commit | 26c4f2e43212a484cede7bcb0f6e1889e8fa7b50 (patch) | |
tree | fbfb599153658c2a14b3226b47f7a21fde913db6 /ash/system | |
parent | 176816e8c46a770a0b3e4ddb16c19154f3960c52 (diff) | |
download | chromium_src-26c4f2e43212a484cede7bcb0f6e1889e8fa7b50.zip chromium_src-26c4f2e43212a484cede7bcb0f6e1889e8fa7b50.tar.gz chromium_src-26c4f2e43212a484cede7bcb0f6e1889e8fa7b50.tar.bz2 |
ash: Some more fixes and code cleanups for uber tray.
The changes include:
* Fix for power-status reporting.
* The hover-background color in the 'main' popup should be the same as in the
'network' popup.
* Padding/background color adjustment for the date/power row.
* Some more s/controller/observer/ that I missed from an earlier CL.
BUG=110130
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9694058
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127187 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/system')
-rw-r--r-- | ash/system/network/tray_network.cc | 5 | ||||
-rw-r--r-- | ash/system/power/tray_power_date.cc | 38 | ||||
-rw-r--r-- | ash/system/tray/system_tray.cc | 12 | ||||
-rw-r--r-- | ash/system/tray/system_tray.h | 30 | ||||
-rw-r--r-- | ash/system/tray/system_tray_delegate.h | 5 | ||||
-rw-r--r-- | ash/system/tray/tray_constants.cc | 5 | ||||
-rw-r--r-- | ash/system/tray/tray_constants.h | 5 |
7 files changed, 63 insertions, 37 deletions
diff --git a/ash/system/network/tray_network.cc b/ash/system/network/tray_network.cc index 4d44936..d679675 100644 --- a/ash/system/network/tray_network.cc +++ b/ash/system/network/tray_network.cc @@ -7,6 +7,7 @@ #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 "base/utf_string_conversions.h" #include "grit/ash_strings.h" #include "grit/ui_resources.h" @@ -97,7 +98,7 @@ class HoverHighlightView : public views::View { virtual void OnMouseEntered(const views::MouseEvent& event) OVERRIDE { set_background(views::Background::CreateSolidBackground( - SkColorSetARGB(10, 0, 0, 0))); + ash::kHoverBackgroundColor)); SchedulePaint(); } @@ -247,7 +248,7 @@ class NetworkDetailedView : public views::View, proxy_settings_(NULL) { SetLayoutManager(new views::BoxLayout( views::BoxLayout::kVertical, 1, 1, 1)); - set_background(views::Background::CreateSolidBackground(SK_ColorWHITE)); + set_background(views::Background::CreateSolidBackground(kBackgroundColor)); Update(); } diff --git a/ash/system/power/tray_power_date.cc b/ash/system/power/tray_power_date.cc index 87dc2a1..5aceea4 100644 --- a/ash/system/power/tray_power_date.cc +++ b/ash/system/power/tray_power_date.cc @@ -87,6 +87,7 @@ class DateView : public views::View { actionable_(false) { SetLayoutManager(new views::FillLayout()); label_ = new views::Label; + label_->SetHorizontalAlignment(views::Label::ALIGN_LEFT); UpdateText(); AddChildView(label_); } @@ -280,18 +281,23 @@ TrayPowerDate::~TrayPowerDate() { } views::View* TrayPowerDate::CreateTrayView(user::LoginStatus status) { + views::View* container = new views::View; + container->SetLayoutManager(new views::BoxLayout( + views::BoxLayout::kHorizontal, 0, 0, kTrayPaddingBetweenItems)); + + PowerSupplyStatus power_status = + ash::Shell::GetInstance()->tray_delegate()->GetPowerSupplyStatus(); + if (power_status.battery_is_present) { + power_tray_.reset(new tray::PowerTrayView()); + power_tray_->UpdatePowerStatus(power_status); + container->AddChildView(power_tray_.get()); + } + date_tray_.reset(new tray::DateView(tray::DateView::TIME)); date_tray_->label()->SetFont( date_tray_->label()->font().DeriveFont(2, gfx::Font::BOLD)); date_tray_->label()->SetAutoColorReadabilityEnabled(false); date_tray_->label()->SetEnabledColor(SK_ColorWHITE); - - power_tray_.reset(new tray::PowerTrayView()); - - views::View* container = new views::View; - container->SetLayoutManager(new views::BoxLayout( - views::BoxLayout::kHorizontal, 0, 0, kTrayPaddingBetweenItems)); - container->AddChildView(power_tray_.get()); container->AddChildView(date_tray_.get()); return container; @@ -302,17 +308,22 @@ views::View* TrayPowerDate::CreateDefaultView(user::LoginStatus status) { if (status != user::LOGGED_IN_NONE) date_->set_actionable(true); - power_.reset(new tray::PowerPopupView()); - views::View* container = new views::View; views::BoxLayout* layout = new - views::BoxLayout(views::BoxLayout::kHorizontal, 0, 10, 0); + views::BoxLayout(views::BoxLayout::kHorizontal, 18, 10, 0); layout->set_spread_blank_space(true); container->SetLayoutManager(layout); container->set_background(views::Background::CreateSolidBackground( - SkColorSetARGB(255, 240, 240, 240))); + SkColorSetRGB(245, 245, 245))); container->AddChildView(date_.get()); - container->AddChildView(power_.get()); + + PowerSupplyStatus power_status = + ash::Shell::GetInstance()->tray_delegate()->GetPowerSupplyStatus(); + if (power_status.battery_is_present) { + power_.reset(new tray::PowerPopupView()); + power_->UpdatePowerStatus(power_status); + container->AddChildView(power_.get()); + } return container; } @@ -334,7 +345,8 @@ void TrayPowerDate::DestroyDetailedView() { } void TrayPowerDate::OnPowerStatusChanged(const PowerSupplyStatus& status) { - power_tray_->UpdatePowerStatus(status); + if (power_tray_.get()) + power_tray_->UpdatePowerStatus(status); if (power_.get()) power_->UpdatePowerStatus(status); } diff --git a/ash/system/tray/system_tray.cc b/ash/system/tray/system_tray.cc index 3dc143c..3a2d635 100644 --- a/ash/system/tray/system_tray.cc +++ b/ash/system/tray/system_tray.cc @@ -47,8 +47,6 @@ const int kShadowHeight = 3; const SkColor kDarkColor = SkColorSetRGB(120, 120, 120); const SkColor kLightColor = SkColorSetRGB(240, 240, 240); -const SkColor kBackgroundColor = SK_ColorWHITE; -const SkColor kHoverBackgroundColor = SkColorSetRGB(0xfb, 0xfc, 0xfb); const SkColor kShadowColor = SkColorSetARGB(25, 0, 0, 0); const SkColor kTrayBackgroundColor = SkColorSetARGB(100, 0, 0, 0); @@ -327,12 +325,12 @@ NetworkIconInfo::~NetworkIconInfo() { SystemTray::SystemTray() : items_(), - audio_controller_(NULL), - brightness_controller_(NULL), + audio_observer_(NULL), + brightness_observer_(NULL), date_format_observer_(NULL), - network_controller_(NULL), - power_status_controller_(NULL), - update_controller_(NULL), + network_observer_(NULL), + power_status_observer_(NULL), + update_observer_(NULL), bubble_(NULL), popup_(NULL) { container_ = new views::View; diff --git a/ash/system/tray/system_tray.h b/ash/system/tray/system_tray.h index 20caab2..b92b7a4 100644 --- a/ash/system/tray/system_tray.h +++ b/ash/system/tray/system_tray.h @@ -55,23 +55,23 @@ class ASH_EXPORT SystemTray : public views::View, const std::vector<SystemTrayItem*>& items() const { return items_; } - AudioObserver* audio_controller() const { - return audio_controller_; + AudioObserver* audio_observer() const { + return audio_observer_; } - BrightnessObserver* brightness_controller() const { - return brightness_controller_; + BrightnessObserver* brightness_observer() const { + return brightness_observer_; } DateFormatObserver* date_format_observer() const { return date_format_observer_; } - NetworkObserver* network_controller() const { - return network_controller_; + NetworkObserver* network_observer() const { + return network_observer_; } - PowerStatusObserver* power_status_controller() const { - return power_status_controller_; + PowerStatusObserver* power_status_observer() const { + return power_status_observer_; } - UpdateObserver* update_controller() const { - return update_controller_; + UpdateObserver* update_observer() const { + return update_observer_; } private: @@ -96,12 +96,12 @@ class ASH_EXPORT SystemTray : public views::View, views::View* container_; // These observers are not owned by the tray. - AudioObserver* audio_controller_; - BrightnessObserver* brightness_controller_; + AudioObserver* audio_observer_; + BrightnessObserver* brightness_observer_; DateFormatObserver* date_format_observer_; - NetworkObserver* network_controller_; - PowerStatusObserver* power_status_controller_; - UpdateObserver* update_controller_; + NetworkObserver* network_observer_; + PowerStatusObserver* power_status_observer_; + UpdateObserver* update_observer_; // The popup widget and the delegate. internal::SystemTrayBubble* bubble_; diff --git a/ash/system/tray/system_tray_delegate.h b/ash/system/tray/system_tray_delegate.h index 9d91a38..3ecc9d8 100644 --- a/ash/system/tray/system_tray_delegate.h +++ b/ash/system/tray/system_tray_delegate.h @@ -29,6 +29,8 @@ struct ASH_EXPORT NetworkIconInfo { std::string unique_id; }; +struct PowerSupplyStatus; + class SystemTrayDelegate { public: virtual ~SystemTrayDelegate() {} @@ -48,6 +50,9 @@ class SystemTrayDelegate { // Returns the desired hour clock type. virtual base::HourClockType GetHourClockType() const = 0; + // Gets the current power supply status. + virtual PowerSupplyStatus GetPowerSupplyStatus() const = 0; + // Shows settings. virtual void ShowSettings() = 0; diff --git a/ash/system/tray/tray_constants.cc b/ash/system/tray/tray_constants.cc index 89ae3e1..21e3331 100644 --- a/ash/system/tray/tray_constants.cc +++ b/ash/system/tray/tray_constants.cc @@ -4,9 +4,14 @@ #include "ash/system/tray/tray_constants.h" +#include "third_party/skia/include/core/SkColor.h" + namespace ash { const int kTrayPaddingBetweenItems = 8; const int kTrayPopupAutoCloseDelayInSeconds = 2; +const SkColor kBackgroundColor = SK_ColorWHITE; +const SkColor kHoverBackgroundColor = SkColorSetRGB(0xfb, 0xfc, 0xfb); + } // namespace ash diff --git a/ash/system/tray/tray_constants.h b/ash/system/tray/tray_constants.h index 5390344..d2a33e4 100644 --- a/ash/system/tray/tray_constants.h +++ b/ash/system/tray/tray_constants.h @@ -6,11 +6,16 @@ #define ASH_SYSTEM_TRAY_TRAY_CONSTANTS_H_ #pragma once +typedef unsigned int SkColor; + namespace ash { extern const int kTrayPaddingBetweenItems; extern const int kTrayPopupAutoCloseDelayInSeconds; +extern const SkColor kBackgroundColor; +extern const SkColor kHoverBackgroundColor; + } // namespace ash #endif // ASH_SYSTEM_TRAY_TRAY_CONSTANTS_H_ |