Index: ui/app_list/views/app_list_view.cc |
diff --git a/ui/app_list/views/app_list_view.cc b/ui/app_list/views/app_list_view.cc |
index 863e25e55df8ed22c06c2754746e4cb85b65f187..8977186e7310ba0faef8ca85cdf50be46b91bb7e 100644 |
--- a/ui/app_list/views/app_list_view.cc |
+++ b/ui/app_list/views/app_list_view.cc |
@@ -50,15 +50,16 @@ AppListView::AppListView(AppListViewDelegate* delegate) |
app_list_main_view_(NULL), |
signin_view_(NULL) { |
if (delegate_) |
- delegate_->SetModel(model_.get()); |
+ delegate_->InitModel(model_.get()); |
if (GetSigninDelegate()) |
GetSigninDelegate()->AddObserver(this); |
+ model_->AddObserver(this); |
} |
AppListView::~AppListView() { |
if (GetSigninDelegate()) |
GetSigninDelegate()->RemoveObserver(this); |
- |
+ model_->RemoveObserver(this); |
// Models are going away, ensure their references are cleared. |
RemoveAllChildViews(true); |
} |
@@ -174,6 +175,7 @@ void AppListView::Prerender() { |
} |
void AppListView::OnSigninStatusChanged() { |
+ delegate_->UpdateModelWithCurrentProfiles(); |
koz (OOO until 15th September)
2013/08/02 01:51:16
This would be better if the delegate listened to t
calamity
2013/08/02 09:59:54
Done.
|
const bool needs_signin = |
GetSigninDelegate() && GetSigninDelegate()->NeedSignin(); |
@@ -259,6 +261,15 @@ void AppListView::OnSigninSuccess() { |
OnSigninStatusChanged(); |
} |
+void AppListView::OnAppListModelProfilesChanged() { |
+ const bool needs_signin = |
+ GetSigninDelegate() && GetSigninDelegate()->NeedSignin(); |
+ |
+ signin_view_->SetVisible(needs_signin); |
+ app_list_main_view_->SetVisible(!needs_signin); |
+ app_list_main_view_->search_box_view()->InvalidateMenu(); |
+} |
+ |
SigninDelegate* AppListView::GetSigninDelegate() { |
return delegate_ ? delegate_->GetSigninDelegate() : NULL; |
} |