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

Side by Side Diff: ui/app_list/views/apps_container_view.cc

Issue 214423002: Reset the app list when it is shown on Windows and Linux. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@fix_app_list_folder_drag_for_real
Patch Set: small change for tapted@ Created 6 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/app_list/views/apps_container_view.h" 5 #include "ui/app_list/views/apps_container_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 45
46 app_list_folder_view_ = new AppListFolderView( 46 app_list_folder_view_ = new AppListFolderView(
47 this, 47 this,
48 model, 48 model,
49 app_list_main_view, 49 app_list_main_view,
50 start_page_contents); 50 start_page_contents);
51 AddChildView(app_list_folder_view_); 51 AddChildView(app_list_folder_view_);
52 52
53 apps_grid_view_->SetModel(model_); 53 apps_grid_view_->SetModel(model_);
54 apps_grid_view_->SetItemList(model_->item_list()); 54 apps_grid_view_->SetItemList(model_->item_list());
55 SetShowState(SHOW_APPS,
56 false); /* show apps without animation */
57 } 55 }
58 56
59 AppsContainerView::~AppsContainerView() { 57 AppsContainerView::~AppsContainerView() {
60 } 58 }
61 59
62 void AppsContainerView::ShowActiveFolder(AppListFolderItem* folder_item) { 60 void AppsContainerView::ShowActiveFolder(AppListFolderItem* folder_item) {
63 app_list_folder_view_->SetAppListFolderItem(folder_item); 61 app_list_folder_view_->SetAppListFolderItem(folder_item);
64 SetShowState(SHOW_ACTIVE_FOLDER, false); 62 SetShowState(SHOW_ACTIVE_FOLDER, false);
65 63
66 CreateViewsForFolderTopItemsAnimation(folder_item, true); 64 CreateViewsForFolderTopItemsAnimation(folder_item, true);
67 } 65 }
68 66
69 void AppsContainerView::ShowApps(AppListFolderItem* folder_item) { 67 void AppsContainerView::ShowApps(AppListFolderItem* folder_item) {
70 PrepareToShowApps(folder_item); 68 PrepareToShowApps(folder_item);
71 SetShowState(SHOW_APPS, 69 SetShowState(SHOW_APPS,
72 true); /* show apps with animation */ 70 true); /* show apps with animation */
73 } 71 }
74 72
73 void AppsContainerView::ResetForShow() {
74 SetShowState(SHOW_APPS, false /* show apps without animation */);
75 folder_background_view_->UpdateFolderContainerBubble(
76 FolderBackgroundView::NO_BUBBLE);
77 }
78
75 void AppsContainerView::SetDragAndDropHostOfCurrentAppList( 79 void AppsContainerView::SetDragAndDropHostOfCurrentAppList(
76 ApplicationDragAndDropHost* drag_and_drop_host) { 80 ApplicationDragAndDropHost* drag_and_drop_host) {
77 apps_grid_view()->SetDragAndDropHostOfCurrentAppList(drag_and_drop_host); 81 apps_grid_view()->SetDragAndDropHostOfCurrentAppList(drag_and_drop_host);
78 app_list_folder_view()->items_grid_view()-> 82 app_list_folder_view()->items_grid_view()->
79 SetDragAndDropHostOfCurrentAppList(drag_and_drop_host); 83 SetDragAndDropHostOfCurrentAppList(drag_and_drop_host);
80 } 84 }
81 85
82 void AppsContainerView::ReparentFolderItemTransit( 86 void AppsContainerView::ReparentFolderItemTransit(
83 AppListFolderItem* folder_item) { 87 AppListFolderItem* folder_item) {
84 PrepareToShowApps(folder_item); 88 PrepareToShowApps(folder_item);
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 show_state_ = show_state; 148 show_state_ = show_state;
145 149
146 switch (show_state_) { 150 switch (show_state_) {
147 case SHOW_APPS: 151 case SHOW_APPS:
148 folder_background_view_->SetVisible(false); 152 folder_background_view_->SetVisible(false);
149 if (show_apps_with_animation) { 153 if (show_apps_with_animation) {
150 app_list_folder_view_->ScheduleShowHideAnimation(false, false); 154 app_list_folder_view_->ScheduleShowHideAnimation(false, false);
151 apps_grid_view_->ScheduleShowHideAnimation(true); 155 apps_grid_view_->ScheduleShowHideAnimation(true);
152 } else { 156 } else {
153 app_list_folder_view_->HideViewImmediately(); 157 app_list_folder_view_->HideViewImmediately();
154 apps_grid_view_->SetVisible(true); 158 apps_grid_view_->ResetForShow();
155 } 159 }
156 break; 160 break;
157 case SHOW_ACTIVE_FOLDER: 161 case SHOW_ACTIVE_FOLDER:
158 folder_background_view_->SetVisible(true); 162 folder_background_view_->SetVisible(true);
159 apps_grid_view_->ScheduleShowHideAnimation(false); 163 apps_grid_view_->ScheduleShowHideAnimation(false);
160 app_list_folder_view_->ScheduleShowHideAnimation(true, false); 164 app_list_folder_view_->ScheduleShowHideAnimation(true, false);
161 break; 165 break;
162 case SHOW_ITEM_REPARENT: 166 case SHOW_ITEM_REPARENT:
163 folder_background_view_->SetVisible(false); 167 folder_background_view_->SetVisible(false);
164 folder_background_view_->UpdateFolderContainerBubble( 168 folder_background_view_->UpdateFolderContainerBubble(
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 void AppsContainerView::PrepareToShowApps(AppListFolderItem* folder_item) { 214 void AppsContainerView::PrepareToShowApps(AppListFolderItem* folder_item) {
211 if (folder_item) 215 if (folder_item)
212 CreateViewsForFolderTopItemsAnimation(folder_item, false); 216 CreateViewsForFolderTopItemsAnimation(folder_item, false);
213 217
214 // Hide the active folder item until the animation completes. 218 // Hide the active folder item until the animation completes.
215 if (apps_grid_view_->activated_item_view()) 219 if (apps_grid_view_->activated_item_view())
216 apps_grid_view_->activated_item_view()->SetVisible(false); 220 apps_grid_view_->activated_item_view()->SetVisible(false);
217 } 221 }
218 222
219 } // namespace app_list 223 } // namespace app_list
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698