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 12namespace ash { 13 14SystemTrayItem::SystemTrayItem(SystemTray* system_tray) 15 : system_tray_(system_tray), 16 restore_focus_(false) { 17} 18 19SystemTrayItem::~SystemTrayItem() { 20} 21 22views::View* SystemTrayItem::CreateTrayView(user::LoginStatus status) { 23 return NULL; 24} 25 26views::View* SystemTrayItem::CreateDefaultView(user::LoginStatus status) { 27 return NULL; 28} 29 30views::View* SystemTrayItem::CreateDetailedView(user::LoginStatus status) { 31 return NULL; 32} 33 34views::View* SystemTrayItem::CreateNotificationView(user::LoginStatus status) { 35 return NULL; 36} 37 38void SystemTrayItem::DestroyTrayView() { 39} 40 41void SystemTrayItem::DestroyDefaultView() { 42} 43 44void SystemTrayItem::DestroyDetailedView() { 45} 46 47void SystemTrayItem::DestroyNotificationView() { 48} 49 50void SystemTrayItem::TransitionDetailedView() { 51 system_tray()->ShowDetailedView(this, 0, true, BUBBLE_USE_EXISTING); 52} 53 54void SystemTrayItem::UpdateAfterLoginStatusChange(user::LoginStatus status) { 55} 56 57void SystemTrayItem::UpdateAfterShelfAlignmentChange(ShelfAlignment alignment) { 58} 59 60void 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 68void SystemTrayItem::SetDetailedViewCloseDelay(int for_seconds) { 69 system_tray()->SetDetailedViewCloseDelay(for_seconds); 70} 71 72void SystemTrayItem::HideDetailedView() { 73 system_tray()->HideDetailedView(this); 74} 75 76void SystemTrayItem::ShowNotificationView() { 77 system_tray()->ShowNotificationView(this); 78} 79 80void SystemTrayItem::HideNotificationView() { 81 system_tray()->HideNotificationView(this); 82} 83 84bool SystemTrayItem::ShouldHideArrow() const { 85 return false; 86} 87 88bool SystemTrayItem::ShouldShowLauncher() const { 89 return true; 90} 91 92} // namespace ash 93