diff options
Diffstat (limited to 'chromium/ash/system/date/tray_date.cc')
-rw-r--r-- | chromium/ash/system/date/tray_date.cc | 240 |
1 files changed, 0 insertions, 240 deletions
diff --git a/chromium/ash/system/date/tray_date.cc b/chromium/ash/system/date/tray_date.cc deleted file mode 100644 index c2a4b923646..00000000000 --- a/chromium/ash/system/date/tray_date.cc +++ /dev/null @@ -1,240 +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/date/tray_date.h" - -#include "ash/metrics/user_metrics_recorder.h" -#include "ash/session_state_delegate.h" -#include "ash/shell.h" -#include "ash/shell_delegate.h" -#include "ash/system/date/date_view.h" -#include "ash/system/tray/system_tray.h" -#include "ash/system/tray/system_tray_delegate.h" -#include "ash/system/tray/system_tray_notifier.h" -#include "ash/system/tray/tray_constants.h" -#include "ash/system/tray/tray_item_view.h" -#include "ash/system/tray/tray_popup_header_button.h" -#include "base/i18n/time_formatting.h" -#include "base/strings/stringprintf.h" -#include "base/strings/utf_string_conversions.h" -#include "base/time/time.h" -#include "base/timer/timer.h" -#include "grit/ash_resources.h" -#include "grit/ash_strings.h" -#include "third_party/icu/source/i18n/unicode/datefmt.h" -#include "third_party/icu/source/i18n/unicode/fieldpos.h" -#include "third_party/icu/source/i18n/unicode/fmtable.h" -#include "third_party/skia/include/core/SkRect.h" -#include "ui/base/l10n/l10n_util.h" -#include "ui/base/resource/resource_bundle.h" -#include "ui/gfx/image/image.h" -#include "ui/gfx/image/image_skia.h" -#include "ui/gfx/size.h" -#include "ui/views/controls/button/button.h" -#include "ui/views/controls/image_view.h" -#include "ui/views/controls/label.h" -#include "ui/views/layout/box_layout.h" -#include "ui/views/layout/fill_layout.h" -#include "ui/views/painter.h" -#include "ui/views/view.h" -#include "ui/views/widget/widget.h" - -#if defined(OS_CHROMEOS) -#include "ash/system/chromeos/system_clock_observer.h" -#endif - -namespace { - -const int kPaddingVertical = 19; - -} // namespace - -namespace ash { -namespace internal { - -class DateDefaultView : public views::View, - public views::ButtonListener { - public: - explicit DateDefaultView(ash::user::LoginStatus login) - : help_(NULL), - shutdown_(NULL), - lock_(NULL), - date_view_(NULL) { - SetLayoutManager(new views::FillLayout); - - date_view_ = new tray::DateView(); - date_view_->set_border(views::Border::CreateEmptyBorder(kPaddingVertical, - ash::kTrayPopupPaddingHorizontal, - 0, - 0)); - SpecialPopupRow* view = new SpecialPopupRow(); - view->SetContent(date_view_); - AddChildView(view); - - if (login == ash::user::LOGGED_IN_LOCKED || - login == ash::user::LOGGED_IN_NONE) - return; - - date_view_->SetActionable(true); - - help_ = new TrayPopupHeaderButton(this, - IDR_AURA_UBER_TRAY_HELP, - IDR_AURA_UBER_TRAY_HELP, - IDR_AURA_UBER_TRAY_HELP_HOVER, - IDR_AURA_UBER_TRAY_HELP_HOVER, - IDS_ASH_STATUS_TRAY_HELP); - help_->SetTooltipText(l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_HELP)); - view->AddButton(help_); - -#if !defined(OS_WIN) - if (login != ash::user::LOGGED_IN_LOCKED && - login != ash::user::LOGGED_IN_RETAIL_MODE) { - shutdown_ = new TrayPopupHeaderButton(this, - IDR_AURA_UBER_TRAY_SHUTDOWN, - IDR_AURA_UBER_TRAY_SHUTDOWN, - IDR_AURA_UBER_TRAY_SHUTDOWN_HOVER, - IDR_AURA_UBER_TRAY_SHUTDOWN_HOVER, - IDS_ASH_STATUS_TRAY_SHUTDOWN); - shutdown_->SetTooltipText( - l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_SHUTDOWN)); - view->AddButton(shutdown_); - } - - if (ash::Shell::GetInstance()->session_state_delegate()->CanLockScreen()) { - lock_ = new TrayPopupHeaderButton(this, - IDR_AURA_UBER_TRAY_LOCKSCREEN, - IDR_AURA_UBER_TRAY_LOCKSCREEN, - IDR_AURA_UBER_TRAY_LOCKSCREEN_HOVER, - IDR_AURA_UBER_TRAY_LOCKSCREEN_HOVER, - IDS_ASH_STATUS_TRAY_LOCK); - lock_->SetTooltipText( - l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_LOCK)); - view->AddButton(lock_); - } -#endif // !defined(OS_WIN) - } - - virtual ~DateDefaultView() {} - - views::View* GetHelpButtonView() const { - return help_; - } - - tray::DateView* GetDateView() const { - return date_view_; - } - - private: - // Overridden from views::ButtonListener. - virtual void ButtonPressed(views::Button* sender, - const ui::Event& event) OVERRIDE { - ash::Shell* shell = ash::Shell::GetInstance(); - ash::SystemTrayDelegate* tray_delegate = shell->system_tray_delegate(); - if (sender == help_) { - shell->metrics()->RecordUserMetricsAction(ash::UMA_TRAY_HELP); - tray_delegate->ShowHelp(); - } else if (sender == shutdown_) { - shell->metrics()->RecordUserMetricsAction(ash::UMA_TRAY_SHUT_DOWN); - tray_delegate->ShutDown(); - } else if (sender == lock_) { - shell->metrics()->RecordUserMetricsAction(ash::UMA_TRAY_LOCK_SCREEN); - tray_delegate->RequestLockScreen(); - } else { - NOTREACHED(); - } - } - - TrayPopupHeaderButton* help_; - TrayPopupHeaderButton* shutdown_; - TrayPopupHeaderButton* lock_; - tray::DateView* date_view_; - - DISALLOW_COPY_AND_ASSIGN(DateDefaultView); -}; - -TrayDate::TrayDate(SystemTray* system_tray) - : SystemTrayItem(system_tray), - time_tray_(NULL), - default_view_(NULL) { -#if defined(OS_CHROMEOS) - system_clock_observer_.reset(new SystemClockObserver()); -#endif - Shell::GetInstance()->system_tray_notifier()->AddClockObserver(this); -} - -TrayDate::~TrayDate() { - Shell::GetInstance()->system_tray_notifier()->RemoveClockObserver(this); -} - -views::View* TrayDate::GetHelpButtonView() const { - if (!default_view_) - return NULL; - return default_view_->GetHelpButtonView(); -} - -views::View* TrayDate::CreateTrayView(user::LoginStatus status) { - CHECK(time_tray_ == NULL); - ClockLayout clock_layout = - (system_tray()->shelf_alignment() == SHELF_ALIGNMENT_BOTTOM || - system_tray()->shelf_alignment() == SHELF_ALIGNMENT_TOP) ? - HORIZONTAL_CLOCK : VERTICAL_CLOCK; - time_tray_ = new tray::TimeView(clock_layout); - views::View* view = new TrayItemView(this); - view->AddChildView(time_tray_); - return view; -} - -views::View* TrayDate::CreateDefaultView(user::LoginStatus status) { - default_view_ = new DateDefaultView(status); - return default_view_; -} - -views::View* TrayDate::CreateDetailedView(user::LoginStatus status) { - return NULL; -} - -void TrayDate::DestroyTrayView() { - time_tray_ = NULL; -} - -void TrayDate::DestroyDefaultView() { - default_view_ = NULL; -} - -void TrayDate::DestroyDetailedView() { -} - -void TrayDate::UpdateAfterLoginStatusChange(user::LoginStatus status) { -} - -void TrayDate::UpdateAfterShelfAlignmentChange(ShelfAlignment alignment) { - if (time_tray_) { - ClockLayout clock_layout = (alignment == SHELF_ALIGNMENT_BOTTOM || - alignment == SHELF_ALIGNMENT_TOP) ? - HORIZONTAL_CLOCK : VERTICAL_CLOCK; - time_tray_->UpdateClockLayout(clock_layout); - } -} - -void TrayDate::OnDateFormatChanged() { - if (time_tray_) - time_tray_->UpdateTimeFormat(); - if (default_view_) - default_view_->GetDateView()->UpdateTimeFormat(); -} - -void TrayDate::OnSystemClockTimeUpdated() { - if (time_tray_) - time_tray_->UpdateTimeFormat(); - if (default_view_) - default_view_->GetDateView()->UpdateTimeFormat(); -} - -void TrayDate::Refresh() { - if (time_tray_) - time_tray_->UpdateText(); -} - -} // namespace internal -} // namespace ash |