| Index: chrome/browser/gtk/toolbar_star_toggle_gtk.h
|
| diff --git a/chrome/browser/gtk/toolbar_star_toggle_gtk.h b/chrome/browser/gtk/toolbar_star_toggle_gtk.h
|
| index afa61a313135031ab5df8e2c44d376709485d67d..2284415deb62fcc21e47cc16b35abe1f4bdb2e4a 100644
|
| --- a/chrome/browser/gtk/toolbar_star_toggle_gtk.h
|
| +++ b/chrome/browser/gtk/toolbar_star_toggle_gtk.h
|
| @@ -9,17 +9,25 @@
|
|
|
| #include "base/basictypes.h"
|
| #include "chrome/browser/gtk/custom_button.h"
|
| +#include "chrome/common/notification_observer.h"
|
| +#include "chrome/common/notification_registrar.h"
|
| #include "chrome/common/owned_widget_gtk.h"
|
|
|
| class BrowserToolbarGtk;
|
| +class GtkThemeProvider;
|
| class GURL;
|
|
|
| // Displays the bookmark star button, which toggles between two images.
|
| -class ToolbarStarToggleGtk {
|
| +class ToolbarStarToggleGtk : public NotificationObserver {
|
| public:
|
| - ToolbarStarToggleGtk(BrowserToolbarGtk* host);
|
| + explicit ToolbarStarToggleGtk(BrowserToolbarGtk* host);
|
| ~ToolbarStarToggleGtk();
|
|
|
| + // Provide NotificationObserver implementation.
|
| + virtual void Observe(NotificationType type,
|
| + const NotificationSource& source,
|
| + const NotificationDetails& details);
|
| +
|
| // If the bubble isn't showing, shows it above the star button.
|
| void ShowStarBubble(const GURL& url, bool newly_bookmarked);
|
|
|
| @@ -28,10 +36,17 @@ class ToolbarStarToggleGtk {
|
| GtkWidget* widget() const { return widget_.get(); }
|
|
|
| private:
|
| + // Updates the properties of |widget_| when we would need to change its
|
| + // state.
|
| + void UpdateGTKButton();
|
| +
|
| // Callback for expose, used to draw the custom graphics.
|
| static gboolean OnExpose(GtkWidget* widget, GdkEventExpose* e,
|
| ToolbarStarToggleGtk* obj);
|
|
|
| + // Used to listen for theme change notifications.
|
| + NotificationRegistrar registrar_;
|
| +
|
| // The browser toolbar hosting this widget, for getting the current profile.
|
| BrowserToolbarGtk* host_;
|
|
|
| @@ -41,6 +56,8 @@ class ToolbarStarToggleGtk {
|
| // Whether we show the yellow star.
|
| bool is_starred_;
|
|
|
| + GtkThemeProvider* theme_provider_;
|
| +
|
| CustomDrawButtonBase unstarred_;
|
| CustomDrawButtonBase starred_;
|
|
|
|
|