Index: chrome/browser/ui/gtk/browser_toolbar_gtk.h |
diff --git a/chrome/browser/ui/gtk/browser_toolbar_gtk.h b/chrome/browser/ui/gtk/browser_toolbar_gtk.h |
deleted file mode 100644 |
index c27b64ebb7ea2104c041678de6a9a7520b55df6b..0000000000000000000000000000000000000000 |
--- a/chrome/browser/ui/gtk/browser_toolbar_gtk.h |
+++ /dev/null |
@@ -1,225 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef CHROME_BROWSER_UI_GTK_BROWSER_TOOLBAR_GTK_H_ |
-#define CHROME_BROWSER_UI_GTK_BROWSER_TOOLBAR_GTK_H_ |
- |
-#include <gtk/gtk.h> |
-#include <string> |
- |
-#include "base/compiler_specific.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "base/prefs/pref_member.h" |
-#include "chrome/browser/command_observer.h" |
-#include "chrome/browser/ui/gtk/custom_button.h" |
-#include "chrome/browser/ui/gtk/menu_gtk.h" |
-#include "chrome/browser/ui/toolbar/wrench_menu_model.h" |
-#include "content/public/browser/host_zoom_map.h" |
-#include "content/public/browser/notification_observer.h" |
-#include "content/public/browser/notification_registrar.h" |
-#include "ui/base/accelerators/accelerator.h" |
-#include "ui/base/gtk/gtk_signal.h" |
-#include "ui/base/gtk/gtk_signal_registrar.h" |
-#include "ui/base/gtk/owned_widget_gtk.h" |
-#include "ui/base/models/simple_menu_model.h" |
- |
-class BackForwardButtonGtk; |
-class Browser; |
-class BrowserActionsToolbarGtk; |
-class BrowserWindowGtk; |
-class CustomDrawButton; |
-class GtkThemeService; |
-class LocationBar; |
-class LocationBarViewGtk; |
-class ReloadButtonGtk; |
- |
-namespace content { |
-class WebContents; |
-} |
- |
-// View class that displays the GTK version of the toolbar and routes gtk |
-// events back to the Browser. |
-class BrowserToolbarGtk : public CommandObserver, |
- public ui::AcceleratorProvider, |
- public MenuGtk::Delegate, |
- public content::NotificationObserver { |
- public: |
- BrowserToolbarGtk(Browser* browser, BrowserWindowGtk* window); |
- virtual ~BrowserToolbarGtk(); |
- |
- // Create the contents of the toolbar. |top_level_window| is the GtkWindow |
- // to which we attach our accelerators. |
- void Init(GtkWindow* top_level_window); |
- |
- // Set the various widgets' ViewIDs. |
- void SetViewIDs(); |
- |
- void Show(); |
- void Hide(); |
- |
- // Getter for the containing widget. |
- GtkWidget* widget() { |
- return event_box_; |
- } |
- |
- // Getter for associated browser object. |
- Browser* browser() { |
- return browser_; |
- } |
- |
- virtual LocationBar* GetLocationBar() const; |
- |
- ReloadButtonGtk* GetReloadButton() { return reload_.get(); } |
- |
- GtkWidget* GetAppMenuButton() { return wrench_menu_button_->widget(); } |
- |
- BrowserActionsToolbarGtk* GetBrowserActionsToolbar() { |
- return actions_toolbar_.get(); |
- } |
- |
- LocationBarViewGtk* GetLocationBarView() { return location_bar_.get(); } |
- |
- // We have to show padding on the bottom of the toolbar when the bookmark |
- // is in floating mode. Otherwise the bookmark bar will paint it for us. |
- void UpdateForBookmarkBarVisibility(bool show_bottom_padding); |
- |
- void ShowAppMenu(); |
- |
- // Overridden from CommandObserver: |
- virtual void EnabledStateChangedForCommand(int id, bool enabled) OVERRIDE; |
- |
- // Overridden from MenuGtk::Delegate: |
- virtual void StoppedShowing() OVERRIDE; |
- virtual GtkIconSet* GetIconSetForId(int idr) OVERRIDE; |
- virtual bool AlwaysShowIconForCmd(int command_id) const OVERRIDE; |
- |
- // Overridden from ui::AcceleratorProvider: |
- virtual bool GetAcceleratorForCommandId( |
- int id, |
- ui::Accelerator* accelerator) OVERRIDE; |
- |
- // content::NotificationObserver implementation. |
- virtual void Observe(int type, |
- const content::NotificationSource& source, |
- const content::NotificationDetails& details) OVERRIDE; |
- |
- // Whether the wrench/hotdogs menu is currently visible to the user. |
- bool IsWrenchMenuShowing() const; |
- |
- // Message that we should react to a state change. |
- void UpdateWebContents(content::WebContents* contents); |
- |
- private: |
- void OnZoomLevelChanged(const content::HostZoomMap::ZoomLevelChange& host); |
- |
- // Connect/Disconnect signals for dragging a url onto the home button. |
- void SetUpDragForHomeButton(); |
- |
- // Sets the top corners of the toolbar to rounded, or sets them to normal, |
- // depending on the state of the browser window. Returns false if no action |
- // was taken (the roundedness was already correct), true otherwise. |
- bool UpdateRoundedness(); |
- |
- // Gtk callback for the "expose-event" signal. |
- // The alignment contains the toolbar. |
- CHROMEGTK_CALLBACK_1(BrowserToolbarGtk, gboolean, OnAlignmentExpose, |
- GdkEventExpose*); |
- CHROMEGTK_CALLBACK_1(BrowserToolbarGtk, gboolean, OnLocationHboxExpose, |
- GdkEventExpose*); |
- |
- // Gtk callback for the "clicked" signal. |
- CHROMEGTK_CALLBACK_0(BrowserToolbarGtk, void, OnButtonClick); |
- |
- // Gtk callback to intercept mouse clicks to the menu buttons. |
- CHROMEGTK_CALLBACK_1(BrowserToolbarGtk, gboolean, OnMenuButtonPressEvent, |
- GdkEventButton*); |
- |
- // Used for drags onto home button. |
- CHROMEGTK_CALLBACK_6(BrowserToolbarGtk, void, OnDragDataReceived, |
- GdkDragContext*, gint, gint, GtkSelectionData*, |
- guint, guint); |
- |
- // Used to draw the upgrade notification badge. |
- CHROMEGTK_CALLBACK_1(BrowserToolbarGtk, gboolean, OnWrenchMenuButtonExpose, |
- GdkEventExpose*); |
- |
- static void SetSyncMenuLabel(GtkWidget* widget, gpointer userdata); |
- |
- // Sometimes we only want to show the location w/o the toolbar buttons (e.g., |
- // in a popup window). |
- bool ShouldOnlyShowLocation() const; |
- |
- // Rebuilds the wrench menu. |
- void RebuildWrenchMenu(); |
- |
- void UpdateShowHomeButton(); |
- |
- // An event box that holds |toolbar_|. We need the toolbar to have its own |
- // GdkWindow when we use the GTK drawing because otherwise the color from our |
- // parent GdkWindow will leak through with some theme engines (such as |
- // Clearlooks). |
- GtkWidget* event_box_; |
- |
- // This widget handles padding around the outside of the toolbar. |
- GtkWidget* alignment_; |
- |
- // Gtk widgets. The toolbar is an hbox with each of the other pieces of the |
- // toolbar placed side by side. |
- GtkWidget* toolbar_; |
- |
- // All widgets to the left or right of the |location_hbox_|. We put the |
- // widgets on either side of location_hbox_ in their own toolbar so we can |
- // set their minimum sizes independently of |location_hbox_| which needs to |
- // grow/shrink in GTK+ mode. |
- GtkWidget* toolbar_left_; |
- |
- // Contains all the widgets of the location bar. |
- GtkWidget* location_hbox_; |
- |
- // The location bar view. |
- scoped_ptr<LocationBarViewGtk> location_bar_; |
- |
- // All the buttons in the toolbar. |
- scoped_ptr<BackForwardButtonGtk> back_, forward_; |
- scoped_ptr<CustomDrawButton> home_; |
- scoped_ptr<ReloadButtonGtk> reload_; |
- scoped_ptr<BrowserActionsToolbarGtk> actions_toolbar_; |
- scoped_ptr<CustomDrawButton> wrench_menu_button_; |
- |
- // The image shown in GTK+ mode in the wrench button. |
- GtkWidget* wrench_menu_image_; |
- |
- GtkThemeService* theme_service_; |
- |
- scoped_ptr<MenuGtk> wrench_menu_; |
- |
- scoped_ptr<WrenchMenuModel> wrench_menu_model_; |
- |
- // Flag to invalidate the wrench menu model. |
- bool is_wrench_menu_model_valid_; |
- |
- Browser* browser_; |
- BrowserWindowGtk* window_; |
- |
- // Controls whether or not a home button should be shown on the toolbar. |
- BooleanPrefMember show_home_button_; |
- |
- // Preferences controlling the configured home page. |
- StringPrefMember home_page_; |
- BooleanPrefMember home_page_is_new_tab_page_; |
- |
- scoped_ptr<content::HostZoomMap::Subscription> zoom_subscription_; |
- content::NotificationRegistrar registrar_; |
- |
- // A GtkEntry that isn't part of the hierarchy. We keep this for native |
- // rendering. |
- ui::OwnedWidgetGtk offscreen_entry_; |
- |
- // Manages the home button drop signal handler. |
- scoped_ptr<ui::GtkSignalRegistrar> drop_handler_; |
- |
- DISALLOW_COPY_AND_ASSIGN(BrowserToolbarGtk); |
-}; |
- |
-#endif // CHROME_BROWSER_UI_GTK_BROWSER_TOOLBAR_GTK_H_ |