diff options
author | erg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-24 16:54:46 +0000 |
---|---|---|
committer | erg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-24 16:54:46 +0000 |
commit | 5e56a3a8e84ee5b4417077f5f3ec17b7dbe73bd1 (patch) | |
tree | ba6052962bcb4cd3eb60f7308ef19db86fff9e7d /chrome/browser/gtk/first_run_bubble.h | |
parent | 6d39d49d2001775bf486299261613298e1aab12a (diff) | |
download | chromium_src-5e56a3a8e84ee5b4417077f5f3ec17b7dbe73bd1.zip chromium_src-5e56a3a8e84ee5b4417077f5f3ec17b7dbe73bd1.tar.gz chromium_src-5e56a3a8e84ee5b4417077f5f3ec17b7dbe73bd1.tar.bz2 |
GTK Themes: Theme the bookmark bubble. (And first run bubble).
http://crbug.com/16783
Review URL: http://codereview.chromium.org/160025
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21535 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/gtk/first_run_bubble.h')
-rw-r--r-- | chrome/browser/gtk/first_run_bubble.h | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/chrome/browser/gtk/first_run_bubble.h b/chrome/browser/gtk/first_run_bubble.h index 6e7c817..b52dc98 100644 --- a/chrome/browser/gtk/first_run_bubble.h +++ b/chrome/browser/gtk/first_run_bubble.h @@ -6,16 +6,21 @@ // presented on first run of Chromium. There can only ever be a single // bubble open, so the class presents only static methods. -#ifndef CHROME_BROWSER_GTK_FIRST_RUN_BUBBLE_GTK_H_ -#define CHROME_BROWSER_GTK_FIRST_RUN_BUBBLE_GTK_H_ +#ifndef CHROME_BROWSER_GTK_FIRST_RUN_BUBBLE_H_ +#define CHROME_BROWSER_GTK_FIRST_RUN_BUBBLE_H_ #include <gtk/gtk.h> +#include <vector> + #include "base/basictypes.h" #include "chrome/browser/gtk/info_bubble_gtk.h" #include "chrome/browser/profile.h" +#include "chrome/common/notification_observer.h" +#include "chrome/common/notification_registrar.h" -class FirstRunBubble : public InfoBubbleGtkDelegate { +class FirstRunBubble : public InfoBubbleGtkDelegate, + public NotificationObserver { public: // Shows the first run bubble, pointing at |rect|. static void Show(Profile* profile, @@ -29,6 +34,11 @@ class FirstRunBubble : public InfoBubbleGtkDelegate { bool closed_by_escape); virtual bool CloseOnEscape() { return true; } + // Overridden from NotificationObserver: + virtual void Observe(NotificationType type, + const NotificationSource& source, + const NotificationDetails& details); + private: FirstRunBubble(Profile* profile, GtkWindow* parent, @@ -53,6 +63,9 @@ class FirstRunBubble : public InfoBubbleGtkDelegate { // Our current profile. Profile* profile_; + // Provides colors and stuff. + GtkThemeProvider* theme_provider_; + // The toplevel window our dialogs should be transient for. GtkWindow* parent_; @@ -60,9 +73,15 @@ class FirstRunBubble : public InfoBubbleGtkDelegate { // when the widget is destroyed (when the InfoBubble is destroyed). GtkWidget* content_; + // The various labels in the interface. We keep track of them for theme + // changes. + std::vector<GtkWidget*> labels_; + InfoBubbleGtk* bubble_; + NotificationRegistrar registrar_; + DISALLOW_COPY_AND_ASSIGN(FirstRunBubble); }; -#endif // CHROME_BROWSER_GTK_FIRST_RUN_BUBBLE_GTK_H_ +#endif // CHROME_BROWSER_GTK_FIRST_RUN_BUBBLE_H_ |