summaryrefslogtreecommitdiffstats
path: root/chrome/browser/gtk/download_shelf_gtk.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/gtk/download_shelf_gtk.h')
-rw-r--r--chrome/browser/gtk/download_shelf_gtk.h20
1 files changed, 15 insertions, 5 deletions
diff --git a/chrome/browser/gtk/download_shelf_gtk.h b/chrome/browser/gtk/download_shelf_gtk.h
index 9c8e382..ae7923b 100644
--- a/chrome/browser/gtk/download_shelf_gtk.h
+++ b/chrome/browser/gtk/download_shelf_gtk.h
@@ -12,16 +12,19 @@
#include "base/gfx/native_widget_types.h"
#include "base/scoped_ptr.h"
#include "chrome/browser/download/download_shelf.h"
+#include "chrome/common/notification_observer.h"
+#include "chrome/common/notification_registrar.h"
#include "chrome/common/owned_widget_gtk.h"
class BaseDownloadItemModel;
class Browser;
class CustomDrawButton;
class DownloadItemGtk;
-class GtkThemeProperties;
+class GtkThemeProvider;
class SlideAnimatorGtk;
-class DownloadShelfGtk : public DownloadShelf {
+class DownloadShelfGtk : public DownloadShelf,
+ public NotificationObserver {
public:
explicit DownloadShelfGtk(Browser* browser, gfx::NativeView view);
@@ -34,12 +37,14 @@ class DownloadShelfGtk : public DownloadShelf {
virtual void Show();
virtual void Close();
+ // Overridden from NotificationObserver:
+ virtual void Observe(NotificationType type,
+ const NotificationSource& source,
+ const NotificationDetails& details);
+
// Returns the current height of the shelf.
int GetHeight() const;
- // Changes the color of the background shelf.
- void UserChangedTheme(GtkThemeProperties* properties);
-
private:
// Remove |download_item| from the download shelf and delete it.
void RemoveDownloadItem(DownloadItemGtk* download_item);
@@ -78,6 +83,11 @@ class DownloadShelfGtk : public DownloadShelf {
// The download items we have added to our shelf.
std::vector<DownloadItemGtk*> download_items_;
+ // Gives us our colors and theme information.
+ GtkThemeProvider* theme_provider_;
+
+ NotificationRegistrar registrar_;
+
friend class DownloadItemGtk;
};