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

Side by Side Diff: chrome/browser/ui/views/frame/opaque_browser_frame_view_layout.cc

Issue 127253004: Support displaying the avatar label on the right side. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix test. Created 6 years, 11 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "chrome/browser/ui/views/frame/opaque_browser_frame_view_layout.h" 5 #include "chrome/browser/ui/views/frame/opaque_browser_frame_view_layout.h"
6 6
7 #include "chrome/browser/profiles/profiles_state.h" 7 #include "chrome/browser/profiles/profiles_state.h"
8 #include "chrome/browser/ui/views/avatar_label.h"
8 #include "chrome/browser/ui/views/avatar_menu_button.h" 9 #include "chrome/browser/ui/views/avatar_menu_button.h"
9 #include "chrome/common/profile_management_switches.h" 10 #include "chrome/common/profile_management_switches.h"
10 #include "ui/gfx/font.h" 11 #include "ui/gfx/font.h"
11 #include "ui/views/controls/button/image_button.h" 12 #include "ui/views/controls/button/image_button.h"
12 #include "ui/views/controls/label.h" 13 #include "ui/views/controls/label.h"
13 14
14 #if defined(OS_WIN) 15 #if defined(OS_WIN)
15 #include "win8/util/win8_util.h" 16 #include "win8/util/win8_util.h"
16 #endif // OS_WIN 17 #endif // OS_WIN
17 18
(...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after
424 avatar_x, 425 avatar_x,
425 avatar_y, 426 avatar_y,
426 incognito_icon.width(), 427 incognito_icon.width(),
427 delegate_->ShouldShowAvatar() ? (avatar_bottom - avatar_y) : 0); 428 delegate_->ShouldShowAvatar() ? (avatar_bottom - avatar_y) : 0);
428 if (avatar_button_) { 429 if (avatar_button_) {
429 avatar_button_->set_button_on_right(avatar_on_right); 430 avatar_button_->set_button_on_right(avatar_on_right);
430 avatar_button_->SetBoundsRect(avatar_bounds_); 431 avatar_button_->SetBoundsRect(avatar_bounds_);
431 432
432 int edge_offset; 433 int edge_offset;
433 if (avatar_label_) { 434 if (avatar_label_) {
435 avatar_label_->SetLabelOnRight(avatar_on_right);
434 // Space between the bottom of the avatar and the bottom of the avatar 436 // Space between the bottom of the avatar and the bottom of the avatar
435 // label. 437 // label.
436 const int kAvatarLabelBottomSpacing = 3; 438 const int kAvatarLabelBottomSpacing = 3;
437 gfx::Size label_size = avatar_label_->GetPreferredSize(); 439 gfx::Size label_size = avatar_label_->GetPreferredSize();
438 // The x-position of the avatar label should be slightly to the left of 440 // If the avatar is displayed on the left, the x-position of the avatar
439 // the avatar menu button. Therefore we use the |leading_button_start_| 441 // label should be slightly to the left of the avatar menu button.
440 // value directly. 442 // Therefore we use the |leading_button_start_| value directly.
443 // Otherwise if the avatar is displayed on the right, the right end of the
444 // avatar label should be slightly to the right of the avatar menu button.
Peter Kasting 2014/01/15 02:06:26 Nit: This whole comment can just be: The outside
Adrian Kuegel 2014/01/15 16:24:51 Done.
445 int avatar_label_x = avatar_on_right ?
446 host->width() - trailing_button_start_ - label_size.width() :
447 leading_button_start_;
441 gfx::Rect label_bounds( 448 gfx::Rect label_bounds(
442 leading_button_start_, 449 avatar_label_x,
443 avatar_bottom - kAvatarLabelBottomSpacing - label_size.height(), 450 avatar_bottom - kAvatarLabelBottomSpacing - label_size.height(),
444 label_size.width(), 451 label_size.width(),
445 delegate_->ShouldShowAvatar() ? label_size.height() : 0); 452 delegate_->ShouldShowAvatar() ? label_size.height() : 0);
446 avatar_label_->SetBoundsRect(label_bounds); 453 avatar_label_->SetBoundsRect(label_bounds);
447 edge_offset = label_size.width(); 454 edge_offset = label_size.width();
448 } else { 455 } else {
449 edge_offset = kAvatarOuterSpacing + incognito_icon.width(); 456 edge_offset = kAvatarOuterSpacing + incognito_icon.width();
450 } 457 }
451 if (avatar_on_right) 458 if (avatar_on_right)
452 trailing_button_start_ += edge_offset; 459 trailing_button_start_ += edge_offset;
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
583 590
584 void OpaqueBrowserFrameViewLayout::SetView(int id, views::View* view) { 591 void OpaqueBrowserFrameViewLayout::SetView(int id, views::View* view) {
585 // Why do things this way instead of having an Init() method, where we're 592 // Why do things this way instead of having an Init() method, where we're
586 // passed the views we'll handle? Because OpaqueBrowserFrameView doesn't own 593 // passed the views we'll handle? Because OpaqueBrowserFrameView doesn't own
587 // all the views which are part of it. The avatar stuff, for example, will be 594 // all the views which are part of it. The avatar stuff, for example, will be
588 // added and removed by the base class of OpaqueBrowserFrameView. 595 // added and removed by the base class of OpaqueBrowserFrameView.
589 switch (id) { 596 switch (id) {
590 case VIEW_ID_MINIMIZE_BUTTON: 597 case VIEW_ID_MINIMIZE_BUTTON:
591 if (view) { 598 if (view) {
592 DCHECK_EQ(std::string(views::ImageButton::kViewClassName), 599 DCHECK_EQ(std::string(views::ImageButton::kViewClassName),
593 view->GetClassName()); 600 view->GetClassName());
Peter Kasting 2014/01/15 02:06:26 As alluded to in the other file: I don't really se
Adrian Kuegel 2014/01/15 16:24:51 I filed a bug for that and removed the DCHECK for
594 } 601 }
595 minimize_button_ = static_cast<views::ImageButton*>(view); 602 minimize_button_ = static_cast<views::ImageButton*>(view);
596 break; 603 break;
597 case VIEW_ID_MAXIMIZE_BUTTON: 604 case VIEW_ID_MAXIMIZE_BUTTON:
598 if (view) { 605 if (view) {
599 DCHECK_EQ(std::string(views::ImageButton::kViewClassName), 606 DCHECK_EQ(std::string(views::ImageButton::kViewClassName),
600 view->GetClassName()); 607 view->GetClassName());
601 } 608 }
602 maximize_button_ = static_cast<views::ImageButton*>(view); 609 maximize_button_ = static_cast<views::ImageButton*>(view);
603 break; 610 break;
(...skipping 15 matching lines...) Expand all
619 window_icon_ = view; 626 window_icon_ = view;
620 break; 627 break;
621 case VIEW_ID_WINDOW_TITLE: 628 case VIEW_ID_WINDOW_TITLE:
622 if (view) { 629 if (view) {
623 DCHECK_EQ(std::string(views::Label::kViewClassName), 630 DCHECK_EQ(std::string(views::Label::kViewClassName),
624 view->GetClassName()); 631 view->GetClassName());
625 } 632 }
626 window_title_ = static_cast<views::Label*>(view); 633 window_title_ = static_cast<views::Label*>(view);
627 break; 634 break;
628 case VIEW_ID_AVATAR_LABEL: 635 case VIEW_ID_AVATAR_LABEL:
629 avatar_label_ = view; 636 if (view) {
637 DCHECK_EQ(std::string(AvatarLabel::kViewClassName),
638 view->GetClassName());
639 }
640 avatar_label_ = static_cast<AvatarLabel*>(view);
630 break; 641 break;
631 case VIEW_ID_AVATAR_BUTTON: 642 case VIEW_ID_AVATAR_BUTTON:
632 if (view) { 643 if (view) {
633 DCHECK_EQ(std::string(AvatarMenuButton::kViewClassName), 644 DCHECK_EQ(std::string(AvatarMenuButton::kViewClassName),
634 view->GetClassName()); 645 view->GetClassName());
635 } 646 }
636 avatar_button_ = static_cast<AvatarMenuButton*>(view); 647 avatar_button_ = static_cast<AvatarMenuButton*>(view);
637 break; 648 break;
638 case VIEW_ID_NEW_AVATAR_BUTTON: 649 case VIEW_ID_NEW_AVATAR_BUTTON:
639 new_avatar_button_ = view; 650 new_avatar_button_ = view;
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
683 694
684 void OpaqueBrowserFrameViewLayout::ViewAdded(views::View* host, 695 void OpaqueBrowserFrameViewLayout::ViewAdded(views::View* host,
685 views::View* view) { 696 views::View* view) {
686 SetView(view->id(), view); 697 SetView(view->id(), view);
687 } 698 }
688 699
689 void OpaqueBrowserFrameViewLayout::ViewRemoved(views::View* host, 700 void OpaqueBrowserFrameViewLayout::ViewRemoved(views::View* host,
690 views::View* view) { 701 views::View* view) {
691 SetView(view->id(), NULL); 702 SetView(view->id(), NULL);
692 } 703 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698