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

Unified Diff: chrome/browser/ui/views/profiles/new_avatar_button.cc

Issue 298813002: views: Move MenuButton from TextButton to LabelButton. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Disable DragDirectlyToSecondWindow. Created 6 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/profiles/new_avatar_button.cc
diff --git a/chrome/browser/ui/views/profiles/new_avatar_button.cc b/chrome/browser/ui/views/profiles/new_avatar_button.cc
index 173eb145ec1117af9d8b736d215b660cb38d9372..117f703edd5f3505f2c7f86bcfde089611349b8d 100644
--- a/chrome/browser/ui/views/profiles/new_avatar_button.cc
+++ b/chrome/browser/ui/views/profiles/new_avatar_button.cc
@@ -4,6 +4,7 @@
#include "chrome/browser/ui/views/profiles/new_avatar_button.h"
+#include "base/strings/utf_string_conversions.h"
#include "base/win/windows_version.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/profiles/profile_manager.h"
@@ -18,29 +19,34 @@
#include "ui/gfx/canvas.h"
#include "ui/gfx/color_utils.h"
#include "ui/gfx/font_list.h"
+#include "ui/gfx/text_constants.h"
#include "ui/gfx/text_elider.h"
#include "ui/views/border.h"
+#include "ui/views/controls/button/label_button_border.h"
#include "ui/views/painter.h"
namespace {
// Text padding within the button border.
-const int kInset = 10;
+const int kLeftRightInset = 7;
+const int kTopBottomInset = 2;
scoped_ptr<views::Border> CreateBorder(const int normal_image_set[],
const int hot_image_set[],
const int pushed_image_set[]) {
- scoped_ptr<views::TextButtonDefaultBorder> border(
- new views::TextButtonDefaultBorder());
+ scoped_ptr<views::LabelButtonBorder> border(
+ new views::LabelButtonBorder(views::Button::STYLE_TEXTBUTTON));
- border->SetInsets(gfx::Insets(kInset, kInset, kInset, kInset));
- border->set_normal_painter(
+ border->SetPainter(false, views::Button::STATE_NORMAL,
views::Painter::CreateImageGridPainter(normal_image_set));
- border->set_hot_painter(
+ border->SetPainter(false, views::Button::STATE_HOVERED,
views::Painter::CreateImageGridPainter(hot_image_set));
- border->set_pushed_painter(
+ border->SetPainter(false, views::Button::STATE_PRESSED,
views::Painter::CreateImageGridPainter(pushed_image_set));
+ border->set_insets(gfx::Insets(kTopBottomInset, kLeftRightInset,
+ kTopBottomInset, kLeftRightInset));
+
return border.PassAs<views::Border>();
}
@@ -71,7 +77,11 @@ NewAvatarButton::NewAvatarButton(
: MenuButton(listener, GetButtonText(browser->profile()), NULL, true),
browser_(browser) {
set_animate_on_state_change(false);
- set_icon_placement(ICON_ON_RIGHT);
+ SetTextColor(views::Button::STATE_NORMAL, SK_ColorWHITE);
+ SetTextColor(views::Button::STATE_HOVERED, SK_ColorWHITE);
+ SetTextColor(views::Button::STATE_PRESSED, SK_ColorWHITE);
+ SetHaloColor(SK_ColorDKGRAY);
+ SetHorizontalAlignment(gfx::ALIGN_RIGHT);
ui::ResourceBundle* rb = &ui::ResourceBundle::GetSharedInstance();
@@ -130,22 +140,6 @@ NewAvatarButton::~NewAvatarButton() {
error->RemoveObserver(this);
}
-void NewAvatarButton::OnPaintText(gfx::Canvas* canvas, PaintButtonMode mode) {
- // Get text bounds, and then adjust for the top and RTL languages.
- gfx::Rect rect = GetTextBounds();
- rect.Offset(0, -rect.y());
- if (rect.width() > 0)
- rect.set_x(GetMirroredXForRect(rect));
-
- canvas->DrawStringRectWithHalo(
- text(),
- gfx::FontList(),
- SK_ColorWHITE,
- SK_ColorDKGRAY,
- rect,
- gfx::Canvas::NO_SUBPIXEL_RENDERING);
-}
-
void NewAvatarButton::OnProfileAdded(const base::FilePath& profile_path) {
UpdateAvatarButtonAndRelayoutParent();
}
@@ -173,14 +167,15 @@ void NewAvatarButton::OnErrorChanged() {
icon = *rb->GetImageNamed(IDR_WARNING).ToImageSkia();
}
- SetIcon(icon);
+ SetImage(views::Button::STATE_NORMAL, icon);
UpdateAvatarButtonAndRelayoutParent();
}
void NewAvatarButton::UpdateAvatarButtonAndRelayoutParent() {
// We want the button to resize if the new text is shorter.
SetText(GetButtonText(browser_->profile()));
- ClearMaxTextSize();
+ set_min_size(gfx::Size());
+ InvalidateLayout();
// Because the width of the button might have changed, the parent browser
// frame needs to recalculate the button bounds and redraw it.

Powered by Google App Engine
This is Rietveld 408576698