diff options
Diffstat (limited to 'chrome/browser/ui/views/compact_nav/compact_options_bar.cc')
-rw-r--r-- | chrome/browser/ui/views/compact_nav/compact_options_bar.cc | 151 |
1 files changed, 0 insertions, 151 deletions
diff --git a/chrome/browser/ui/views/compact_nav/compact_options_bar.cc b/chrome/browser/ui/views/compact_nav/compact_options_bar.cc deleted file mode 100644 index 677485f..0000000 --- a/chrome/browser/ui/views/compact_nav/compact_options_bar.cc +++ /dev/null @@ -1,151 +0,0 @@ -// Copyright (c) 2011 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. - -#include "chrome/browser/ui/views/compact_nav/compact_options_bar.h" - -#include "chrome/app/chrome_command_ids.h" -#include "chrome/browser/ui/toolbar/wrench_menu_model.h" -#include "chrome/browser/ui/view_ids.h" -#include "chrome/browser/ui/views/event_utils.h" -#include "chrome/browser/ui/views/frame/browser_view.h" -#include "chrome/browser/ui/views/toolbar_view.h" -#include "chrome/browser/ui/views/wrench_menu.h" -#include "grit/chromium_strings.h" -#include "grit/generated_resources.h" -#include "ui/base/l10n/l10n_util.h" -#include "ui/base/resource/resource_bundle.h" -#include "ui/gfx/canvas.h" -#include "views/controls/button/menu_button.h" - -namespace { -const int kPreferredHeight = 25; -// Pad the left and right ends from other tabstrip region items. -const int kEndPadding = 3; -} - -//////////////////////////////////////////////////////////////////////////////// -// CompactOptionsBar public: - -CompactOptionsBar::CompactOptionsBar(BrowserView* browser_view) - : browser_view_(browser_view), - initialized_(false), - app_menu_(NULL) { -} - -CompactOptionsBar::~CompactOptionsBar() { -} - -void CompactOptionsBar::Init() { - DCHECK(!initialized_); - initialized_ = true; - - wrench_menu_model_.reset(new WrenchMenuModel(this, browser_view_->browser())); - - app_menu_ = new views::MenuButton(NULL, std::wstring(), this, false); - app_menu_->set_border(NULL); - app_menu_->EnableCanvasFlippingForRTLUI(true); - app_menu_->SetAccessibleName(l10n_util::GetStringUTF16(IDS_ACCNAME_APP)); - app_menu_->SetTooltipText(UTF16ToWide(l10n_util::GetStringFUTF16( - IDS_APPMENU_TOOLTIP, - l10n_util::GetStringUTF16(IDS_PRODUCT_NAME)))); - app_menu_->SetID(VIEW_ID_APP_MENU); - AddChildView(app_menu_); - - LoadImages(); -} - -void CompactOptionsBar::AddMenuListener(views::MenuListener* listener) { - menu_listeners_.push_back(listener); -} - -void CompactOptionsBar::RemoveMenuListener(views::MenuListener* listener) { - for (std::vector<views::MenuListener*>::iterator i(menu_listeners_.begin()); - i != menu_listeners_.end(); ++i) { - if (*i == listener) { - menu_listeners_.erase(i); - return; - } - } -} - -//////////////////////////////////////////////////////////////////////////////// -// CompactOptionsBar, views::View overrides: - -gfx::Size CompactOptionsBar::GetPreferredSize() { - int width = kEndPadding * 2 + app_menu_->GetPreferredSize().width(); - // TODO(stevet): Add the width of the browser actions container here when that - // is added to the bar. - return gfx::Size(width, kPreferredHeight); -} - -void CompactOptionsBar::Layout() { - if (!initialized_) - return; - - gfx::Size button_size = app_menu_->GetPreferredSize(); - app_menu_->SetBounds(kEndPadding, 0, button_size.width(), height()); -} - -//////////////////////////////////////////////////////////////////////////////// -// CompactOptionsBar, views::MenuDelegate implementation: - -void CompactOptionsBar::RunMenu(views::View* source, - const gfx::Point& /* pt */) { - DCHECK_EQ(VIEW_ID_APP_MENU, source->GetID()); - - wrench_menu_ = new WrenchMenu(browser_view_->browser()); - wrench_menu_->Init(wrench_menu_model_.get()); - - for (size_t i = 0; i < menu_listeners_.size(); ++i) - menu_listeners_[i]->OnMenuOpened(); - - // Note that this might be destroyed while the menu is running. - wrench_menu_->RunMenu(app_menu_); -} - -//////////////////////////////////////////////////////////////////////////////// -// CompactOptionsBar, ui::AcceleratorProvider implementation: - -bool CompactOptionsBar::GetAcceleratorForCommandId(int command_id, - ui::Accelerator* accelerator) { - // TODO(stevet): Can we share ToolbarView's implementation? It's exactly the - // same so far. - // The standard Ctrl-X, Ctrl-V and Ctrl-C are not defined as accelerators - // anywhere so we need to check for them explicitly here. - // TODO(cpu) Bug 1109102. Query WebKit land for the actual bindings. - switch (command_id) { - case IDC_CUT: - *accelerator = views::Accelerator(ui::VKEY_X, false, true, false); - return true; - case IDC_COPY: - *accelerator = views::Accelerator(ui::VKEY_C, false, true, false); - return true; - case IDC_PASTE: - *accelerator = views::Accelerator(ui::VKEY_V, false, true, false); - return true; - } - // Else, we retrieve the accelerator information from the frame. - return GetWidget()->GetAccelerator(command_id, accelerator); -} - -//////////////////////////////////////////////////////////////////////////////// -// CompactOptionsBar, views::ButtonListener implementation. - -void CompactOptionsBar::ButtonPressed(views::Button* sender, - const views::Event& event) { - browser_view_->browser()->ExecuteCommandWithDisposition( - sender->tag(), - event_utils::DispositionFromEventFlags(sender->mouse_event_flags())); -} - -void CompactOptionsBar::LoadImages() { - // Reuse the resources loaded for the Toolbar's AppMenu. - DCHECK(browser_view_->toolbar()); - app_menu_->SetIcon(browser_view_->toolbar()->GetAppMenuIcon( - views::CustomButton::BS_NORMAL)); - app_menu_->SetHoverIcon(browser_view_->toolbar()->GetAppMenuIcon( - views::CustomButton::BS_HOT)); - app_menu_->SetPushedIcon(browser_view_->toolbar()->GetAppMenuIcon( - views::CustomButton::BS_PUSHED)); -} |