summaryrefslogtreecommitdiffstats
path: root/chrome/browser/gtk/first_run_bubble.h
diff options
context:
space:
mode:
authorerg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-24 16:54:46 +0000
committererg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-24 16:54:46 +0000
commit5e56a3a8e84ee5b4417077f5f3ec17b7dbe73bd1 (patch)
treeba6052962bcb4cd3eb60f7308ef19db86fff9e7d /chrome/browser/gtk/first_run_bubble.h
parent6d39d49d2001775bf486299261613298e1aab12a (diff)
downloadchromium_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.h27
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_