diff options
author | xiyuan@chromium.org <xiyuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-02 18:48:32 +0000 |
---|---|---|
committer | xiyuan@chromium.org <xiyuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-02 18:48:32 +0000 |
commit | 0b972b75a6379dc2d20272643336e0033249d1bd (patch) | |
tree | 45643fc17d7cb31d313461ec4e30b617089d97ca /ui/app_list/views | |
parent | c2bf8af68fa39318e91e13434295c605c5aa1d51 (diff) | |
download | chromium_src-0b972b75a6379dc2d20272643336e0033249d1bd.zip chromium_src-0b972b75a6379dc2d20272643336e0033249d1bd.tar.gz chromium_src-0b972b75a6379dc2d20272643336e0033249d1bd.tar.bz2 |
app_list: Show apps grid after installing from cws result.
BUG=259517
Review URL: https://chromiumcodereview.appspot.com/21592003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@215331 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/app_list/views')
-rw-r--r-- | ui/app_list/views/app_list_main_view.cc | 6 | ||||
-rw-r--r-- | ui/app_list/views/app_list_main_view.h | 3 | ||||
-rw-r--r-- | ui/app_list/views/search_result_list_view.cc | 5 | ||||
-rw-r--r-- | ui/app_list/views/search_result_list_view.h | 1 | ||||
-rw-r--r-- | ui/app_list/views/search_result_view.cc | 4 | ||||
-rw-r--r-- | ui/app_list/views/search_result_view.h | 1 | ||||
-rw-r--r-- | ui/app_list/views/search_result_view_delegate.h | 3 |
7 files changed, 23 insertions, 0 deletions
diff --git a/ui/app_list/views/app_list_main_view.cc b/ui/app_list/views/app_list_main_view.cc index d3791ad..f574cd1 100644 --- a/ui/app_list/views/app_list_main_view.cc +++ b/ui/app_list/views/app_list_main_view.cc @@ -226,4 +226,10 @@ void AppListMainView::InvokeResultAction(SearchResult* result, delegate_->InvokeSearchResultAction(result, action_index, event_flags); } +void AppListMainView::OnResultInstalled(SearchResult* result) { + // Clears the search to show the apps grid. The last installed app + // should be highlighted and made visible already. + search_box_view_->ClearSearch(); +} + } // namespace app_list diff --git a/ui/app_list/views/app_list_main_view.h b/ui/app_list/views/app_list_main_view.h index 0fd7761..dc73e8b 100644 --- a/ui/app_list/views/app_list_main_view.h +++ b/ui/app_list/views/app_list_main_view.h @@ -5,6 +5,8 @@ #ifndef UI_APP_LIST_VIEWS_APP_LIST_MAIN_VIEW_H_ #define UI_APP_LIST_VIEWS_APP_LIST_MAIN_VIEW_H_ +#include <string> + #include "base/memory/scoped_vector.h" #include "base/timer/timer.h" #include "ui/app_list/apps_grid_view_delegate.h" @@ -82,6 +84,7 @@ class AppListMainView : public views::View, virtual void InvokeResultAction(SearchResult* result, int action_index, int event_flags) OVERRIDE; + virtual void OnResultInstalled(SearchResult* result) OVERRIDE; AppListViewDelegate* delegate_; AppListModel* model_; diff --git a/ui/app_list/views/search_result_list_view.cc b/ui/app_list/views/search_result_list_view.cc index b57f82f..48c9157 100644 --- a/ui/app_list/views/search_result_list_view.cc +++ b/ui/app_list/views/search_result_list_view.cc @@ -168,4 +168,9 @@ void SearchResultListView::SearchResultActionActivated(SearchResultView* view, } } +void SearchResultListView::OnSearchResultInstalled(SearchResultView* view) { + if (delegate_ && view->result()) + delegate_->OnResultInstalled(view->result()); +} + } // namespace app_list diff --git a/ui/app_list/views/search_result_list_view.h b/ui/app_list/views/search_result_list_view.h index 36d950c..d6b0396 100644 --- a/ui/app_list/views/search_result_list_view.h +++ b/ui/app_list/views/search_result_list_view.h @@ -58,6 +58,7 @@ class SearchResultListView : public views::View, virtual void SearchResultActionActivated(SearchResultView* view, size_t action_index, int event_flags) OVERRIDE; + virtual void OnSearchResultInstalled(SearchResultView* view) OVERRIDE; SearchResultListViewDelegate* delegate_; // Not owned. AppListModel::SearchResults* results_; // Owned by AppListModel. diff --git a/ui/app_list/views/search_result_view.cc b/ui/app_list/views/search_result_view.cc index e14c843..0361591 100644 --- a/ui/app_list/views/search_result_view.cc +++ b/ui/app_list/views/search_result_view.cc @@ -275,6 +275,10 @@ void SearchResultView::OnPercentDownloadedChanged() { progress_bar_->SetValue(result_->percent_downloaded() / 100.0); } +void SearchResultView::OnItemInstalled() { + delegate_->OnSearchResultInstalled(this); +} + void SearchResultView::OnSearchResultActionActivated(size_t index, int event_flags) { DCHECK(result_); diff --git a/ui/app_list/views/search_result_view.h b/ui/app_list/views/search_result_view.h index a694bde..4d830e7 100644 --- a/ui/app_list/views/search_result_view.h +++ b/ui/app_list/views/search_result_view.h @@ -79,6 +79,7 @@ class SearchResultView : public views::CustomButton, virtual void OnActionsChanged() OVERRIDE; virtual void OnIsInstallingChanged() OVERRIDE; virtual void OnPercentDownloadedChanged() OVERRIDE; + virtual void OnItemInstalled() OVERRIDE; // SearchResultActionsViewDelegate overrides: virtual void OnSearchResultActionActivated(size_t index, diff --git a/ui/app_list/views/search_result_view_delegate.h b/ui/app_list/views/search_result_view_delegate.h index 079ff44..16b87ef 100644 --- a/ui/app_list/views/search_result_view_delegate.h +++ b/ui/app_list/views/search_result_view_delegate.h @@ -21,6 +21,9 @@ class SearchResultViewDelegate { size_t action_index, int event_flags) = 0; + // Called when the app represented by the search result is installed. + virtual void OnSearchResultInstalled(SearchResultView* view) = 0; + protected: virtual ~SearchResultViewDelegate() {} }; |