diff options
author | stevenjb@google.com <stevenjb@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-24 17:46:03 +0000 |
---|---|---|
committer | stevenjb@google.com <stevenjb@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-24 17:46:03 +0000 |
commit | f8543531dde26f57cd3854f4cd91764b0e76e5b7 (patch) | |
tree | bd3fd1c9f5eaa94f2890e221dcc61c6af9171eb9 /ash/system/power | |
parent | 51bc2421d94468f29a2ffcaa3fd5cb4b0fecdc8c (diff) | |
download | chromium_src-f8543531dde26f57cd3854f4cd91764b0e76e5b7.zip chromium_src-f8543531dde26f57cd3854f4cd91764b0e76e5b7.tar.gz chromium_src-f8543531dde26f57cd3854f4cd91764b0e76e5b7.tar.bz2 |
Move common notification layout to base class
Also, don't show tray icons for SMS or locale change
BUG=124269
TEST=Set about::flags --ash-notify. Notification views should look consistent. SMS and locale change notifiations should not have visible tray icons.
Review URL: https://chromiumcodereview.appspot.com/10443004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@138826 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/system/power')
-rw-r--r-- | ash/system/power/tray_power.cc | 71 |
1 files changed, 23 insertions, 48 deletions
diff --git a/ash/system/power/tray_power.cc b/ash/system/power/tray_power.cc index f2ff5fb..4d7b8ae 100644 --- a/ash/system/power/tray_power.cc +++ b/ash/system/power/tray_power.cc @@ -129,17 +129,9 @@ class PowerStatusView : public views::View { VIEW_NOTIFICATION }; - explicit PowerStatusView(ViewType view_type) { + explicit PowerStatusView(ViewType view_type) : icon_(NULL) { status_label_ = new views::Label; - status_label_->SetHorizontalAlignment(views::Label::ALIGN_LEFT); time_label_ = new views::Label; - time_label_->SetHorizontalAlignment(views::Label::ALIGN_LEFT); - - icon_ = new views::ImageView; - - AddChildView(status_label_); - AddChildView(time_label_); - AddChildView(icon_); if (view_type == VIEW_DEFAULT) LayoutDefaultView(); @@ -147,10 +139,6 @@ class PowerStatusView : public views::View { LayoutNotificationView(); Update(); - - set_border(views::Border::CreateEmptyBorder( - kPaddingVertical, kTrayPopupPaddingHorizontal, - kPaddingVertical, kTrayPopupPaddingHorizontal)); } virtual ~PowerStatusView() { @@ -167,6 +155,15 @@ class PowerStatusView : public views::View { private: void LayoutDefaultView() { + set_border(views::Border::CreateEmptyBorder( + kPaddingVertical, kTrayPopupPaddingHorizontal, + kPaddingVertical, kTrayPopupPaddingHorizontal)); + + status_label_->SetHorizontalAlignment(views::Label::ALIGN_RIGHT); + time_label_->SetHorizontalAlignment(views::Label::ALIGN_RIGHT); + + icon_ = new views::ImageView; + views::GridLayout* layout = new views::GridLayout(this); SetLayoutManager(layout); @@ -199,39 +196,13 @@ class PowerStatusView : public views::View { } void LayoutNotificationView() { - const int msg_width = kTrayPopupWidth - kNotificationCloseButtonWidth - - kTrayPopupPaddingHorizontal - kNotificationIconWidth; - - views::GridLayout* layout = new views::GridLayout(this); - SetLayoutManager(layout); - - views::ColumnSet* columns = layout->AddColumnSet(0); - - // Icon - columns->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL, - 0 /* resize percent */, - views::GridLayout::FIXED, - kNotificationIconWidth, kNotificationIconWidth); - - columns->AddPaddingColumn(0, kTrayPopupPaddingHorizontal/2); - - // Status + Time - columns->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL, - 0 /* resize percent */, - views::GridLayout::FIXED, msg_width, msg_width); - - // Layout rows - layout->AddPaddingRow(0, kTrayPopupPaddingBetweenItems); - - layout->StartRow(0, 0); - layout->AddView(icon_, 1, 2); // 2 rows for icon - layout->AddView(status_label_); - - layout->StartRow(0, 0); - layout->SkipColumns(1); - layout->AddView(time_label_); + SetLayoutManager( + new views::BoxLayout(views::BoxLayout::kVertical, 0, 0, 1)); + status_label_->SetHorizontalAlignment(views::Label::ALIGN_LEFT); + AddChildView(status_label_); - layout->AddPaddingRow(0, kPaddingVertical); + time_label_->SetHorizontalAlignment(views::Label::ALIGN_LEFT); + AddChildView(time_label_); } void UpdateText() { @@ -272,8 +243,10 @@ class PowerStatusView : public views::View { } void UpdateIcon() { - icon_->SetImage(GetBatteryImage(supply_status_, ICON_DARK)); - icon_->SetVisible(true); + if (icon_) { + icon_->SetImage(GetBatteryImage(supply_status_, ICON_DARK)); + icon_->SetVisible(true); + } } void Update() { @@ -293,13 +266,15 @@ class PowerStatusView : public views::View { class PowerNotificationView : public TrayNotificationView { public: explicit PowerNotificationView(TrayPower* tray) - : tray_(tray) { + : TrayNotificationView(0), + tray_(tray) { power_status_view_ = new PowerStatusView(PowerStatusView::VIEW_NOTIFICATION); InitView(power_status_view_); } void UpdatePowerStatus(const PowerSupplyStatus& status) { + SetIconImage(GetBatteryImage(status, ICON_DARK)); power_status_view_->UpdatePowerStatus(status); } |