| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ash/system/date/date_view.h" | 5 #include "ash/system/date/date_view.h" |
| 6 | 6 |
| 7 #include "ash/shell.h" | 7 #include "ash/shell.h" |
| 8 #include "ash/system/tray/system_tray_delegate.h" | 8 #include "ash/system/tray/system_tray_delegate.h" |
| 9 #include "ash/system/tray/tray_constants.h" | 9 #include "ash/system/tray/tray_constants.h" |
| 10 #include "ash/system/tray/tray_utils.h" | 10 #include "ash/system/tray/tray_utils.h" |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 87 | 87 |
| 88 void BaseDateTimeView::UpdateText() { | 88 void BaseDateTimeView::UpdateText() { |
| 89 base::Time now = base::Time::Now(); | 89 base::Time now = base::Time::Now(); |
| 90 UpdateTextInternal(now); | 90 UpdateTextInternal(now); |
| 91 SchedulePaint(); | 91 SchedulePaint(); |
| 92 SetTimer(now); | 92 SetTimer(now); |
| 93 } | 93 } |
| 94 | 94 |
| 95 BaseDateTimeView::BaseDateTimeView() { | 95 BaseDateTimeView::BaseDateTimeView() { |
| 96 SetTimer(base::Time::Now()); | 96 SetTimer(base::Time::Now()); |
| 97 SetFocusBehavior(FocusBehavior::NEVER); |
| 97 } | 98 } |
| 98 | 99 |
| 99 void BaseDateTimeView::SetTimer(const base::Time& now) { | 100 void BaseDateTimeView::SetTimer(const base::Time& now) { |
| 100 // Try to set the timer to go off at the next change of the minute. We don't | 101 // Try to set the timer to go off at the next change of the minute. We don't |
| 101 // want to have the timer go off more than necessary since that will cause | 102 // want to have the timer go off more than necessary since that will cause |
| 102 // the CPU to wake up and consume power. | 103 // the CPU to wake up and consume power. |
| 103 base::Time::Exploded exploded; | 104 base::Time::Exploded exploded; |
| 104 now.LocalExplode(&exploded); | 105 now.LocalExplode(&exploded); |
| 105 | 106 |
| 106 // Often this will be called at minute boundaries, and we'll actually want | 107 // Often this will be called at minute boundaries, and we'll actually want |
| (...skipping 24 matching lines...) Expand all Loading... |
| 131 : hour_type_(ash::Shell::GetInstance()->system_tray_delegate()-> | 132 : hour_type_(ash::Shell::GetInstance()->system_tray_delegate()-> |
| 132 GetHourClockType()), | 133 GetHourClockType()), |
| 133 action_(TrayDate::NONE) { | 134 action_(TrayDate::NONE) { |
| 134 SetLayoutManager( | 135 SetLayoutManager( |
| 135 new views::BoxLayout( | 136 new views::BoxLayout( |
| 136 views::BoxLayout::kVertical, 0, 0, 0)); | 137 views::BoxLayout::kVertical, 0, 0, 0)); |
| 137 date_label_ = CreateLabel(); | 138 date_label_ = CreateLabel(); |
| 138 date_label_->SetEnabledColor(kHeaderTextColorNormal); | 139 date_label_->SetEnabledColor(kHeaderTextColorNormal); |
| 139 UpdateTextInternal(base::Time::Now()); | 140 UpdateTextInternal(base::Time::Now()); |
| 140 AddChildView(date_label_); | 141 AddChildView(date_label_); |
| 141 SetFocusable(false); | |
| 142 } | 142 } |
| 143 | 143 |
| 144 DateView::~DateView() { | 144 DateView::~DateView() { |
| 145 } | 145 } |
| 146 | 146 |
| 147 void DateView::SetAction(TrayDate::DateAction action) { | 147 void DateView::SetAction(TrayDate::DateAction action) { |
| 148 if (action == action_) | 148 if (action == action_) |
| 149 return; | 149 return; |
| 150 if (IsMouseHovered()) { | 150 if (IsMouseHovered()) { |
| 151 date_label_->SetEnabledColor( | 151 date_label_->SetEnabledColor( |
| 152 action == TrayDate::NONE ? kHeaderTextColorNormal : | 152 action == TrayDate::NONE ? kHeaderTextColorNormal : |
| 153 kHeaderTextColorHover); | 153 kHeaderTextColorHover); |
| 154 SchedulePaint(); | 154 SchedulePaint(); |
| 155 } | 155 } |
| 156 action_ = action; | 156 action_ = action; |
| 157 SetFocusable(action_ != TrayDate::NONE); | 157 SetFocusBehavior(action_ != TrayDate::NONE ? FocusBehavior::ALWAYS |
| 158 : FocusBehavior::NEVER); |
| 158 } | 159 } |
| 159 | 160 |
| 160 void DateView::UpdateTimeFormat() { | 161 void DateView::UpdateTimeFormat() { |
| 161 hour_type_ = | 162 hour_type_ = |
| 162 ash::Shell::GetInstance()->system_tray_delegate()->GetHourClockType(); | 163 ash::Shell::GetInstance()->system_tray_delegate()->GetHourClockType(); |
| 163 UpdateText(); | 164 UpdateText(); |
| 164 } | 165 } |
| 165 | 166 |
| 166 base::HourClockType DateView::GetHourTypeForTesting() const { | 167 base::HourClockType DateView::GetHourTypeForTesting() const { |
| 167 return hour_type_; | 168 return hour_type_; |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 219 } | 220 } |
| 220 | 221 |
| 221 /////////////////////////////////////////////////////////////////////////////// | 222 /////////////////////////////////////////////////////////////////////////////// |
| 222 | 223 |
| 223 TimeView::TimeView(TrayDate::ClockLayout clock_layout) | 224 TimeView::TimeView(TrayDate::ClockLayout clock_layout) |
| 224 : hour_type_(ash::Shell::GetInstance()->system_tray_delegate()-> | 225 : hour_type_(ash::Shell::GetInstance()->system_tray_delegate()-> |
| 225 GetHourClockType()) { | 226 GetHourClockType()) { |
| 226 SetupLabels(); | 227 SetupLabels(); |
| 227 UpdateTextInternal(base::Time::Now()); | 228 UpdateTextInternal(base::Time::Now()); |
| 228 UpdateClockLayout(clock_layout); | 229 UpdateClockLayout(clock_layout); |
| 229 SetFocusable(false); | |
| 230 } | 230 } |
| 231 | 231 |
| 232 TimeView::~TimeView() { | 232 TimeView::~TimeView() { |
| 233 } | 233 } |
| 234 | 234 |
| 235 void TimeView::UpdateTimeFormat() { | 235 void TimeView::UpdateTimeFormat() { |
| 236 hour_type_ = | 236 hour_type_ = |
| 237 ash::Shell::GetInstance()->system_tray_delegate()->GetHourClockType(); | 237 ash::Shell::GetInstance()->system_tray_delegate()->GetHourClockType(); |
| 238 UpdateText(); | 238 UpdateText(); |
| 239 } | 239 } |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 333 } | 333 } |
| 334 | 334 |
| 335 void TimeView::SetupLabel(views::Label* label) { | 335 void TimeView::SetupLabel(views::Label* label) { |
| 336 label->set_owned_by_client(); | 336 label->set_owned_by_client(); |
| 337 SetupLabelForTray(label); | 337 SetupLabelForTray(label); |
| 338 label->SetElideBehavior(gfx::NO_ELIDE); | 338 label->SetElideBehavior(gfx::NO_ELIDE); |
| 339 } | 339 } |
| 340 | 340 |
| 341 } // namespace tray | 341 } // namespace tray |
| 342 } // namespace ash | 342 } // namespace ash |
| OLD | NEW |