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

Unified Diff: ui/app_list/views/app_list_view.cc

Issue 20656002: Add profile selector menu to app list. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: small fixups Created 7 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
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;
}

Powered by Google App Engine
This is Rietveld 408576698