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

Side by Side Diff: ash/system/user/tray_user.cc

Issue 2807693002: Make LogoutButtonTray a regular View (Closed)
Patch Set: Rebased Created 3 years, 8 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/system/user/tray_user.h" 5 #include "ash/system/user/tray_user.h"
6 6
7 #include "ash/session/session_controller.h" 7 #include "ash/session/session_controller.h"
8 #include "ash/shelf/wm_shelf_util.h" 8 #include "ash/shelf/wm_shelf.h"
9 #include "ash/shell.h" 9 #include "ash/shell.h"
10 #include "ash/strings/grit/ash_strings.h" 10 #include "ash/strings/grit/ash_strings.h"
11 #include "ash/system/tray/system_tray.h" 11 #include "ash/system/tray/system_tray.h"
12 #include "ash/system/tray/system_tray_delegate.h" 12 #include "ash/system/tray/system_tray_delegate.h"
13 #include "ash/system/tray/tray_constants.h" 13 #include "ash/system/tray/tray_constants.h"
14 #include "ash/system/tray/tray_item_view.h" 14 #include "ash/system/tray/tray_item_view.h"
15 #include "ash/system/tray/tray_utils.h" 15 #include "ash/system/tray/tray_utils.h"
16 #include "ash/system/user/rounded_image_view.h" 16 #include "ash/system/user/rounded_image_view.h"
17 #include "ash/system/user/user_view.h" 17 #include "ash/system/user/user_view.h"
18 #include "ash/wm_shell.h" 18 #include "ash/wm_shell.h"
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 } else if (status == LoginStatus::GUEST) { 163 } else if (status == LoginStatus::GUEST) {
164 label_->SetText(l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_GUEST_LABEL)); 164 label_->SetText(l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_GUEST_LABEL));
165 } 165 }
166 166
167 UpdateAvatarImage(status); 167 UpdateAvatarImage(status);
168 168
169 // Update layout after setting label_ and avatar_ with new login status. 169 // Update layout after setting label_ and avatar_ with new login status.
170 UpdateLayoutOfItem(); 170 UpdateLayoutOfItem();
171 } 171 }
172 172
173 void TrayUser::UpdateAfterShelfAlignmentChange(ShelfAlignment alignment) { 173 void TrayUser::UpdateAfterShelfAlignmentChange() {
174 // Inactive users won't have a layout. 174 // Inactive users won't have a layout.
175 if (!layout_view_) 175 if (!layout_view_)
176 return; 176 return;
177 if (IsHorizontalAlignment(alignment)) { 177 if (system_tray()->shelf()->IsHorizontalAlignment()) {
178 if (avatar_) { 178 if (avatar_) {
179 avatar_->SetCornerRadii(0, kTrayRoundedBorderRadius, 179 avatar_->SetCornerRadii(0, kTrayRoundedBorderRadius,
180 kTrayRoundedBorderRadius, 0); 180 kTrayRoundedBorderRadius, 0);
181 } 181 }
182 if (label_) { 182 if (label_) {
183 // If label_ hasn't figured out its size yet, do that first. 183 // If label_ hasn't figured out its size yet, do that first.
184 if (label_->GetContentsBounds().height() == 0) 184 if (label_->GetContentsBounds().height() == 0)
185 label_->SizeToPreferredSize(); 185 label_->SizeToPreferredSize();
186 int height = label_->GetContentsBounds().height(); 186 int height = label_->GetContentsBounds().height();
187 int vertical_pad = (kTrayItemSize - height) / 2; 187 int vertical_pad = (kTrayItemSize - height) / 2;
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 CHECK(user_session); 243 CHECK(user_session);
244 avatar_->SetImage(user_session->avatar, 244 avatar_->SetImage(user_session->avatar,
245 gfx::Size(kTrayItemSize, kTrayItemSize)); 245 gfx::Size(kTrayItemSize, kTrayItemSize));
246 246
247 // Unit tests might come here with no images for some users. 247 // Unit tests might come here with no images for some users.
248 if (avatar_->size().IsEmpty()) 248 if (avatar_->size().IsEmpty())
249 avatar_->SetSize(gfx::Size(kTrayItemSize, kTrayItemSize)); 249 avatar_->SetSize(gfx::Size(kTrayItemSize, kTrayItemSize));
250 } 250 }
251 251
252 void TrayUser::UpdateLayoutOfItem() { 252 void TrayUser::UpdateLayoutOfItem() {
253 UpdateAfterShelfAlignmentChange(system_tray()->shelf_alignment()); 253 UpdateAfterShelfAlignmentChange();
254 } 254 }
255 255
256 } // namespace ash 256 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698