diff options
author | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-02 16:47:08 +0000 |
---|---|---|
committer | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-02 16:47:08 +0000 |
commit | 12f9faa592c28028cb833347a641ab0b9bab4b40 (patch) | |
tree | d96db1e66eef1b1577e3426a15f5ad9cf38f2525 /chrome/browser/views/frame | |
parent | 82e2f2bab320ec135fc00417984a4fa6a93014a1 (diff) | |
download | chromium_src-12f9faa592c28028cb833347a641ab0b9bab4b40.zip chromium_src-12f9faa592c28028cb833347a641ab0b9bab4b40.tar.gz chromium_src-12f9faa592c28028cb833347a641ab0b9bab4b40.tar.bz2 |
Some enhancements as requested to the compact nav bar. The search box looks
larger, back and foward moved to the right, there is a border below the tab
strip.
Importantly, the compact nav bar can be switched on and off at runtime via the
app menu (which creates a new window with it) rather than using the command
line flag.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/171112
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25179 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/views/frame')
-rw-r--r-- | chrome/browser/views/frame/status_area_view.cc | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/chrome/browser/views/frame/status_area_view.cc b/chrome/browser/views/frame/status_area_view.cc index ca971be..5557488 100644 --- a/chrome/browser/views/frame/status_area_view.cc +++ b/chrome/browser/views/frame/status_area_view.cc @@ -17,6 +17,7 @@ #include "chrome/app/chrome_dll_resource.h" #include "chrome/browser/browser.h" #include "chrome/browser/browser_window.h" +#include "chrome/browser/gtk/browser_window_gtk.h" #include "chrome/browser/profile.h" #include "grit/chromium_strings.h" #include "grit/generated_resources.h" @@ -113,8 +114,21 @@ void ClockView::OnTimer() { class OptionsMenuModel : public views::SimpleMenuModel, public views::SimpleMenuModel::Delegate { public: - explicit OptionsMenuModel(views::SimpleMenuModel::Delegate* delegate) - : SimpleMenuModel(this) { + // These extra command IDs must be unique when combined with the options, + // so we just pick up the numbering where that stops. + enum OtherCommands { + CREATE_NEW_WINDOW = StatusAreaView::OPEN_TABS_ON_RIGHT + 1, + }; + + explicit OptionsMenuModel(Browser* browser, + views::SimpleMenuModel::Delegate* delegate) + : SimpleMenuModel(this), + browser_(browser) { + AddItem(static_cast<int>(CREATE_NEW_WINDOW), + ASCIIToUTF16("New window")); + + AddSeparator(); + AddItem(static_cast<int>(StatusAreaView::OPEN_TABS_ON_LEFT), ASCIIToUTF16("Open tabs on left")); AddItem(static_cast<int>(StatusAreaView::OPEN_TABS_CLOBBER), @@ -139,6 +153,15 @@ class OptionsMenuModel : public views::SimpleMenuModel, } virtual void ExecuteCommand(int command_id) { switch (command_id) { + case CREATE_NEW_WINDOW: + // Reach into the GTK browser window and enable the flag to create the + // next window as a compact nav one. + // TODO(brettw) this is an evil hack, and is here so this can be tested. + // Remove it eventually. + static_cast<BrowserWindowGtk*>(browser_->window())-> + set_next_window_should_use_compact_nav(); + browser_->ExecuteCommand(IDC_NEW_WINDOW); + break; case StatusAreaView::OPEN_TABS_ON_LEFT: case StatusAreaView::OPEN_TABS_CLOBBER: case StatusAreaView::OPEN_TABS_ON_RIGHT: @@ -151,6 +174,8 @@ class OptionsMenuModel : public views::SimpleMenuModel, } private: + Browser* browser_; + DISALLOW_COPY_AND_ASSIGN(OptionsMenuModel); }; @@ -243,7 +268,7 @@ void StatusAreaView::CreateAppMenu() { if (app_menu_contents_.get()) return; - options_menu_contents_.reset(new OptionsMenuModel(this)); + options_menu_contents_.reset(new OptionsMenuModel(browser_, this)); app_menu_contents_.reset(new views::SimpleMenuModel(this)); app_menu_contents_->AddItemWithStringId(IDC_NEW_TAB, IDS_NEW_TAB); @@ -270,7 +295,7 @@ void StatusAreaView::CreateAppMenu() { l10n_util::GetStringFUTF16( IDS_OPTIONS, l10n_util::GetStringUTF16(IDS_PRODUCT_NAME))); - app_menu_contents_->AddSubMenu(ASCIIToUTF16("Compact nav bar options"), + app_menu_contents_->AddSubMenu(ASCIIToUTF16("Compact nav bar"), options_menu_contents_.get()); app_menu_contents_->AddItem(IDC_ABOUT, l10n_util::GetStringFUTF16( |