| Index: chrome/browser/gtk/custom_button.cc
|
| diff --git a/chrome/browser/gtk/custom_button.cc b/chrome/browser/gtk/custom_button.cc
|
| index cbe0f94832eae7435d17fb5ce26f18783af1b64f..6729ee63f5d4976bd92c114c0132efef02d540de 100644
|
| --- a/chrome/browser/gtk/custom_button.cc
|
| +++ b/chrome/browser/gtk/custom_button.cc
|
| @@ -6,43 +6,28 @@
|
|
|
| #include "app/l10n_util.h"
|
| #include "app/resource_bundle.h"
|
| -#include "app/theme_provider.h"
|
| #include "base/basictypes.h"
|
| #include "base/gfx/gtk_util.h"
|
| -#include "chrome/common/notification_service.h"
|
| +
|
| #include "grit/theme_resources.h"
|
|
|
| -CustomDrawButtonBase::CustomDrawButtonBase(ThemeProvider* theme_provider,
|
| - int normal_id, int active_id, int highlight_id, int depressed_id)
|
| - : paint_override_(-1),
|
| - normal_id_(normal_id),
|
| - active_id_(active_id),
|
| - highlight_id_(highlight_id),
|
| - depressed_id_(depressed_id),
|
| - theme_provider_(theme_provider) {
|
| - if (theme_provider) {
|
| - // Load images by pretending that we got a BROWSER_THEME_CHANGED
|
| - // notification.
|
| - Observe(NotificationType::BROWSER_THEME_CHANGED,
|
| - NotificationService::AllSources(),
|
| - NotificationService::NoDetails());
|
| -
|
| - registrar_.Add(this,
|
| - NotificationType::BROWSER_THEME_CHANGED,
|
| - NotificationService::AllSources());
|
| - } else {
|
| - // Load the button images from the resource bundle.
|
| - ResourceBundle& rb = ResourceBundle::GetSharedInstance();
|
| - pixbufs_[GTK_STATE_NORMAL] =
|
| - normal_id ? rb.GetRTLEnabledPixbufNamed(normal_id) : NULL;
|
| - pixbufs_[GTK_STATE_ACTIVE] =
|
| - active_id ? rb.GetRTLEnabledPixbufNamed(active_id) : NULL;
|
| - pixbufs_[GTK_STATE_PRELIGHT] =
|
| - highlight_id ? rb.GetRTLEnabledPixbufNamed(highlight_id) : NULL;
|
| - pixbufs_[GTK_STATE_SELECTED] = NULL;
|
| - pixbufs_[GTK_STATE_INSENSITIVE] =
|
| - depressed_id ? rb.GetRTLEnabledPixbufNamed(depressed_id) : NULL;
|
| - }
|
| +CustomDrawButtonBase::CustomDrawButtonBase(
|
| + int normal_id,
|
| + int active_id,
|
| + int highlight_id,
|
| + int depressed_id)
|
| + : paint_override_(-1) {
|
| + // Load the button images from the resource bundle.
|
| + ResourceBundle& rb = ResourceBundle::GetSharedInstance();
|
| + pixbufs_[GTK_STATE_NORMAL] =
|
| + normal_id ? rb.GetRTLEnabledPixbufNamed(normal_id) : NULL;
|
| + pixbufs_[GTK_STATE_ACTIVE] =
|
| + active_id ? rb.GetRTLEnabledPixbufNamed(active_id) : NULL;
|
| + pixbufs_[GTK_STATE_PRELIGHT] =
|
| + highlight_id ? rb.GetRTLEnabledPixbufNamed(highlight_id) : NULL;
|
| + pixbufs_[GTK_STATE_SELECTED] = NULL;
|
| + pixbufs_[GTK_STATE_INSENSITIVE] =
|
| + depressed_id ? rb.GetRTLEnabledPixbufNamed(depressed_id) : NULL;
|
| }
|
|
|
| CustomDrawButtonBase::~CustomDrawButtonBase() {
|
| @@ -76,51 +61,24 @@ gboolean CustomDrawButtonBase::OnExpose(GtkWidget* widget, GdkEventExpose* e) {
|
| return TRUE;
|
| }
|
|
|
| -void CustomDrawButtonBase::Observe(NotificationType type,
|
| - const NotificationSource& source, const NotificationDetails& details) {
|
| - DCHECK(theme_provider_);
|
| - DCHECK(NotificationType::BROWSER_THEME_CHANGED == type);
|
| -
|
| - // TODO(tc): Add GetRTLEnabledPixbufNamed to ThemeProviderGtk.
|
| - pixbufs_[GTK_STATE_NORMAL] =
|
| - normal_id_ ? theme_provider_->GetPixbufNamed(normal_id_) : NULL;
|
| - pixbufs_[GTK_STATE_ACTIVE] =
|
| - active_id_ ? theme_provider_->GetPixbufNamed(active_id_) : NULL;
|
| - pixbufs_[GTK_STATE_PRELIGHT] =
|
| - highlight_id_ ? theme_provider_->GetPixbufNamed(highlight_id_) : NULL;
|
| - pixbufs_[GTK_STATE_SELECTED] = NULL;
|
| - pixbufs_[GTK_STATE_INSENSITIVE] =
|
| - depressed_id_ ? theme_provider_->GetPixbufNamed(depressed_id_) : NULL;
|
| -}
|
| -
|
| -CustomDrawButton::CustomDrawButton(int normal_id, int active_id,
|
| - int highlight_id, int depressed_id, const char* stock_id)
|
| - : button_base_(NULL, normal_id, active_id, highlight_id, depressed_id),
|
| - gtk_stock_name_(stock_id),
|
| - has_expose_signal_handler_(false) {
|
| - Init();
|
| -}
|
| -
|
| -CustomDrawButton::CustomDrawButton(ThemeProvider* theme_provider,
|
| - int normal_id, int active_id, int highlight_id, int depressed_id,
|
| +CustomDrawButton::CustomDrawButton(
|
| + int normal_id,
|
| + int active_id,
|
| + int highlight_id,
|
| + int depressed_id,
|
| const char* stock_id)
|
| - : button_base_(theme_provider, normal_id, active_id, highlight_id,
|
| - depressed_id),
|
| + : button_base_(normal_id, active_id, highlight_id, depressed_id),
|
| gtk_stock_name_(stock_id),
|
| has_expose_signal_handler_(false) {
|
| - Init();
|
| + widget_.Own(gtk_button_new());
|
| + GTK_WIDGET_UNSET_FLAGS(widget_.get(), GTK_CAN_FOCUS);
|
| + SetUseSystemTheme(false);
|
| }
|
|
|
| CustomDrawButton::~CustomDrawButton() {
|
| widget_.Destroy();
|
| }
|
|
|
| -void CustomDrawButton::Init() {
|
| - widget_.Own(gtk_button_new());
|
| - GTK_WIDGET_UNSET_FLAGS(widget_.get(), GTK_CAN_FOCUS);
|
| - SetUseSystemTheme(false);
|
| -}
|
| -
|
| void CustomDrawButton::SetUseSystemTheme(bool use_gtk) {
|
| if (use_gtk && gtk_stock_name_) {
|
| gtk_button_set_image(
|
|
|