| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/app_list_item_view.h" | 5 #include "ui/app_list/views/app_list_item_view.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
| 10 #include "ui/accessibility/ax_view_state.h" | 10 #include "ui/accessibility/ax_view_state.h" |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 103 static const gfx::FontList font_list = GetFontList(); | 103 static const gfx::FontList font_list = GetFontList(); |
| 104 title_->SetFontList(font_list); | 104 title_->SetFontList(font_list); |
| 105 title_->SetHorizontalAlignment(gfx::ALIGN_LEFT); | 105 title_->SetHorizontalAlignment(gfx::ALIGN_LEFT); |
| 106 title_->Invalidate(); | 106 title_->Invalidate(); |
| 107 SetTitleSubpixelAA(); | 107 SetTitleSubpixelAA(); |
| 108 | 108 |
| 109 AddChildView(icon_); | 109 AddChildView(icon_); |
| 110 AddChildView(title_); | 110 AddChildView(title_); |
| 111 AddChildView(progress_bar_); | 111 AddChildView(progress_bar_); |
| 112 | 112 |
| 113 SetIcon(item->icon(), item->has_shadow()); | 113 SetIcon(item->icon()); |
| 114 SetItemName(base::UTF8ToUTF16(item->GetDisplayName()), | 114 SetItemName(base::UTF8ToUTF16(item->GetDisplayName()), |
| 115 base::UTF8ToUTF16(item->name())); | 115 base::UTF8ToUTF16(item->name())); |
| 116 SetItemIsInstalling(item->is_installing()); | 116 SetItemIsInstalling(item->is_installing()); |
| 117 SetItemIsHighlighted(item->highlighted()); | 117 SetItemIsHighlighted(item->highlighted()); |
| 118 item->AddObserver(this); | 118 item->AddObserver(this); |
| 119 | 119 |
| 120 set_context_menu_controller(this); | 120 set_context_menu_controller(this); |
| 121 set_request_focus_on_press(false); | 121 set_request_focus_on_press(false); |
| 122 | 122 |
| 123 SetAnimationDuration(0); | 123 SetAnimationDuration(0); |
| 124 } | 124 } |
| 125 | 125 |
| 126 AppListItemView::~AppListItemView() { | 126 AppListItemView::~AppListItemView() { |
| 127 if (item_weak_) | 127 if (item_weak_) |
| 128 item_weak_->RemoveObserver(this); | 128 item_weak_->RemoveObserver(this); |
| 129 } | 129 } |
| 130 | 130 |
| 131 void AppListItemView::SetIcon(const gfx::ImageSkia& icon, bool has_shadow) { | 131 void AppListItemView::SetIcon(const gfx::ImageSkia& icon) { |
| 132 // Clear icon and bail out if item icon is empty. | 132 // Clear icon and bail out if item icon is empty. |
| 133 if (icon.isNull()) { | 133 if (icon.isNull()) { |
| 134 icon_->SetImage(NULL); | 134 icon_->SetImage(NULL); |
| 135 return; | 135 return; |
| 136 } | 136 } |
| 137 | 137 |
| 138 gfx::ImageSkia resized(gfx::ImageSkiaOperations::CreateResizedImage( | 138 gfx::ImageSkia resized(gfx::ImageSkiaOperations::CreateResizedImage( |
| 139 icon, | 139 icon, |
| 140 skia::ImageOperations::RESIZE_BEST, | 140 skia::ImageOperations::RESIZE_BEST, |
| 141 gfx::Size(kGridIconDimension, kGridIconDimension))); | 141 gfx::Size(kGridIconDimension, kGridIconDimension))); |
| 142 if (has_shadow || app_list::switches::IsExperimentalAppListEnabled()) { | 142 shadow_animator_.SetOriginalImage(resized); |
| 143 shadow_animator_.SetOriginalImage(resized); | |
| 144 return; | |
| 145 } | |
| 146 | |
| 147 icon_->SetImage(resized); | |
| 148 } | 143 } |
| 149 | 144 |
| 150 void AppListItemView::SetUIState(UIState state) { | 145 void AppListItemView::SetUIState(UIState state) { |
| 151 if (ui_state_ == state) | 146 if (ui_state_ == state) |
| 152 return; | 147 return; |
| 153 | 148 |
| 154 ui_state_ = state; | 149 ui_state_ = state; |
| 155 | 150 |
| 156 switch (ui_state_) { | 151 switch (ui_state_) { |
| 157 case UI_STATE_NORMAL: | 152 case UI_STATE_NORMAL: |
| (...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 552 // In other cases, keep the background transparent to ensure correct | 547 // In other cases, keep the background transparent to ensure correct |
| 553 // interactions with animations. This will temporarily disable subpixel AA. | 548 // interactions with animations. This will temporarily disable subpixel AA. |
| 554 title_->SetBackgroundColor(0); | 549 title_->SetBackgroundColor(0); |
| 555 title_->set_background(NULL); | 550 title_->set_background(NULL); |
| 556 } | 551 } |
| 557 title_->Invalidate(); | 552 title_->Invalidate(); |
| 558 title_->SchedulePaint(); | 553 title_->SchedulePaint(); |
| 559 } | 554 } |
| 560 | 555 |
| 561 void AppListItemView::ItemIconChanged() { | 556 void AppListItemView::ItemIconChanged() { |
| 562 SetIcon(item_weak_->icon(), item_weak_->has_shadow()); | 557 SetIcon(item_weak_->icon()); |
| 563 } | 558 } |
| 564 | 559 |
| 565 void AppListItemView::ItemNameChanged() { | 560 void AppListItemView::ItemNameChanged() { |
| 566 SetItemName(base::UTF8ToUTF16(item_weak_->GetDisplayName()), | 561 SetItemName(base::UTF8ToUTF16(item_weak_->GetDisplayName()), |
| 567 base::UTF8ToUTF16(item_weak_->name())); | 562 base::UTF8ToUTF16(item_weak_->name())); |
| 568 } | 563 } |
| 569 | 564 |
| 570 void AppListItemView::ItemIsInstallingChanged() { | 565 void AppListItemView::ItemIsInstallingChanged() { |
| 571 SetItemIsInstalling(item_weak_->is_installing()); | 566 SetItemIsInstalling(item_weak_->is_installing()); |
| 572 } | 567 } |
| 573 | 568 |
| 574 void AppListItemView::ItemPercentDownloadedChanged() { | 569 void AppListItemView::ItemPercentDownloadedChanged() { |
| 575 SetItemPercentDownloaded(item_weak_->percent_downloaded()); | 570 SetItemPercentDownloaded(item_weak_->percent_downloaded()); |
| 576 } | 571 } |
| 577 | 572 |
| 578 void AppListItemView::ItemBeingDestroyed() { | 573 void AppListItemView::ItemBeingDestroyed() { |
| 579 DCHECK(item_weak_); | 574 DCHECK(item_weak_); |
| 580 item_weak_->RemoveObserver(this); | 575 item_weak_->RemoveObserver(this); |
| 581 item_weak_ = NULL; | 576 item_weak_ = NULL; |
| 582 } | 577 } |
| 583 | 578 |
| 584 } // namespace app_list | 579 } // namespace app_list |
| OLD | NEW |