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