diff options
author | skuhne@chromium.org <skuhne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-14 23:03:28 +0000 |
---|---|---|
committer | skuhne@chromium.org <skuhne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-14 23:03:28 +0000 |
commit | b35c1a3eeb5a8af84d3aebeb1a5043839751cb1b (patch) | |
tree | f857af44bd4aee7820a766e3addce7b7fd50f7ca /ash | |
parent | 015fd815bf3c538857eb263cbd15e56ed01f20fe (diff) | |
download | chromium_src-b35c1a3eeb5a8af84d3aebeb1a5043839751cb1b.zip chromium_src-b35c1a3eeb5a8af84d3aebeb1a5043839751cb1b.tar.gz chromium_src-b35c1a3eeb5a8af84d3aebeb1a5043839751cb1b.tar.bz2 |
Switch button positions for right to left languages
BUG=148790
TEST=visual
Review URL: https://chromiumcodereview.appspot.com/10928206
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156918 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash')
-rw-r--r-- | ash/wm/maximize_bubble_controller.cc | 81 |
1 files changed, 52 insertions, 29 deletions
diff --git a/ash/wm/maximize_bubble_controller.cc b/ash/wm/maximize_bubble_controller.cc index 6f66278..49e9a8c 100644 --- a/ash/wm/maximize_bubble_controller.cc +++ b/ash/wm/maximize_bubble_controller.cc @@ -307,6 +307,11 @@ class BubbleContentsButtonRow : public views::View, MaximizeBubbleController::Bubble* bubble() { return bubble_; } private: + // Functions to add the left and right maximize / restore buttons. + void AddMaximizeLeftButton(); + void AddMaximizeRightButton(); + void AddMinimizeButton(); + // The owning object which gets notifications. MaximizeBubbleController::Bubble* bubble_; @@ -569,36 +574,14 @@ BubbleContentsButtonRow::BubbleContentsButtonRow( set_background( views::Background::CreateSolidBackground(kBubbleBackgroundColor)); - 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); - } else { - left_button_ = new BubbleDialogButton( - this, - IDR_AURA_WINDOW_POSITION_LEFT, - IDR_AURA_WINDOW_POSITION_LEFT_H, - IDR_AURA_WINDOW_POSITION_LEFT_P); - } - minimize_button_ = new BubbleDialogButton( - this, - IDR_AURA_WINDOW_POSITION_MIDDLE, - IDR_AURA_WINDOW_POSITION_MIDDLE_H, - IDR_AURA_WINDOW_POSITION_MIDDLE_P); - 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); + if (base::i18n::IsRTL()) { + AddMaximizeRightButton(); + AddMinimizeButton(); + AddMaximizeLeftButton(); } else { - right_button_ = new BubbleDialogButton( - this, - IDR_AURA_WINDOW_POSITION_RIGHT, - IDR_AURA_WINDOW_POSITION_RIGHT_H, - IDR_AURA_WINDOW_POSITION_RIGHT_P); + AddMaximizeLeftButton(); + AddMinimizeButton(); + AddMaximizeRightButton(); } } @@ -656,6 +639,46 @@ views::CustomButton* BubbleContentsButtonRow::GetButtonForUnitTest( } } +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); + } 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); +} + BubbleContentsView::BubbleContentsView( MaximizeBubbleController::Bubble* bubble) : bubble_(bubble), |