| Index: ash/shelf/shelf_layout_manager.cc
|
| diff --git a/ash/shelf/shelf_layout_manager.cc b/ash/shelf/shelf_layout_manager.cc
|
| index 1988f20b4237f389f546e659adf6b34bb201ffab..f13ea079023459d5b94dccd053abe87324ffcd63 100644
|
| --- a/ash/shelf/shelf_layout_manager.cc
|
| +++ b/ash/shelf/shelf_layout_manager.cc
|
| @@ -96,7 +96,15 @@
|
| const int ShelfLayoutManager::kAutoHideSize = 3;
|
|
|
| // static
|
| +const int ShelfLayoutManager::kShelfSize = 47;
|
| +
|
| +// static
|
| const int ShelfLayoutManager::kShelfItemInset = 3;
|
| +
|
| +int ShelfLayoutManager::GetPreferredShelfSize() {
|
| + return ash::switches::UseAlternateShelfLayout() ?
|
| + ShelfLayoutManager::kShelfSize : kShelfPreferredSize;
|
| +}
|
|
|
| // ShelfLayoutManager::AutoHideEventFilter -------------------------------------
|
|
|
| @@ -728,9 +736,9 @@
|
| gfx::Size status_size(
|
| shelf_->status_area_widget()->GetWindowBoundsInScreen().size());
|
| if (IsHorizontalAlignment())
|
| - *height = kShelfSize;
|
| + *height = GetPreferredShelfSize();
|
| else
|
| - *width = kShelfSize;
|
| + *width = GetPreferredShelfSize();
|
| }
|
|
|
| void ShelfLayoutManager::AdjustBoundsBasedOnAlignment(int inset,
|
| @@ -782,11 +790,16 @@
|
| gfx::Rect(available_bounds.x(), available_bounds.y(),
|
| available_bounds.width(), shelf_height));
|
|
|
| - int status_inset = 0;
|
| - if (IsHorizontalAlignment())
|
| - status_size.set_height(kShelfSize);
|
| - else
|
| - status_size.set_width(kShelfSize);
|
| + int status_inset = std::max(0, GetPreferredShelfSize() -
|
| + PrimaryAxisValue(status_size.height(), status_size.width()));
|
| +
|
| + if (ash::switches::UseAlternateShelfLayout()) {
|
| + status_inset = 0;
|
| + if (IsHorizontalAlignment())
|
| + status_size.set_height(kShelfSize);
|
| + else
|
| + status_size.set_width(kShelfSize);
|
| + }
|
|
|
| target_bounds->status_bounds_in_shelf = SelectValueForShelfAlignment(
|
| gfx::Rect(base::i18n::IsRTL() ? 0 : shelf_width - status_size.width(),
|
| @@ -866,7 +879,7 @@
|
| // changed since then, e.g. because the tray-menu was shown because of the
|
| // drag), then allow the drag some resistance-free region at first to make
|
| // sure the shelf sticks with the finger until the shelf is visible.
|
| - resistance_free_region = kShelfSize - kAutoHideSize;
|
| + resistance_free_region = GetPreferredShelfSize() - kAutoHideSize;
|
| }
|
|
|
| bool resist = SelectValueForShelfAlignment(
|
| @@ -897,7 +910,16 @@
|
| available_bounds.bottom() - shelf_height);
|
| }
|
|
|
| - target_bounds->status_bounds_in_shelf.set_y(0);
|
| + if (ash::switches::UseAlternateShelfLayout()) {
|
| + target_bounds->status_bounds_in_shelf.set_y(0);
|
| + } else {
|
| + // The statusbar should be in the center of the shelf.
|
| + gfx::Rect status_y = target_bounds->shelf_bounds_in_root;
|
| + status_y.set_y(0);
|
| + status_y.ClampToCenteredSize(
|
| + target_bounds->status_bounds_in_shelf.size());
|
| + target_bounds->status_bounds_in_shelf.set_y(status_y.y());
|
| + }
|
| } else {
|
| // Move and size the shelf with the gesture.
|
| int shelf_width = target_bounds->shelf_bounds_in_root.width();
|
| @@ -913,12 +935,21 @@
|
| available_bounds.right() - shelf_width);
|
| }
|
|
|
| - if (right_aligned)
|
| - target_bounds->status_bounds_in_shelf.set_x(0);
|
| - else
|
| - target_bounds->status_bounds_in_shelf.set_x(
|
| - target_bounds->shelf_bounds_in_root.width() -
|
| - kShelfSize);
|
| + if (ash::switches::UseAlternateShelfLayout()) {
|
| + if (right_aligned)
|
| + target_bounds->status_bounds_in_shelf.set_x(0);
|
| + else
|
| + target_bounds->status_bounds_in_shelf.set_x(
|
| + target_bounds->shelf_bounds_in_root.width() -
|
| + kShelfSize);
|
| + } else {
|
| + // The statusbar should be in the center of the shelf.
|
| + gfx::Rect status_x = target_bounds->shelf_bounds_in_root;
|
| + status_x.set_x(0);
|
| + status_x.ClampToCenteredSize(
|
| + target_bounds->status_bounds_in_shelf.size());
|
| + target_bounds->status_bounds_in_shelf.set_x(status_x.x());
|
| + }
|
| }
|
| }
|
|
|
|
|