summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views/frame
diff options
context:
space:
mode:
authorbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-02 16:47:08 +0000
committerbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-02 16:47:08 +0000
commit12f9faa592c28028cb833347a641ab0b9bab4b40 (patch)
treed96db1e66eef1b1577e3426a15f5ad9cf38f2525 /chrome/browser/views/frame
parent82e2f2bab320ec135fc00417984a4fa6a93014a1 (diff)
downloadchromium_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.cc33
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(