summaryrefslogtreecommitdiffstats
path: root/chrome/browser/cocoa/toolbar_controller.h
diff options
context:
space:
mode:
authorpinkerton@chromium.org <pinkerton@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-07 18:43:09 +0000
committerpinkerton@chromium.org <pinkerton@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-07 18:43:09 +0000
commit93a2c7241cddc33af51cdc3daea03e414f544ec8 (patch)
tree1864bba1f4c906e7d67ac378814455ec24d8a992 /chrome/browser/cocoa/toolbar_controller.h
parent2e8f3dd5dbec1c494778713c47a42f6589ecbc86 (diff)
downloadchromium_src-93a2c7241cddc33af51cdc3daea03e414f544ec8.zip
chromium_src-93a2c7241cddc33af51cdc3daea03e414f544ec8.tar.gz
chromium_src-93a2c7241cddc33af51cdc3daea03e414f544ec8.tar.bz2
Hook up the prefs for the optional home buttons and page/wrench buttons. Move default registration of this pref out of platform code and into shared code to avoid having to do it in at least 3 places. Fix gradient buttons to not draw their borders unless asked.
BUG=13151 TEST=showing/hiding home button and page/wrench buttons should work. Menus for page/wrench should work except for a few straggler items that aren't yet implemented even in the main menubar. Review URL: http://codereview.chromium.org/155151 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20052 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/cocoa/toolbar_controller.h')
-rw-r--r--chrome/browser/cocoa/toolbar_controller.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/chrome/browser/cocoa/toolbar_controller.h b/chrome/browser/cocoa/toolbar_controller.h
index 1aa38bb..236f777 100644
--- a/chrome/browser/cocoa/toolbar_controller.h
+++ b/chrome/browser/cocoa/toolbar_controller.h
@@ -10,10 +10,14 @@
#include "base/scoped_ptr.h"
#include "base/scoped_nsobject.h"
#import "chrome/browser/cocoa/command_observer_bridge.h"
+#include "chrome/common/pref_member.h"
class CommandUpdater;
class LocationBar;
class LocationBarViewMac;
+namespace ToolbarControllerInternal {
+class PrefObserverBridge;
+}
class Profile;
class TabContents;
class ToolbarModel;
@@ -40,14 +44,25 @@ class ToolbarView;
scoped_ptr<LocationBarViewMac> locationBarView_;
scoped_nsobject<LocationBarFieldEditor> locationBarFieldEditor_; // strong
+ // Used for monitoring the optional toolbar button prefs.
+ scoped_ptr<ToolbarControllerInternal::PrefObserverBridge> prefObserver_;
+ BooleanPrefMember showHomeButton_;
+ BooleanPrefMember showPageOptionButtons_;
+
+ IBOutlet NSMenu* pageMenu_;
+ IBOutlet NSMenu* wrenchMenu_;
+
// The ordering is important for unit tests. If new items are added or the
// ordering is changed, make sure to update |-toolbarViews| and the
// corresponding enum in the unit tests.
IBOutlet NSButton* backButton_;
IBOutlet NSButton* forwardButton_;
IBOutlet NSButton* reloadButton_;
+ IBOutlet NSButton* homeButton_;
IBOutlet NSButton* starButton_;
IBOutlet NSButton* goButton_;
+ IBOutlet NSButton* pageButton_;
+ IBOutlet NSButton* wrenchButton_;
IBOutlet NSTextField* locationBar_;
}
@@ -83,12 +98,19 @@ class ToolbarView;
// state.
- (void)setIsLoading:(BOOL)isLoading;
+// Actions for the optional menu buttons for the page and wrench menus. These
+// will show a menu while the mouse is down.
+- (IBAction)showPageMenu:(id)sender;
+- (IBAction)showWrenchMenu:(id)sender;
+
@end
// A set of private methods used by tests, in the absence of "friends" in ObjC.
@interface ToolbarController(PrivateTestMethods)
// Returns an array of views in the order of the outlets above.
- (NSArray*)toolbarViews;
+- (void)showOptionalHomeButton;
+- (void)showOptionalPageWrenchButtons;
@end
#endif // CHROME_BROWSER_COCOA_TOOLBAR_CONTROLLER_H_