Index: athena/home/home_card_impl.cc |
diff --git a/athena/home/home_card_impl.cc b/athena/home/home_card_impl.cc |
index c1908de0563b43dfd0908a0e6877b128df278f8f..6fb544f1cf04e462030ca3ec2b1d954ab24f770d 100644 |
--- a/athena/home/home_card_impl.cc |
+++ b/athena/home/home_card_impl.cc |
@@ -369,71 +369,23 @@ class HomeCardImpl : public HomeCard, |
// AcceleratorHandler: |
virtual bool IsCommandEnabled(int command_id) const OVERRIDE { return true; } |
virtual bool OnAcceleratorFired(int command_id, |
- const ui::Accelerator& accelerator) OVERRIDE { |
- DCHECK_EQ(COMMAND_SHOW_HOME_CARD, command_id); |
- |
- if (state_ == VISIBLE_CENTERED && original_state_ != VISIBLE_BOTTOM) |
- SetState(VISIBLE_MINIMIZED); |
- else if (state_ == VISIBLE_MINIMIZED) |
- SetState(VISIBLE_CENTERED); |
- return true; |
- } |
+ const ui::Accelerator& accelerator) OVERRIDE; |
// HomeCardLayoutManager::Delegate: |
- virtual aura::Window* GetNativeWindow() OVERRIDE { |
- if (state_ == HIDDEN) |
- return NULL; |
- |
- return home_card_widget_ ? home_card_widget_->GetNativeWindow() : NULL; |
- } |
+ virtual aura::Window* GetNativeWindow() OVERRIDE; |
// HomeCardGestureManager::Delegate: |
- virtual void OnGestureEnded(State final_state) OVERRIDE { |
- home_card_view_->ClearGesture(); |
- if (state_ != final_state && |
- (state_ == VISIBLE_MINIMIZED || final_state == VISIBLE_MINIMIZED)) { |
- WindowManager::GetInstance()->ToggleOverview(); |
- } else { |
- state_ = final_state; |
- home_card_view_->SetState(final_state); |
- layout_manager_->Layout(); |
- } |
- } |
- |
+ virtual void OnGestureEnded(State final_state) OVERRIDE; |
virtual void OnGestureProgressed( |
- State from_state, State to_state, float progress) OVERRIDE { |
- // Do not update |state_| but update the look of home_card_view. |
- // TODO(mukai): allow mixed visual of |from_state| and |to_state|. |
- home_card_view_->SetState(to_state); |
- |
- gfx::Rect screen_bounds = |
- home_card_widget_->GetNativeWindow()->GetRootWindow()->bounds(); |
- home_card_widget_->SetBounds(gfx::Tween::RectValueBetween( |
- progress, |
- GetBoundsForState(screen_bounds, from_state), |
- GetBoundsForState(screen_bounds, to_state))); |
- |
- // TODO(mukai): signals the update to the window manager so that it shows |
- // the intermediate visual state of overview mode. |
- } |
+ State from_state, State to_state, float progress) OVERRIDE; |
// WindowManagerObserver: |
- virtual void OnOverviewModeEnter() OVERRIDE { |
- SetState(VISIBLE_BOTTOM); |
- } |
- |
- virtual void OnOverviewModeExit() OVERRIDE { |
- SetState(VISIBLE_MINIMIZED); |
- } |
+ virtual void OnOverviewModeEnter() OVERRIDE; |
+ virtual void OnOverviewModeExit() OVERRIDE; |
// aura::client::ActivationChangeObserver: |
virtual void OnWindowActivated(aura::Window* gained_active, |
- aura::Window* lost_active) OVERRIDE { |
- if (state_ != HIDDEN && |
- gained_active != home_card_widget_->GetNativeWindow()) { |
- SetState(VISIBLE_MINIMIZED); |
- } |
- } |
+ aura::Window* lost_active) OVERRIDE; |
scoped_ptr<AppModelBuilder> model_builder_; |
@@ -478,6 +430,47 @@ HomeCardImpl::~HomeCardImpl() { |
instance = NULL; |
} |
+void HomeCardImpl::Init() { |
+ InstallAccelerators(); |
+ ScreenManager::ContainerParams params("HomeCardContainer", CP_HOME_CARD); |
+ params.can_activate_children = true; |
+ aura::Window* container = ScreenManager::Get()->CreateContainer(params); |
+ layout_manager_ = new HomeCardLayoutManager(this); |
+ |
+ container->SetLayoutManager(layout_manager_); |
+ wm::SetChildWindowVisibilityChangesAnimated(container); |
+ |
+ view_delegate_.reset(new AppListViewDelegate(model_builder_.get())); |
+ if (search_provider_) |
+ view_delegate_->RegisterSearchProvider(search_provider_.get()); |
+ |
+ home_card_view_ = new HomeCardView(view_delegate_.get(), container, this); |
+ home_card_widget_ = new views::Widget(); |
+ views::Widget::InitParams widget_params( |
+ views::Widget::InitParams::TYPE_WINDOW_FRAMELESS); |
+ widget_params.parent = container; |
+ widget_params.delegate = home_card_view_; |
+ widget_params.opacity = views::Widget::InitParams::TRANSLUCENT_WINDOW; |
+ home_card_widget_->Init(widget_params); |
+ |
+ SetState(VISIBLE_MINIMIZED); |
+ home_card_view_->Layout(); |
+ |
+ activation_client_ = |
+ aura::client::GetActivationClient(container->GetRootWindow()); |
+ if (activation_client_) |
+ activation_client_->AddObserver(this); |
+} |
+ |
+void HomeCardImpl::InstallAccelerators() { |
+ const AcceleratorData accelerator_data[] = { |
+ {TRIGGER_ON_PRESS, ui::VKEY_L, ui::EF_CONTROL_DOWN, |
+ COMMAND_SHOW_HOME_CARD, AF_NONE}, |
+ }; |
+ AcceleratorManager::Get()->RegisterAccelerators( |
+ accelerator_data, arraysize(accelerator_data), this); |
+} |
+ |
void HomeCardImpl::SetState(HomeCard::State state) { |
if (state_ == state) |
return; |
@@ -522,45 +515,67 @@ void HomeCardImpl::UpdateVirtualKeyboardBounds( |
} |
} |
-void HomeCardImpl::Init() { |
- InstallAccelerators(); |
- ScreenManager::ContainerParams params("HomeCardContainer", CP_HOME_CARD); |
- params.can_activate_children = true; |
- aura::Window* container = ScreenManager::Get()->CreateContainer(params); |
- layout_manager_ = new HomeCardLayoutManager(this); |
+bool HomeCardImpl::OnAcceleratorFired(int command_id, |
+ const ui::Accelerator& accelerator) { |
+ DCHECK_EQ(COMMAND_SHOW_HOME_CARD, command_id); |
- container->SetLayoutManager(layout_manager_); |
- wm::SetChildWindowVisibilityChangesAnimated(container); |
+ if (state_ == VISIBLE_CENTERED && original_state_ != VISIBLE_BOTTOM) |
+ SetState(VISIBLE_MINIMIZED); |
+ else if (state_ == VISIBLE_MINIMIZED) |
+ SetState(VISIBLE_CENTERED); |
+ return true; |
+} |
- view_delegate_.reset(new AppListViewDelegate(model_builder_.get())); |
- if (search_provider_) |
- view_delegate_->RegisterSearchProvider(search_provider_.get()); |
+aura::Window* HomeCardImpl::GetNativeWindow() { |
+ if (state_ == HIDDEN) |
+ return NULL; |
- home_card_view_ = new HomeCardView(view_delegate_.get(), container, this); |
- home_card_widget_ = new views::Widget(); |
- views::Widget::InitParams widget_params( |
- views::Widget::InitParams::TYPE_WINDOW_FRAMELESS); |
- widget_params.parent = container; |
- widget_params.delegate = home_card_view_; |
- widget_params.opacity = views::Widget::InitParams::TRANSLUCENT_WINDOW; |
- home_card_widget_->Init(widget_params); |
+ return home_card_widget_ ? home_card_widget_->GetNativeWindow() : NULL; |
+} |
- SetState(VISIBLE_MINIMIZED); |
- home_card_view_->Layout(); |
+void HomeCardImpl::OnGestureEnded(State final_state) { |
+ home_card_view_->ClearGesture(); |
+ if (state_ != final_state && |
+ (state_ == VISIBLE_MINIMIZED || final_state == VISIBLE_MINIMIZED)) { |
+ WindowManager::GetInstance()->ToggleOverview(); |
+ } else { |
+ state_ = final_state; |
+ home_card_view_->SetState(final_state); |
+ layout_manager_->Layout(); |
+ } |
+} |
- activation_client_ = |
- aura::client::GetActivationClient(container->GetRootWindow()); |
- if (activation_client_) |
- activation_client_->AddObserver(this); |
+void HomeCardImpl::OnGestureProgressed( |
+ State from_state, State to_state, float progress) { |
+ // Do not update |state_| but update the look of home_card_view. |
+ // TODO(mukai): allow mixed visual of |from_state| and |to_state|. |
+ home_card_view_->SetState(to_state); |
+ |
+ gfx::Rect screen_bounds = |
+ home_card_widget_->GetNativeWindow()->GetRootWindow()->bounds(); |
+ home_card_widget_->SetBounds(gfx::Tween::RectValueBetween( |
+ progress, |
+ GetBoundsForState(screen_bounds, from_state), |
+ GetBoundsForState(screen_bounds, to_state))); |
+ |
+ // TODO(mukai): signals the update to the window manager so that it shows the |
+ // intermediate visual state of overview mode. |
} |
-void HomeCardImpl::InstallAccelerators() { |
- const AcceleratorData accelerator_data[] = { |
- {TRIGGER_ON_PRESS, ui::VKEY_L, ui::EF_CONTROL_DOWN, |
- COMMAND_SHOW_HOME_CARD, AF_NONE}, |
- }; |
- AcceleratorManager::Get()->RegisterAccelerators( |
- accelerator_data, arraysize(accelerator_data), this); |
+void HomeCardImpl::OnOverviewModeEnter() { |
+ SetState(VISIBLE_BOTTOM); |
+} |
+ |
+void HomeCardImpl::OnOverviewModeExit() { |
+ SetState(VISIBLE_MINIMIZED); |
+} |
+ |
+void HomeCardImpl::OnWindowActivated(aura::Window* gained_active, |
+ aura::Window* lost_active) { |
+ if (state_ != HIDDEN && |
+ gained_active != home_card_widget_->GetNativeWindow()) { |
+ SetState(VISIBLE_MINIMIZED); |
+ } |
} |
} // namespace |