OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ash/common/system/chromeos/palette/palette_tray.h" | 5 #include "ash/common/system/chromeos/palette/palette_tray.h" |
6 | 6 |
7 #include "ash/common/material_design/material_design_controller.h" | 7 #include "ash/common/material_design/material_design_controller.h" |
8 #include "ash/common/session/session_state_delegate.h" | 8 #include "ash/common/session/session_state_delegate.h" |
9 #include "ash/common/shelf/shelf_constants.h" | 9 #include "ash/common/shelf/shelf_constants.h" |
10 #include "ash/common/shelf/wm_shelf.h" | 10 #include "ash/common/shelf/wm_shelf.h" |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
197 SetIconBorderForShelfAlignment(); | 197 SetIconBorderForShelfAlignment(); |
198 tray_container()->AddChildView(icon_); | 198 tray_container()->AddChildView(icon_); |
199 | 199 |
200 WmShell::Get()->AddShellObserver(this); | 200 WmShell::Get()->AddShellObserver(this); |
201 WmShell::Get()->GetSessionStateDelegate()->AddSessionStateObserver(this); | 201 WmShell::Get()->GetSessionStateDelegate()->AddSessionStateObserver(this); |
202 if (WmShell::Get()->palette_delegate()) { | 202 if (WmShell::Get()->palette_delegate()) { |
203 WmShell::Get()->palette_delegate()->SetStylusStateChangedCallback( | 203 WmShell::Get()->palette_delegate()->SetStylusStateChangedCallback( |
204 base::Bind(&PaletteTray::OnStylusStateChanged, | 204 base::Bind(&PaletteTray::OnStylusStateChanged, |
205 weak_factory_.GetWeakPtr())); | 205 weak_factory_.GetWeakPtr())); |
206 } | 206 } |
207 | |
208 // OnPaletteEnabledPrefChanged will get called with the initial pref value, | |
209 // which will take care of showing the palette. | |
210 palette_enabled_subscription_ = | |
211 WmShell::Get()->palette_delegate()->AddPaletteEnableListener( | |
212 base::Bind(&PaletteTray::OnPaletteEnabledPrefChanged, | |
213 weak_factory_.GetWeakPtr())); | |
214 } | 207 } |
215 | 208 |
216 PaletteTray::~PaletteTray() { | 209 PaletteTray::~PaletteTray() { |
217 if (bubble_) | 210 if (bubble_) |
218 bubble_->bubble_view()->reset_delegate(); | 211 bubble_->bubble_view()->reset_delegate(); |
219 | 212 |
220 WmShell::Get()->RemoveShellObserver(this); | 213 WmShell::Get()->RemoveShellObserver(this); |
221 WmShell::Get()->GetSessionStateDelegate()->RemoveSessionStateObserver(this); | 214 WmShell::Get()->GetSessionStateDelegate()->RemoveSessionStateObserver(this); |
222 } | 215 } |
223 | 216 |
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
406 | 399 |
407 TrayBackgroundView::SetShelfAlignment(alignment); | 400 TrayBackgroundView::SetShelfAlignment(alignment); |
408 SetIconBorderForShelfAlignment(); | 401 SetIconBorderForShelfAlignment(); |
409 } | 402 } |
410 | 403 |
411 void PaletteTray::AnchorUpdated() { | 404 void PaletteTray::AnchorUpdated() { |
412 if (bubble_) | 405 if (bubble_) |
413 bubble_->bubble_view()->UpdateBubble(); | 406 bubble_->bubble_view()->UpdateBubble(); |
414 } | 407 } |
415 | 408 |
| 409 void PaletteTray::Initialize() { |
| 410 // OnPaletteEnabledPrefChanged will get called with the initial pref value, |
| 411 // which will take care of showing the palette. |
| 412 palette_enabled_subscription_ = |
| 413 WmShell::Get()->palette_delegate()->AddPaletteEnableListener( |
| 414 base::Bind(&PaletteTray::OnPaletteEnabledPrefChanged, |
| 415 weak_factory_.GetWeakPtr())); |
| 416 } |
| 417 |
416 void PaletteTray::SetIconBorderForShelfAlignment() { | 418 void PaletteTray::SetIconBorderForShelfAlignment() { |
417 // TODO(tdanderson): Ensure PaletteTray follows material design specs. See | 419 // TODO(tdanderson): Ensure PaletteTray follows material design specs. See |
418 // crbug.com/630464. | 420 // crbug.com/630464. |
419 if (IsHorizontalAlignment(shelf_alignment())) { | 421 if (IsHorizontalAlignment(shelf_alignment())) { |
420 icon_->SetBorder(views::CreateEmptyBorder(gfx::Insets( | 422 icon_->SetBorder(views::CreateEmptyBorder(gfx::Insets( |
421 kHorizontalShelfVerticalPadding, kHorizontalShelfHorizontalPadding))); | 423 kHorizontalShelfVerticalPadding, kHorizontalShelfHorizontalPadding))); |
422 } else { | 424 } else { |
423 icon_->SetBorder(views::CreateEmptyBorder(gfx::Insets( | 425 icon_->SetBorder(views::CreateEmptyBorder(gfx::Insets( |
424 kVerticalShelfVerticalPadding, kVerticalShelfHorizontalPadding))); | 426 kVerticalShelfVerticalPadding, kVerticalShelfHorizontalPadding))); |
425 } | 427 } |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
464 } else { | 466 } else { |
465 UpdateIconVisibility(); | 467 UpdateIconVisibility(); |
466 } | 468 } |
467 } | 469 } |
468 | 470 |
469 void PaletteTray::UpdateIconVisibility() { | 471 void PaletteTray::UpdateIconVisibility() { |
470 SetVisible(is_palette_enabled_ && IsInUserSession()); | 472 SetVisible(is_palette_enabled_ && IsInUserSession()); |
471 } | 473 } |
472 | 474 |
473 } // namespace ash | 475 } // namespace ash |
OLD | NEW |