Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2424)

Unified Diff: ash/system/tray/tray_background_view.cc

Issue 1998933002: Update shelf spacing in Chrome OS according to the MD specs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address comments & Refactor border around item implementation Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ash/system/tray/tray_background_view.cc
diff --git a/ash/system/tray/tray_background_view.cc b/ash/system/tray/tray_background_view.cc
index 1f2cf2628582753c3e73b8a86ab5d18a1b8b71ab..17f5d1332d861ac04014e8a1bc41856a229d4b52 100644
--- a/ash/system/tray/tray_background_view.cc
+++ b/ash/system/tray/tray_background_view.cc
@@ -4,6 +4,7 @@
#include "ash/system/tray/tray_background_view.h"
+#include "ash/material_design/material_design_controller.h"
#include "ash/root_window_controller.h"
#include "ash/screen_util.h"
#include "ash/shelf/shelf_layout_manager.h"
@@ -194,29 +195,16 @@ void TrayBackgroundView::TrayContainer::ViewHierarchyChanged(
void TrayBackgroundView::TrayContainer::UpdateLayout() {
// Adjust the size of status tray dark background by adding additional
// empty border.
- if (wm::IsHorizontalAlignment(alignment_)) {
- SetBorder(views::Border::CreateEmptyBorder(
- kPaddingFromEdgeOfShelf,
- kPaddingFromEdgeOfShelf,
- kPaddingFromEdgeOfShelf,
- kPaddingFromEdgeOfShelf));
-
- views::BoxLayout* layout =
- new views::BoxLayout(views::BoxLayout::kHorizontal, 0, 0, 0);
- layout->SetDefaultFlex(1);
- views::View::SetLayoutManager(layout);
- } else {
- SetBorder(views::Border::CreateEmptyBorder(
- kPaddingFromEdgeOfShelf,
- kPaddingFromEdgeOfShelf,
- kPaddingFromEdgeOfShelf,
- kPaddingFromEdgeOfShelf));
-
- views::BoxLayout* layout =
- new views::BoxLayout(views::BoxLayout::kVertical, 0, 0, 0);
- layout->SetDefaultFlex(1);
- views::View::SetLayoutManager(layout);
- }
+ views::BoxLayout::Orientation orientation =
+ wm::IsHorizontalAlignment(alignment_) ? views::BoxLayout::kHorizontal
+ : views::BoxLayout::kVertical;
+ SetBorder(views::Border::CreateEmptyBorder(
+ kAdjustBackgroundPadding, kAdjustBackgroundPadding,
+ kAdjustBackgroundPadding, kAdjustBackgroundPadding));
+
+ views::BoxLayout* layout = new views::BoxLayout(orientation, 0, 0, 0);
+ layout->SetDefaultFlex(1);
+ views::View::SetLayoutManager(layout);
PreferredSizeChanged();
}
@@ -412,31 +400,11 @@ void TrayBackgroundView::SetShelfAlignment(wm::ShelfAlignment alignment) {
}
void TrayBackgroundView::SetTrayBorder() {
- views::View* parent = status_area_widget_->status_area_widget_delegate();
- // Tray views are laid out right-to-left or bottom-to-top
- bool on_edge = (this == parent->child_at(0));
- int left_edge, top_edge, right_edge, bottom_edge;
- if (wm::IsHorizontalAlignment(shelf_alignment())) {
- top_edge = ShelfLayoutManager::kShelfItemInset;
- left_edge = 0;
- bottom_edge = kShelfSize -
- ShelfLayoutManager::kShelfItemInset - kShelfItemHeight;
- right_edge = on_edge ? kPaddingFromEdgeOfShelf : 0;
- } else if (shelf_alignment() == wm::SHELF_ALIGNMENT_LEFT) {
- top_edge = 0;
- left_edge = kShelfSize -
- ShelfLayoutManager::kShelfItemInset - kShelfItemHeight;
- bottom_edge = on_edge ? kPaddingFromEdgeOfShelf : 0;
- right_edge = ShelfLayoutManager::kShelfItemInset;
- } else { // SHELF_ALIGNMENT_RIGHT
- top_edge = 0;
- left_edge = ShelfLayoutManager::kShelfItemInset;
- bottom_edge = on_edge ? kPaddingFromEdgeOfShelf : 0;
- right_edge = kShelfSize -
- ShelfLayoutManager::kShelfItemInset - kShelfItemHeight;
- }
- SetBorder(views::Border::CreateEmptyBorder(
- top_edge, left_edge, bottom_edge, right_edge));
+ gfx::Insets inset;
+ GetHitRegionInsets(inset);
+
+ SetBorder(views::Border::CreateEmptyBorder(inset.top(), inset.left(),
+ inset.bottom(), inset.right()));
}
void TrayBackgroundView::OnImplicitAnimationsCompleted() {
@@ -588,4 +556,45 @@ void TrayBackgroundView::UpdateBubbleViewArrow(
// Nothing to do here.
}
+void TrayBackgroundView::GetHitRegionInsets(gfx::Insets& insets) {
+ int top_edge, left_edge, bottom_edge, right_edge;
+ // Tray views are laid out right-to-left or bottom-to-top
+ if (MaterialDesignController::IsShelfMaterial()) {
+ if (wm::IsHorizontalAlignment(shelf_alignment())) {
+ top_edge = (GetShelfLayoutConstant(SHELF_SIZE) - kShelfItemHeight) / 2;
+ left_edge = 0;
+ bottom_edge = (GetShelfLayoutConstant(SHELF_SIZE) - kShelfItemHeight) / 2;
+ right_edge = 0;
+ } else { // SHELF_ALIGNMENT_LEFT || SHELF_ALIGNMENT_RIGHT
+ top_edge = 0;
+ left_edge = (GetShelfLayoutConstant(SHELF_SIZE) - kShelfItemHeight) / 2;
+ bottom_edge = 0;
+ right_edge = (GetShelfLayoutConstant(SHELF_SIZE) - kShelfItemHeight) / 2;
+ }
+ } else {
+ views::View* parent = status_area_widget_->status_area_widget_delegate();
+ bool on_edge = (this == parent->child_at(0));
+
+ if (wm::IsHorizontalAlignment(shelf_alignment())) {
+ top_edge = kShelfItemInset;
+ left_edge = 0;
+ bottom_edge = GetShelfLayoutConstant(SHELF_SIZE) - kShelfItemInset -
+ kShelfItemHeight;
+ right_edge = on_edge ? GetTrayConstant(PADDING_FROM_EDGE_OF_SHELF) : 0;
+ } else if (shelf_alignment() == wm::SHELF_ALIGNMENT_LEFT) {
+ top_edge = 0;
+ left_edge = GetShelfLayoutConstant(SHELF_SIZE) - kShelfItemInset -
+ kShelfItemHeight;
+ bottom_edge = on_edge ? GetTrayConstant(PADDING_FROM_EDGE_OF_SHELF) : 0;
+ right_edge = kShelfItemInset;
+ } else { // SHELF_ALIGNMENT_RIGHT
+ top_edge = 0;
+ left_edge = kShelfItemInset;
+ bottom_edge = on_edge ? GetTrayConstant(PADDING_FROM_EDGE_OF_SHELF) : 0;
+ right_edge = GetShelfLayoutConstant(SHELF_SIZE) - kShelfItemInset -
+ kShelfItemHeight;
+ }
+ }
+ insets.Set(top_edge, left_edge, bottom_edge, right_edge);
+}
} // namespace ash

Powered by Google App Engine
This is Rietveld 408576698