Index: ash/frame/caption_buttons/bubble_contents_button_row.cc |
diff --git a/ash/frame/caption_buttons/bubble_contents_button_row.cc b/ash/frame/caption_buttons/bubble_contents_button_row.cc |
deleted file mode 100644 |
index 761beec8edd1d8d38d44dc3f76dba607919f3426..0000000000000000000000000000000000000000 |
--- a/ash/frame/caption_buttons/bubble_contents_button_row.cc |
+++ /dev/null |
@@ -1,216 +0,0 @@ |
-// Copyright 2013 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 "ash/frame/caption_buttons/bubble_contents_button_row.h" |
- |
-#include "ash/frame/caption_buttons/maximize_bubble_controller.h" |
-#include "ash/frame/caption_buttons/maximize_bubble_controller_bubble.h" |
-#include "grit/ash_resources.h" |
-#include "ui/base/resource/resource_bundle.h" |
-#include "ui/views/controls/button/image_button.h" |
-#include "ui/views/layout/box_layout.h" |
- |
- |
-namespace ash { |
- |
-// BubbleDialogButton --------------------------------------------------------- |
- |
-// The image button gets overridden to be able to capture mouse hover events. |
-// The constructor also assigns all button states and adds |this| as a child of |
-// |button_row|. |
-class BubbleDialogButton : public views::ImageButton { |
- public: |
- explicit BubbleDialogButton(BubbleContentsButtonRow* button_row, |
- int normal_image, |
- int hovered_image, |
- int pressed_image); |
- virtual ~BubbleDialogButton(); |
- |
- // views::ImageButton: |
- virtual void OnMouseCaptureLost() OVERRIDE; |
- virtual void OnMouseEntered(const ui::MouseEvent& event) OVERRIDE; |
- virtual void OnMouseExited(const ui::MouseEvent& event) OVERRIDE; |
- virtual bool OnMouseDragged(const ui::MouseEvent& event) OVERRIDE; |
- |
- private: |
- // The creating class which needs to get notified in case of a hover event. |
- BubbleContentsButtonRow* button_row_; |
- |
- DISALLOW_COPY_AND_ASSIGN(BubbleDialogButton); |
-}; |
- |
-BubbleDialogButton::BubbleDialogButton( |
- BubbleContentsButtonRow* button_row, |
- int normal_image, |
- int hovered_image, |
- int pressed_image) |
- : views::ImageButton(button_row), |
- button_row_(button_row) { |
- ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); |
- SetImage(views::CustomButton::STATE_NORMAL, |
- rb.GetImageSkiaNamed(normal_image)); |
- SetImage(views::CustomButton::STATE_HOVERED, |
- rb.GetImageSkiaNamed(hovered_image)); |
- SetImage(views::CustomButton::STATE_PRESSED, |
- rb.GetImageSkiaNamed(pressed_image)); |
- button_row->AddChildView(this); |
-} |
- |
-BubbleDialogButton::~BubbleDialogButton() { |
-} |
- |
-void BubbleDialogButton::OnMouseCaptureLost() { |
- button_row_->ButtonHovered(NULL); |
- views::ImageButton::OnMouseCaptureLost(); |
-} |
- |
-void BubbleDialogButton::OnMouseEntered(const ui::MouseEvent& event) { |
- button_row_->ButtonHovered(this); |
- views::ImageButton::OnMouseEntered(event); |
-} |
- |
-void BubbleDialogButton::OnMouseExited(const ui::MouseEvent& event) { |
- button_row_->ButtonHovered(NULL); |
- views::ImageButton::OnMouseExited(event); |
-} |
- |
-bool BubbleDialogButton::OnMouseDragged(const ui::MouseEvent& event) { |
- if (!button_row_->bubble()->controller()) |
- return false; |
- |
- // Remove the phantom window when we leave the button. |
- gfx::Point screen_location(event.location()); |
- View::ConvertPointToScreen(this, &screen_location); |
- if (!GetBoundsInScreen().Contains(screen_location)) |
- button_row_->ButtonHovered(NULL); |
- else |
- button_row_->ButtonHovered(this); |
- |
- // Pass the event on to the normal handler. |
- return views::ImageButton::OnMouseDragged(event); |
-} |
- |
- |
-// BubbleContentsButtonRow ---------------------------------------------------- |
- |
-BubbleContentsButtonRow::BubbleContentsButtonRow( |
- MaximizeBubbleControllerBubble* bubble) |
- : bubble_(bubble), |
- left_button_(NULL), |
- minimize_button_(NULL), |
- right_button_(NULL) { |
- SetLayoutManager(new views::BoxLayout( |
- views::BoxLayout::kHorizontal, 0, 0, |
- MaximizeBubbleControllerBubble::kLayoutSpacing)); |
- set_background(views::Background::CreateSolidBackground( |
- MaximizeBubbleControllerBubble::kBubbleBackgroundColor)); |
- |
- if (base::i18n::IsRTL()) { |
- AddMaximizeRightButton(); |
- AddMinimizeButton(); |
- AddMaximizeLeftButton(); |
- } else { |
- AddMaximizeLeftButton(); |
- AddMinimizeButton(); |
- AddMaximizeRightButton(); |
- } |
-} |
- |
-BubbleContentsButtonRow::~BubbleContentsButtonRow() { |
-} |
- |
-void BubbleContentsButtonRow::ButtonPressed(views::Button* sender, |
- const ui::Event& event) { |
- // While shutting down, the connection to the owner might already be broken. |
- if (!bubble_->controller()) |
- return; |
- if (sender == left_button_) { |
- bubble_->controller()->OnButtonClicked( |
- (bubble_->controller()->maximize_type() == FRAME_STATE_SNAP_LEFT) ? |
- SNAP_RESTORE : SNAP_LEFT); |
- } else if (sender == minimize_button_) { |
- bubble_->controller()->OnButtonClicked(SNAP_MINIMIZE); |
- } else { |
- DCHECK(sender == right_button_); |
- bubble_->controller()->OnButtonClicked( |
- (bubble_->controller()->maximize_type() == FRAME_STATE_SNAP_RIGHT) ? |
- SNAP_RESTORE : SNAP_RIGHT); |
- } |
-} |
- |
-void BubbleContentsButtonRow::ButtonHovered(BubbleDialogButton* sender) { |
- // While shutting down, the connection to the owner might already be broken. |
- if (!bubble_->controller()) |
- return; |
- if (sender == left_button_) { |
- bubble_->controller()->OnButtonHover( |
- (bubble_->controller()->maximize_type() == FRAME_STATE_SNAP_LEFT) ? |
- SNAP_RESTORE : SNAP_LEFT); |
- } else if (sender == minimize_button_) { |
- bubble_->controller()->OnButtonHover(SNAP_MINIMIZE); |
- } else if (sender == right_button_) { |
- bubble_->controller()->OnButtonHover( |
- (bubble_->controller()->maximize_type() == FRAME_STATE_SNAP_RIGHT) ? |
- SNAP_RESTORE : SNAP_RIGHT); |
- } else { |
- bubble_->controller()->OnButtonHover(SNAP_NONE); |
- } |
-} |
- |
-views::CustomButton* BubbleContentsButtonRow::GetButtonForUnitTest( |
- SnapType state) { |
- switch (state) { |
- case SNAP_LEFT: |
- return left_button_; |
- case SNAP_MINIMIZE: |
- return minimize_button_; |
- case SNAP_RIGHT: |
- return right_button_; |
- default: |
- NOTREACHED(); |
- return NULL; |
- } |
-} |
- |
-void BubbleContentsButtonRow::AddMaximizeLeftButton() { |
- if (bubble_->controller()->maximize_type() == FRAME_STATE_SNAP_LEFT) { |
- left_button_ = new BubbleDialogButton( |
- this, |
- IDR_AURA_WINDOW_POSITION_LEFT_RESTORE, |
- IDR_AURA_WINDOW_POSITION_LEFT_RESTORE_H, |
- IDR_AURA_WINDOW_POSITION_LEFT_RESTORE_P); |
flackr
2014/05/06 00:08:31
I think these resources can be removed from ash_re
pkotwicz
2014/05/06 01:43:17
Done. Turns out that I had forgotten to remove UMA
|
- } else { |
- left_button_ = new BubbleDialogButton( |
- this, |
- IDR_AURA_WINDOW_POSITION_LEFT, |
- IDR_AURA_WINDOW_POSITION_LEFT_H, |
- IDR_AURA_WINDOW_POSITION_LEFT_P); |
- } |
-} |
- |
-void BubbleContentsButtonRow::AddMaximizeRightButton() { |
- if (bubble_->controller()->maximize_type() == FRAME_STATE_SNAP_RIGHT) { |
- right_button_ = new BubbleDialogButton( |
- this, |
- IDR_AURA_WINDOW_POSITION_RIGHT_RESTORE, |
- IDR_AURA_WINDOW_POSITION_RIGHT_RESTORE_H, |
- IDR_AURA_WINDOW_POSITION_RIGHT_RESTORE_P); |
- } else { |
- right_button_ = new BubbleDialogButton( |
- this, |
- IDR_AURA_WINDOW_POSITION_RIGHT, |
- IDR_AURA_WINDOW_POSITION_RIGHT_H, |
- IDR_AURA_WINDOW_POSITION_RIGHT_P); |
- } |
-} |
- |
-void BubbleContentsButtonRow::AddMinimizeButton() { |
- minimize_button_ = new BubbleDialogButton( |
- this, |
- IDR_AURA_WINDOW_POSITION_MIDDLE, |
- IDR_AURA_WINDOW_POSITION_MIDDLE_H, |
- IDR_AURA_WINDOW_POSITION_MIDDLE_P); |
-} |
- |
-} // namespace ash |