summaryrefslogtreecommitdiffstats
path: root/ash/system/power
diff options
context:
space:
mode:
authorstevenjb@google.com <stevenjb@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-24 17:46:03 +0000
committerstevenjb@google.com <stevenjb@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-24 17:46:03 +0000
commitf8543531dde26f57cd3854f4cd91764b0e76e5b7 (patch)
treebd3fd1c9f5eaa94f2890e221dcc61c6af9171eb9 /ash/system/power
parent51bc2421d94468f29a2ffcaa3fd5cb4b0fecdc8c (diff)
downloadchromium_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.cc71
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);
}