summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-24 05:10:23 +0000
committertfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-24 05:10:23 +0000
commit49adf97633ce1950bdef6cf43be46a1e6b2557f6 (patch)
treee7b4f9b8744ba7ca23af07c0fdba184df1e7a746
parent98c1d817896f8723dcf348d6e6d292c42f9a6c13 (diff)
downloadchromium_src-49adf97633ce1950bdef6cf43be46a1e6b2557f6.zip
chromium_src-49adf97633ce1950bdef6cf43be46a1e6b2557f6.tar.gz
chromium_src-49adf97633ce1950bdef6cf43be46a1e6b2557f6.tar.bz2
views/infobars: Convert infobars from TextButton to LabelButton.
BUG=155363 R=msw@chromium.org,pkasting@chromium.org TBR=ben@chromium.org Review URL: https://chromiumcodereview.appspot.com/14066024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@196037 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/ui/views/infobars/after_translate_infobar.cc3
-rw-r--r--chrome/browser/ui/views/infobars/after_translate_infobar.h2
-rw-r--r--chrome/browser/ui/views/infobars/before_translate_infobar.cc9
-rw-r--r--chrome/browser/ui/views/infobars/before_translate_infobar.h8
-rw-r--r--chrome/browser/ui/views/infobars/confirm_infobar.cc6
-rw-r--r--chrome/browser/ui/views/infobars/confirm_infobar.h7
-rw-r--r--chrome/browser/ui/views/infobars/infobar_label_button_border.cc38
-rw-r--r--chrome/browser/ui/views/infobars/infobar_label_button_border.h25
-rw-r--r--chrome/browser/ui/views/infobars/infobar_view.cc27
-rw-r--r--chrome/browser/ui/views/infobars/infobar_view.h12
-rw-r--r--chrome/browser/ui/views/infobars/one_click_signin_infobar.cc8
-rw-r--r--chrome/browser/ui/views/infobars/translate_message_infobar.cc4
-rw-r--r--chrome/browser/ui/views/infobars/translate_message_infobar.h2
-rw-r--r--chrome/chrome_browser_ui.gypi2
14 files changed, 112 insertions, 41 deletions
diff --git a/chrome/browser/ui/views/infobars/after_translate_infobar.cc b/chrome/browser/ui/views/infobars/after_translate_infobar.cc
index 173bec7..373a35a 100644
--- a/chrome/browser/ui/views/infobars/after_translate_infobar.cc
+++ b/chrome/browser/ui/views/infobars/after_translate_infobar.cc
@@ -8,6 +8,7 @@
#include "chrome/browser/translate/translate_infobar_delegate.h"
#include "grit/generated_resources.h"
#include "ui/base/l10n/l10n_util.h"
+#include "ui/views/controls/button/label_button.h"
#include "ui/views/controls/button/menu_button.h"
#include "ui/views/controls/label.h"
#include "ui/views/controls/menu/menu_item_view.h"
@@ -110,7 +111,7 @@ void AfterTranslateInfoBar::ViewHierarchyChanged(bool is_add,
label_3_ = CreateLabel(strings[2]);
AddChildView(label_3_);
- revert_button_ = CreateTextButton(this,
+ revert_button_ = CreateLabelButton(this,
l10n_util::GetStringUTF16(IDS_TRANSLATE_INFOBAR_REVERT), false);
AddChildView(revert_button_);
diff --git a/chrome/browser/ui/views/infobars/after_translate_infobar.h b/chrome/browser/ui/views/infobars/after_translate_infobar.h
index 9be2bb4..481d351 100644
--- a/chrome/browser/ui/views/infobars/after_translate_infobar.h
+++ b/chrome/browser/ui/views/infobars/after_translate_infobar.h
@@ -47,7 +47,7 @@ class AfterTranslateInfoBar : public TranslateInfoBarBase,
views::MenuButton* original_language_menu_button_;
views::MenuButton* target_language_menu_button_;
- views::TextButton* revert_button_;
+ views::LabelButton* revert_button_;
views::MenuButton* options_menu_button_;
scoped_ptr<TranslateLanguageMenuModel> original_language_menu_model_;
diff --git a/chrome/browser/ui/views/infobars/before_translate_infobar.cc b/chrome/browser/ui/views/infobars/before_translate_infobar.cc
index b2938df..bcd258c2 100644
--- a/chrome/browser/ui/views/infobars/before_translate_infobar.cc
+++ b/chrome/browser/ui/views/infobars/before_translate_infobar.cc
@@ -8,6 +8,7 @@
#include "chrome/browser/translate/translate_infobar_delegate.h"
#include "grit/generated_resources.h"
#include "ui/base/l10n/l10n_util.h"
+#include "ui/views/controls/button/label_button.h"
#include "ui/views/controls/button/menu_button.h"
#include "ui/views/controls/label.h"
#include "ui/views/controls/menu/menu_item_view.h"
@@ -108,11 +109,11 @@ void BeforeTranslateInfoBar::ViewHierarchyChanged(bool is_add,
label_2_ = CreateLabel(text.substr(offset));
AddChildView(label_2_);
- accept_button_ = CreateTextButton(this,
+ accept_button_ = CreateLabelButton(this,
l10n_util::GetStringUTF16(IDS_TRANSLATE_INFOBAR_ACCEPT), false);
AddChildView(accept_button_);
- deny_button_ = CreateTextButton(this,
+ deny_button_ = CreateLabelButton(this,
l10n_util::GetStringUTF16(IDS_TRANSLATE_INFOBAR_DENY), false);
AddChildView(deny_button_);
@@ -120,12 +121,12 @@ void BeforeTranslateInfoBar::ViewHierarchyChanged(bool is_add,
delegate->language_name_at(delegate->original_language_index()));
if (delegate->ShouldShowNeverTranslateButton()) {
DCHECK(!delegate->ShouldShowAlwaysTranslateButton());
- never_translate_button_ = CreateTextButton(this,
+ never_translate_button_ = CreateLabelButton(this,
l10n_util::GetStringFUTF16(IDS_TRANSLATE_INFOBAR_NEVER_TRANSLATE,
language), false);
AddChildView(never_translate_button_);
} else if (delegate->ShouldShowAlwaysTranslateButton()) {
- always_translate_button_ = CreateTextButton(this,
+ always_translate_button_ = CreateLabelButton(this,
l10n_util::GetStringFUTF16(IDS_TRANSLATE_INFOBAR_ALWAYS_TRANSLATE,
language), false);
AddChildView(always_translate_button_);
diff --git a/chrome/browser/ui/views/infobars/before_translate_infobar.h b/chrome/browser/ui/views/infobars/before_translate_infobar.h
index c8764b3..2653794 100644
--- a/chrome/browser/ui/views/infobars/before_translate_infobar.h
+++ b/chrome/browser/ui/views/infobars/before_translate_infobar.h
@@ -45,10 +45,10 @@ class BeforeTranslateInfoBar : public TranslateInfoBarBase,
views::Label* label_2_;
views::MenuButton* language_menu_button_;
- views::TextButton* accept_button_;
- views::TextButton* deny_button_;
- views::TextButton* never_translate_button_;
- views::TextButton* always_translate_button_;
+ views::LabelButton* accept_button_;
+ views::LabelButton* deny_button_;
+ views::LabelButton* never_translate_button_;
+ views::LabelButton* always_translate_button_;
views::MenuButton* options_menu_button_;
scoped_ptr<TranslateLanguageMenuModel> language_menu_model_;
diff --git a/chrome/browser/ui/views/infobars/confirm_infobar.cc b/chrome/browser/ui/views/infobars/confirm_infobar.cc
index 10ab452..ecb51c0 100644
--- a/chrome/browser/ui/views/infobars/confirm_infobar.cc
+++ b/chrome/browser/ui/views/infobars/confirm_infobar.cc
@@ -7,7 +7,7 @@
#include "base/logging.h"
#include "chrome/browser/infobars/confirm_infobar_delegate.h"
#include "ui/base/window_open_disposition.h"
-#include "ui/views/controls/button/text_button.h"
+#include "ui/views/controls/button/label_button.h"
#include "ui/views/controls/label.h"
#include "ui/views/controls/link.h"
@@ -71,14 +71,14 @@ void ConfirmInfoBar::ViewHierarchyChanged(bool is_add,
AddChildView(label_);
if (delegate->GetButtons() & ConfirmInfoBarDelegate::BUTTON_OK) {
- ok_button_ = CreateTextButton(this,
+ ok_button_ = CreateLabelButton(this,
delegate->GetButtonLabel(ConfirmInfoBarDelegate::BUTTON_OK),
delegate->NeedElevation(ConfirmInfoBarDelegate::BUTTON_OK));
AddChildView(ok_button_);
}
if (delegate->GetButtons() & ConfirmInfoBarDelegate::BUTTON_CANCEL) {
- cancel_button_ = CreateTextButton(this,
+ cancel_button_ = CreateLabelButton(this,
delegate->GetButtonLabel(ConfirmInfoBarDelegate::BUTTON_CANCEL),
delegate->NeedElevation(ConfirmInfoBarDelegate::BUTTON_CANCEL));
AddChildView(cancel_button_);
diff --git a/chrome/browser/ui/views/infobars/confirm_infobar.h b/chrome/browser/ui/views/infobars/confirm_infobar.h
index ed4093d..cc11c5b 100644
--- a/chrome/browser/ui/views/infobars/confirm_infobar.h
+++ b/chrome/browser/ui/views/infobars/confirm_infobar.h
@@ -14,7 +14,6 @@ class ConfirmInfoBarDelegate;
namespace views {
class Label;
-class TextButton;
}
// An infobar that shows a message, up to two optional buttons, and an optional,
@@ -31,7 +30,7 @@ class ConfirmInfoBar : public InfoBarView,
// removed.
virtual ~ConfirmInfoBar();
- views::TextButton* ok_button() { return ok_button_; }
+ views::LabelButton* ok_button() { return ok_button_; }
// InfoBarView:
virtual void Layout() OVERRIDE;
@@ -49,8 +48,8 @@ class ConfirmInfoBar : public InfoBarView,
ConfirmInfoBarDelegate* GetDelegate();
views::Label* label_;
- views::TextButton* ok_button_;
- views::TextButton* cancel_button_;
+ views::LabelButton* ok_button_;
+ views::LabelButton* cancel_button_;
views::Link* link_;
DISALLOW_COPY_AND_ASSIGN(ConfirmInfoBar);
diff --git a/chrome/browser/ui/views/infobars/infobar_label_button_border.cc b/chrome/browser/ui/views/infobars/infobar_label_button_border.cc
new file mode 100644
index 0000000..391592e
--- /dev/null
+++ b/chrome/browser/ui/views/infobars/infobar_label_button_border.cc
@@ -0,0 +1,38 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/ui/views/infobars/infobar_label_button_border.h"
+
+#include "chrome/browser/defaults.h"
+#include "grit/theme_resources.h"
+#include "ui/views/painter.h"
+
+namespace {
+
+const int kNormalImageSet[] = IMAGE_GRID(IDR_INFOBARBUTTON_NORMAL);
+const int kHoveredImageSet[] = IMAGE_GRID(IDR_INFOBARBUTTON_HOVER);
+const int kPressedImageSet[] = IMAGE_GRID(IDR_INFOBARBUTTON_PRESSED);
+
+} // namespace
+
+InfoBarLabelButtonBorder::InfoBarLabelButtonBorder()
+ : views::LabelButtonBorder(views::Button::STYLE_TEXTBUTTON) {
+ SetPainter(false, views::Button::STATE_NORMAL,
+ views::Painter::CreateImageGridPainter(kNormalImageSet));
+ SetPainter(false, views::Button::STATE_HOVERED,
+ views::Painter::CreateImageGridPainter(kHoveredImageSet));
+ SetPainter(false, views::Button::STATE_PRESSED,
+ views::Painter::CreateImageGridPainter(kPressedImageSet));
+}
+
+InfoBarLabelButtonBorder::~InfoBarLabelButtonBorder() {
+}
+
+gfx::Insets InfoBarLabelButtonBorder::GetInsets() const{
+ gfx::Insets insets = views::LabelButtonBorder::GetInsets();
+ return gfx::Insets(browser_defaults::kInfoBarBorderPaddingVertical,
+ insets.left(),
+ browser_defaults::kInfoBarBorderPaddingVertical,
+ insets.right());
+}
diff --git a/chrome/browser/ui/views/infobars/infobar_label_button_border.h b/chrome/browser/ui/views/infobars/infobar_label_button_border.h
new file mode 100644
index 0000000..8ff769f
--- /dev/null
+++ b/chrome/browser/ui/views/infobars/infobar_label_button_border.h
@@ -0,0 +1,25 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_UI_VIEWS_INFOBARS_INFOBAR_LABEL_BUTTON_BORDER_H_
+#define CHROME_BROWSER_UI_VIEWS_INFOBARS_INFOBAR_LABEL_BUTTON_BORDER_H_
+
+#include "ui/views/controls/button/label_button_border.h"
+
+// A LabelButtonBorder that is dark and also paints the button frame in the
+// normal state.
+class InfoBarLabelButtonBorder : public views::LabelButtonBorder {
+ public:
+ InfoBarLabelButtonBorder();
+
+ private:
+ virtual ~InfoBarLabelButtonBorder();
+
+ // Overridden from views::LabelButtonBorder:
+ virtual gfx::Insets GetInsets() const OVERRIDE;
+
+ DISALLOW_COPY_AND_ASSIGN(InfoBarLabelButtonBorder);
+};
+
+#endif // CHROME_BROWSER_UI_VIEWS_INFOBARS_INFOBAR_LABEL_BUTTON_BORDER_H_
diff --git a/chrome/browser/ui/views/infobars/infobar_view.cc b/chrome/browser/ui/views/infobars/infobar_view.cc
index 1be9e5f..8638467 100644
--- a/chrome/browser/ui/views/infobars/infobar_view.cc
+++ b/chrome/browser/ui/views/infobars/infobar_view.cc
@@ -15,6 +15,7 @@
#include "chrome/browser/infobars/infobar_delegate.h"
#include "chrome/browser/ui/views/infobars/infobar_background.h"
#include "chrome/browser/ui/views/infobars/infobar_button_border.h"
+#include "chrome/browser/ui/views/infobars/infobar_label_button_border.h"
#include "grit/generated_resources.h"
#include "grit/theme_resources.h"
#include "grit/ui_resources.h"
@@ -25,8 +26,8 @@
#include "ui/gfx/canvas.h"
#include "ui/gfx/image/image.h"
#include "ui/views/controls/button/image_button.h"
+#include "ui/views/controls/button/label_button.h"
#include "ui/views/controls/button/menu_button.h"
-#include "ui/views/controls/button/text_button.h"
#include "ui/views/controls/image_view.h"
#include "ui/views/controls/label.h"
#include "ui/views/controls/link.h"
@@ -114,17 +115,17 @@ views::MenuButton* InfoBarView::CreateMenuButton(
}
// static
-views::TextButton* InfoBarView::CreateTextButton(
+views::LabelButton* InfoBarView::CreateLabelButton(
views::ButtonListener* listener,
const string16& text,
bool needs_elevation) {
- views::TextButton* text_button = new views::TextButton(listener, text);
- text_button->set_border(new InfoBarButtonBorder);
- text_button->set_animate_on_state_change(false);
- text_button->SetEnabledColor(SK_ColorBLACK);
- text_button->SetHoverColor(SK_ColorBLACK);
+ views::LabelButton* label_button = new views::LabelButton(listener, text);
+ label_button->set_border(new InfoBarLabelButtonBorder);
+ label_button->set_animate_on_state_change(false);
+ label_button->SetTextColor(views::Button::STATE_NORMAL, SK_ColorBLACK);
+ label_button->SetTextColor(views::Button::STATE_HOVERED, SK_ColorBLACK);
ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
- text_button->SetFont(rb.GetFont(ui::ResourceBundle::MediumFont));
+ label_button->SetFont(rb.GetFont(ui::ResourceBundle::MediumFont));
#if defined(OS_WIN)
if (needs_elevation &&
(base::win::GetVersion() >= base::win::VERSION_VISTA) &&
@@ -142,14 +143,16 @@ views::TextButton* InfoBarView::CreateTextButton(
scoped_ptr<SkBitmap> icon(IconUtil::CreateSkBitmapFromHICON(
icon_info.hIcon, gfx::Size(GetSystemMetrics(SM_CXSMICON),
GetSystemMetrics(SM_CYSMICON))));
- if (icon.get())
- text_button->SetIcon(gfx::ImageSkia::CreateFrom1xBitmap(*icon));
+ if (icon.get()) {
+ label_button->SetImage(views::Button::STATE_NORMAL,
+ gfx::ImageSkia::CreateFrom1xBitmap(*icon));
+ }
DestroyIcon(icon_info.hIcon);
}
}
#endif
- text_button->set_focusable(true);
- return text_button;
+ label_button->set_focusable(true);
+ return label_button;
}
void InfoBarView::Layout() {
diff --git a/chrome/browser/ui/views/infobars/infobar_view.h b/chrome/browser/ui/views/infobars/infobar_view.h
index e970b7e..491b428 100644
--- a/chrome/browser/ui/views/infobars/infobar_view.h
+++ b/chrome/browser/ui/views/infobars/infobar_view.h
@@ -22,12 +22,12 @@ class ExternalFocusTracker;
class ImageButton;
class ImageView;
class Label;
+class LabelButton;
class Link;
class LinkListener;
class MenuButton;
-class MenuRunner;
-class TextButton;
class MenuButtonListener;
+class MenuRunner;
}
class InfoBarView : public InfoBar,
@@ -60,11 +60,11 @@ class InfoBarView : public InfoBar,
const string16& text,
views::MenuButtonListener* menu_button_listener);
- // Creates a text button with an infobar-specific appearance.
+ // Creates a button with an infobar-specific appearance.
// NOTE: Subclasses must ignore button presses if we're unowned.
- static views::TextButton* CreateTextButton(views::ButtonListener* listener,
- const string16& text,
- bool needs_elevation);
+ static views::LabelButton* CreateLabelButton(views::ButtonListener* listener,
+ const string16& text,
+ bool needs_elevation);
// views::View:
virtual void Layout() OVERRIDE;
diff --git a/chrome/browser/ui/views/infobars/one_click_signin_infobar.cc b/chrome/browser/ui/views/infobars/one_click_signin_infobar.cc
index e31d6ff..cb58d38 100644
--- a/chrome/browser/ui/views/infobars/one_click_signin_infobar.cc
+++ b/chrome/browser/ui/views/infobars/one_click_signin_infobar.cc
@@ -15,7 +15,7 @@
#include "ui/gfx/skia_util.h"
#include "ui/views/border.h"
#include "ui/views/controls/button/custom_button.h"
-#include "ui/views/controls/button/text_button.h"
+#include "ui/views/controls/button/label_button.h"
namespace {
@@ -139,6 +139,8 @@ void OneClickSigninInfoBar::ViewHierarchyChanged(bool is_add,
ok_button()->set_border(new InfoBarColoredButtonBorder(
alt_colors.button_background_color,
alt_colors.button_border_color));
- ok_button()->SetEnabledColor(alt_colors.button_text_color);
- ok_button()->SetHoverColor(alt_colors.button_text_color);
+ ok_button()->SetTextColor(views::Button::STATE_NORMAL,
+ alt_colors.button_text_color);
+ ok_button()->SetTextColor(views::Button::STATE_HOVERED,
+ alt_colors.button_text_color);
}
diff --git a/chrome/browser/ui/views/infobars/translate_message_infobar.cc b/chrome/browser/ui/views/infobars/translate_message_infobar.cc
index 29db04f..e27c660 100644
--- a/chrome/browser/ui/views/infobars/translate_message_infobar.cc
+++ b/chrome/browser/ui/views/infobars/translate_message_infobar.cc
@@ -5,7 +5,7 @@
#include "chrome/browser/ui/views/infobars/translate_message_infobar.h"
#include "chrome/browser/translate/translate_infobar_delegate.h"
-#include "ui/views/controls/button/text_button.h"
+#include "ui/views/controls/button/label_button.h"
#include "ui/views/controls/label.h"
TranslateMessageInfoBar::TranslateMessageInfoBar(
@@ -45,7 +45,7 @@ void TranslateMessageInfoBar::ViewHierarchyChanged(bool is_add,
string16 button_text(delegate->GetMessageInfoBarButtonText());
if (!button_text.empty()) {
- button_ = CreateTextButton(this, button_text, false);
+ button_ = CreateLabelButton(this, button_text, false);
AddChildView(button_);
}
}
diff --git a/chrome/browser/ui/views/infobars/translate_message_infobar.h b/chrome/browser/ui/views/infobars/translate_message_infobar.h
index b5cca3f..8f437b7 100644
--- a/chrome/browser/ui/views/infobars/translate_message_infobar.h
+++ b/chrome/browser/ui/views/infobars/translate_message_infobar.h
@@ -25,7 +25,7 @@ class TranslateMessageInfoBar : public TranslateInfoBarBase {
virtual int ContentMinimumWidth() const OVERRIDE;
views::Label* label_;
- views::TextButton* button_;
+ views::LabelButton* button_;
DISALLOW_COPY_AND_ASSIGN(TranslateMessageInfoBar);
};
diff --git a/chrome/chrome_browser_ui.gypi b/chrome/chrome_browser_ui.gypi
index 0a8107a..2e4e74d 100644
--- a/chrome/chrome_browser_ui.gypi
+++ b/chrome/chrome_browser_ui.gypi
@@ -1674,6 +1674,8 @@
'browser/ui/views/infobars/infobar_button_border.h',
'browser/ui/views/infobars/infobar_container_view.cc',
'browser/ui/views/infobars/infobar_container_view.h',
+ 'browser/ui/views/infobars/infobar_label_button_border.cc',
+ 'browser/ui/views/infobars/infobar_label_button_border.h',
'browser/ui/views/infobars/infobar_view.cc',
'browser/ui/views/infobars/infobar_view.h',
'browser/ui/views/infobars/one_click_signin_infobar.cc',