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

Unified Diff: athena/home/home_card_impl.cc

Issue 388703002: Introduce state to home card. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix Created 6 years, 5 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
« no previous file with comments | « no previous file | athena/home/public/home_card.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: athena/home/home_card_impl.cc
diff --git a/athena/home/home_card_impl.cc b/athena/home/home_card_impl.cc
index 6787d50344b02fd0dd75839ddaa16df8154a59cc..5edf5de4ff1fd7603c83474b232f6fe00fa962d0 100644
--- a/athena/home/home_card_impl.cc
+++ b/athena/home/home_card_impl.cc
@@ -93,6 +93,7 @@ class HomeCardImpl : public HomeCard, public AcceleratorHandler {
void InstallAccelerators();
// Overridden from HomeCard:
+ virtual void SetState(State state) OVERRIDE;
virtual void RegisterSearchProvider(
app_list::SearchProvider* search_provider) OVERRIDE;
virtual void UpdateVirtualKeyboardBounds(
@@ -103,15 +104,17 @@ class HomeCardImpl : public HomeCard, public AcceleratorHandler {
virtual bool OnAcceleratorFired(int command_id,
const ui::Accelerator& accelerator) OVERRIDE {
DCHECK_EQ(COMMAND_SHOW_HOME_CARD, command_id);
- if (home_card_widget_->IsVisible())
- home_card_widget_->Hide();
+ if (state_ == HIDDEN)
+ SetState(VISIBLE_CENTERED);
else
- home_card_widget_->Show();
+ SetState(HIDDEN);
return true;
}
scoped_ptr<AppModelBuilder> model_builder_;
+ HomeCard::State state_;
+
views::Widget* home_card_widget_;
AppListViewDelegate* view_delegate_;
HomeCardLayoutManager* layout_manager_;
@@ -125,6 +128,7 @@ class HomeCardImpl : public HomeCard, public AcceleratorHandler {
HomeCardImpl::HomeCardImpl(AppModelBuilder* model_builder)
: model_builder_(model_builder),
+ state_(HIDDEN),
home_card_widget_(NULL),
layout_manager_(NULL) {
DCHECK(!instance);
@@ -138,6 +142,14 @@ HomeCardImpl::~HomeCardImpl() {
instance = NULL;
}
+void HomeCardImpl::SetState(HomeCard::State state) {
+ if (state == HIDDEN)
+ home_card_widget_->Hide();
+ else
+ home_card_widget_->Show();
+ state_ = state;
+}
+
void HomeCardImpl::RegisterSearchProvider(
app_list::SearchProvider* search_provider) {
DCHECK(!search_provider_);
@@ -170,6 +182,8 @@ void HomeCardImpl::Init() {
views::BubbleBorder::FLOAT,
true /* border_accepts_events */);
home_card_widget_ = view->GetWidget();
+ // TODO: the initial value might not be visible.
+ state_ = VISIBLE_CENTERED;
view->ShowWhenReady();
}
« no previous file with comments | « no previous file | athena/home/public/home_card.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698