| Index: chrome/browser/ui/gtk/action_box_button_gtk.h
|
| diff --git a/chrome/browser/ui/gtk/action_box_button_gtk.h b/chrome/browser/ui/gtk/action_box_button_gtk.h
|
| index cec0f95a7036c59cabfb9f1c61baadf4b14c9771..5fa3d43ccad36013f7e64a9ac864bb2aa630510b 100644
|
| --- a/chrome/browser/ui/gtk/action_box_button_gtk.h
|
| +++ b/chrome/browser/ui/gtk/action_box_button_gtk.h
|
| @@ -7,8 +7,10 @@
|
|
|
| #include "base/compiler_specific.h"
|
| #include "base/memory/scoped_ptr.h"
|
| +#include "chrome/browser/ui/gtk/menu_gtk.h"
|
| #include "ui/base/gtk/gtk_signal.h"
|
|
|
| +class ActionBoxMenuModel;
|
| class Browser;
|
| class CustomDrawButton;
|
|
|
| @@ -16,22 +18,31 @@ typedef struct _GtkWidget GtkWidget;
|
|
|
| // This class displays the action box button with an associated menu. This is
|
| // where extension actions and the bookmark star live.
|
| -class ActionBoxButtonGtk {
|
| +class ActionBoxButtonGtk : public MenuGtk::Delegate {
|
| public:
|
| explicit ActionBoxButtonGtk(Browser* browser);
|
| virtual ~ActionBoxButtonGtk();
|
|
|
| + // MenuGtk::Delegate implementation.
|
| + virtual bool AlwaysShowIconForCmd(int command_id) const OVERRIDE;
|
| +
|
| GtkWidget* widget();
|
|
|
| private:
|
| - // Executes the browser command.
|
| - CHROMEGTK_CALLBACK_0(ActionBoxButtonGtk, void, OnClick);
|
| + // Show the action box menu.
|
| + CHROMEGTK_CALLBACK_1(ActionBoxButtonGtk, gboolean, OnButtonPress,
|
| + GdkEventButton*);
|
|
|
| scoped_ptr<CustomDrawButton> button_;
|
|
|
| // The browser to which we will send commands.
|
| Browser* browser_;
|
|
|
| + // The model and menu displayed when the button is clicked. The menu is
|
| + // recreated every time it is displayed.
|
| + scoped_ptr<ActionBoxMenuModel> model_;
|
| + scoped_ptr<MenuGtk> menu_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(ActionBoxButtonGtk);
|
| };
|
|
|
|
|