Home | History | Annotate | Download | only in tray
      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
      3 // found in the LICENSE file.
      4 
      5 #include "ash/system/tray/system_tray_item.h"
      6 
      7 #include "ash/shell.h"
      8 #include "ash/system/tray/system_tray.h"
      9 #include "ash/system/tray/system_tray_delegate.h"
     10 #include "ui/views/view.h"
     11 
     12 namespace ash {
     13 
     14 SystemTrayItem::SystemTrayItem(SystemTray* system_tray)
     15     : system_tray_(system_tray),
     16       restore_focus_(false) {
     17 }
     18 
     19 SystemTrayItem::~SystemTrayItem() {
     20 }
     21 
     22 views::View* SystemTrayItem::CreateTrayView(user::LoginStatus status) {
     23   return NULL;
     24 }
     25 
     26 views::View* SystemTrayItem::CreateDefaultView(user::LoginStatus status) {
     27   return NULL;
     28 }
     29 
     30 views::View* SystemTrayItem::CreateDetailedView(user::LoginStatus status) {
     31   return NULL;
     32 }
     33 
     34 views::View* SystemTrayItem::CreateNotificationView(user::LoginStatus status) {
     35   return NULL;
     36 }
     37 
     38 void SystemTrayItem::DestroyTrayView() {
     39 }
     40 
     41 void SystemTrayItem::DestroyDefaultView() {
     42 }
     43 
     44 void SystemTrayItem::DestroyDetailedView() {
     45 }
     46 
     47 void SystemTrayItem::DestroyNotificationView() {
     48 }
     49 
     50 void SystemTrayItem::TransitionDetailedView() {
     51   system_tray()->ShowDetailedView(this, 0, true, BUBBLE_USE_EXISTING);
     52 }
     53 
     54 void SystemTrayItem::UpdateAfterLoginStatusChange(user::LoginStatus status) {
     55 }
     56 
     57 void SystemTrayItem::UpdateAfterShelfAlignmentChange(ShelfAlignment alignment) {
     58 }
     59 
     60 void SystemTrayItem::PopupDetailedView(int for_seconds, bool activate) {
     61   // Never show a detailed view during OOBE, e.g. from a notification.
     62   if (!Shell::GetInstance()->system_tray_delegate()->IsOobeCompleted())
     63     return;
     64   system_tray()->ShowDetailedView(
     65       this, for_seconds, activate, BUBBLE_CREATE_NEW);
     66 }
     67 
     68 void SystemTrayItem::SetDetailedViewCloseDelay(int for_seconds) {
     69   system_tray()->SetDetailedViewCloseDelay(for_seconds);
     70 }
     71 
     72 void SystemTrayItem::HideDetailedView() {
     73   system_tray()->HideDetailedView(this);
     74 }
     75 
     76 void SystemTrayItem::ShowNotificationView() {
     77   system_tray()->ShowNotificationView(this);
     78 }
     79 
     80 void SystemTrayItem::HideNotificationView() {
     81   system_tray()->HideNotificationView(this);
     82 }
     83 
     84 bool SystemTrayItem::ShouldHideArrow() const {
     85   return false;
     86 }
     87 
     88 bool SystemTrayItem::ShouldShowLauncher() const {
     89   return true;
     90 }
     91 
     92 }  // namespace ash
     93