| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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/gtk/toolbar_star_toggle_gtk.h" | 5 #include "chrome/browser/gtk/toolbar_star_toggle_gtk.h" |
| 6 | 6 |
| 7 #include "app/resource_bundle.h" | 7 #include "app/resource_bundle.h" |
| 8 #include "base/gfx/rect.h" | 8 #include "base/gfx/rect.h" |
| 9 #include "chrome/browser/gtk/bookmark_bubble_gtk.h" | 9 #include "chrome/browser/gtk/bookmark_bubble_gtk.h" |
| 10 #include "chrome/browser/gtk/browser_toolbar_gtk.h" | 10 #include "chrome/browser/gtk/browser_toolbar_gtk.h" |
| 11 #include "chrome/browser/profile.h" |
| 11 #include "grit/theme_resources.h" | 12 #include "grit/theme_resources.h" |
| 12 | 13 |
| 13 ToolbarStarToggleGtk::ToolbarStarToggleGtk(BrowserToolbarGtk* host) | 14 ToolbarStarToggleGtk::ToolbarStarToggleGtk(BrowserToolbarGtk* host) |
| 14 : host_(host), | 15 : host_(host), |
| 15 widget_(gtk_button_new()), | 16 widget_(gtk_button_new()), |
| 16 is_starred_(false), | 17 is_starred_(false), |
| 17 unstarred_(IDR_STAR, IDR_STAR_P, IDR_STAR_H, IDR_STAR_D), | 18 unstarred_(host->profile()->GetThemeProvider(), IDR_STAR, IDR_STAR_P, |
| 18 starred_(IDR_STARRED, IDR_STARRED_P, IDR_STARRED_H, 0) { | 19 IDR_STAR_H, IDR_STAR_D), |
| 20 starred_(host->profile()->GetThemeProvider(), IDR_STARRED, IDR_STARRED_P, |
| 21 IDR_STARRED_H, 0) { |
| 19 gtk_widget_set_size_request(widget_.get(), | 22 gtk_widget_set_size_request(widget_.get(), |
| 20 gdk_pixbuf_get_width(unstarred_.pixbufs(0)), | 23 gdk_pixbuf_get_width(unstarred_.pixbufs(0)), |
| 21 gdk_pixbuf_get_height(unstarred_.pixbufs(0))); | 24 gdk_pixbuf_get_height(unstarred_.pixbufs(0))); |
| 22 | 25 |
| 23 gtk_widget_set_app_paintable(widget_.get(), TRUE); | 26 gtk_widget_set_app_paintable(widget_.get(), TRUE); |
| 24 // We effectively double-buffer by virtue of having only one image... | 27 // We effectively double-buffer by virtue of having only one image... |
| 25 gtk_widget_set_double_buffered(widget_.get(), FALSE); | 28 gtk_widget_set_double_buffered(widget_.get(), FALSE); |
| 26 g_signal_connect(G_OBJECT(widget_.get()), "expose-event", | 29 g_signal_connect(G_OBJECT(widget_.get()), "expose-event", |
| 27 G_CALLBACK(OnExpose), this); | 30 G_CALLBACK(OnExpose), this); |
| 28 GTK_WIDGET_UNSET_FLAGS(widget_.get(), GTK_CAN_FOCUS); | 31 GTK_WIDGET_UNSET_FLAGS(widget_.get(), GTK_CAN_FOCUS); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 56 | 59 |
| 57 // static | 60 // static |
| 58 gboolean ToolbarStarToggleGtk::OnExpose(GtkWidget* widget, GdkEventExpose* e, | 61 gboolean ToolbarStarToggleGtk::OnExpose(GtkWidget* widget, GdkEventExpose* e, |
| 59 ToolbarStarToggleGtk* button) { | 62 ToolbarStarToggleGtk* button) { |
| 60 if (button->is_starred_) { | 63 if (button->is_starred_) { |
| 61 return button->starred_.OnExpose(widget, e); | 64 return button->starred_.OnExpose(widget, e); |
| 62 } else { | 65 } else { |
| 63 return button->unstarred_.OnExpose(widget, e); | 66 return button->unstarred_.OnExpose(widget, e); |
| 64 } | 67 } |
| 65 } | 68 } |
| OLD | NEW |