Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(780)

Side by Side Diff: ash/common/system/tray/tray_image_item.cc

Issue 2252823002: Updates to Ash material design icons used for TrayImageItem (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/common/system/tray/tray_image_item.h" 5 #include "ash/common/system/tray/tray_image_item.h"
6 6
7 #include "ash/common/material_design/material_design_controller.h" 7 #include "ash/common/material_design/material_design_controller.h"
8 #include "ash/common/shelf/wm_shelf_util.h" 8 #include "ash/common/shelf/wm_shelf_util.h"
9 #include "ash/common/system/tray/system_tray.h" 9 #include "ash/common/system/tray/system_tray.h"
10 #include "ash/common/system/tray/tray_constants.h" 10 #include "ash/common/system/tray/tray_constants.h"
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 return vector_id; 52 return vector_id;
53 } 53 }
54 54
55 } // namespace 55 } // namespace
56 56
57 TrayImageItem::TrayImageItem(SystemTray* system_tray, 57 TrayImageItem::TrayImageItem(SystemTray* system_tray,
58 int resource_id, 58 int resource_id,
59 UmaType uma_type) 59 UmaType uma_type)
60 : SystemTrayItem(system_tray, uma_type), 60 : SystemTrayItem(system_tray, uma_type),
61 resource_id_(resource_id), 61 resource_id_(resource_id),
62 icon_color_(kTrayIconColor),
62 tray_view_(nullptr) {} 63 tray_view_(nullptr) {}
63 64
64 TrayImageItem::~TrayImageItem() {} 65 TrayImageItem::~TrayImageItem() {}
65 66
66 views::View* TrayImageItem::tray_view() { 67 views::View* TrayImageItem::tray_view() {
67 return tray_view_; 68 return tray_view_;
68 } 69 }
69 70
70 views::View* TrayImageItem::CreateTrayView(LoginStatus status) { 71 views::View* TrayImageItem::CreateTrayView(LoginStatus status) {
71 CHECK(!tray_view_); 72 CHECK(!tray_view_);
72 tray_view_ = new TrayItemView(this); 73 tray_view_ = new TrayItemView(this);
73 tray_view_->CreateImageView(); 74 tray_view_->CreateImageView();
74 75 UpdateImageOnImageView();
75 if (MaterialDesignController::UseMaterialDesignSystemIcons()) {
76 tray_view_->image_view()->SetImage(CreateVectorIcon(
77 ResourceIdToVectorIconId(resource_id_), kTrayIconSize, kTrayIconColor));
78 } else {
79 tray_view_->image_view()->SetImage(ui::ResourceBundle::GetSharedInstance()
80 .GetImageNamed(resource_id_)
81 .ToImageSkia());
82 }
83
84 tray_view_->SetVisible(GetInitialVisibility()); 76 tray_view_->SetVisible(GetInitialVisibility());
85 SetItemAlignment(system_tray()->shelf_alignment()); 77 SetItemAlignment(system_tray()->shelf_alignment());
86 return tray_view_; 78 return tray_view_;
87 } 79 }
88 80
89 views::View* TrayImageItem::CreateDefaultView(LoginStatus status) { 81 views::View* TrayImageItem::CreateDefaultView(LoginStatus status) {
90 return nullptr; 82 return nullptr;
91 } 83 }
92 84
93 views::View* TrayImageItem::CreateDetailedView(LoginStatus status) { 85 views::View* TrayImageItem::CreateDetailedView(LoginStatus status) {
94 return nullptr; 86 return nullptr;
95 } 87 }
96 88
97 void TrayImageItem::UpdateAfterLoginStatusChange(LoginStatus status) {} 89 void TrayImageItem::UpdateAfterLoginStatusChange(LoginStatus status) {}
98 90
99 void TrayImageItem::UpdateAfterShelfAlignmentChange(ShelfAlignment alignment) { 91 void TrayImageItem::UpdateAfterShelfAlignmentChange(ShelfAlignment alignment) {
100 SetTrayImageItemBorder(tray_view_, alignment); 92 SetTrayImageItemBorder(tray_view_, alignment);
101 SetItemAlignment(alignment); 93 SetItemAlignment(alignment);
102 } 94 }
103 95
104 void TrayImageItem::DestroyTrayView() { 96 void TrayImageItem::DestroyTrayView() {
105 tray_view_ = nullptr; 97 tray_view_ = nullptr;
106 } 98 }
107 99
108 void TrayImageItem::DestroyDefaultView() {} 100 void TrayImageItem::DestroyDefaultView() {}
109 101
110 void TrayImageItem::DestroyDetailedView() {} 102 void TrayImageItem::DestroyDetailedView() {}
111 103
112 // TODO(tdanderson): Consider moving or renaming this function, as it is only 104 void TrayImageItem::SetIconColor(SkColor color) {
113 // used by TrayUpdate to modify the update severity. See crbug.com/625692. 105 icon_color_ = color;
106 UpdateImageOnImageView();
107 }
108
114 void TrayImageItem::SetImageFromResourceId(int resource_id) { 109 void TrayImageItem::SetImageFromResourceId(int resource_id) {
115 resource_id_ = resource_id; 110 resource_id_ = resource_id;
116 if (!tray_view_) 111 UpdateImageOnImageView();
117 return;
118 tray_view_->image_view()->SetImage(ui::ResourceBundle::GetSharedInstance()
119 .GetImageNamed(resource_id_)
120 .ToImageSkia());
121 } 112 }
122 113
123 void TrayImageItem::SetItemAlignment(ShelfAlignment alignment) { 114 void TrayImageItem::SetItemAlignment(ShelfAlignment alignment) {
124 // Center the item dependent on the orientation of the shelf. 115 // Center the item dependent on the orientation of the shelf.
125 views::BoxLayout::Orientation layout = IsHorizontalAlignment(alignment) 116 views::BoxLayout::Orientation layout = IsHorizontalAlignment(alignment)
126 ? views::BoxLayout::kHorizontal 117 ? views::BoxLayout::kHorizontal
127 : views::BoxLayout::kVertical; 118 : views::BoxLayout::kVertical;
128 tray_view_->SetLayoutManager(new views::BoxLayout(layout, 0, 0, 0)); 119 tray_view_->SetLayoutManager(new views::BoxLayout(layout, 0, 0, 0));
129 tray_view_->Layout(); 120 tray_view_->Layout();
130 } 121 }
131 122
123 void TrayImageItem::UpdateImageOnImageView() {
124 if (!tray_view_)
125 return;
126
127 if (MaterialDesignController::UseMaterialDesignSystemIcons()) {
128 tray_view_->image_view()->SetImage(gfx::CreateVectorIcon(
129 ResourceIdToVectorIconId(resource_id_), kTrayIconSize, icon_color_));
130 } else {
131 tray_view_->image_view()->SetImage(ui::ResourceBundle::GetSharedInstance()
132 .GetImageNamed(resource_id_)
133 .ToImageSkia());
134 }
135 }
136
132 } // namespace ash 137 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698