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