Chromium Code Reviews| OLD | NEW | 
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/all_apps_tile_item_view.h" | 5 #include "ui/app_list/views/all_apps_tile_item_view.h" | 
| 6 | 6 | 
| 7 #include "base/metrics/histogram_macros.h" | 7 #include "base/metrics/histogram_macros.h" | 
| 8 #include "ui/app_list/app_list_constants.h" | 8 #include "ui/app_list/app_list_constants.h" | 
| 9 #include "ui/app_list/app_list_features.h" | |
| 9 #include "ui/app_list/resources/grit/app_list_resources.h" | 10 #include "ui/app_list/resources/grit/app_list_resources.h" | 
| 11 #include "ui/app_list/views/app_list_view.h" | |
| 10 #include "ui/app_list/views/contents_view.h" | 12 #include "ui/app_list/views/contents_view.h" | 
| 11 #include "ui/base/l10n/l10n_util.h" | 13 #include "ui/base/l10n/l10n_util.h" | 
| 12 #include "ui/base/resource/resource_bundle.h" | 14 #include "ui/base/resource/resource_bundle.h" | 
| 13 #include "ui/gfx/canvas.h" | 15 #include "ui/gfx/canvas.h" | 
| 14 #include "ui/gfx/image/canvas_image_source.h" | 16 #include "ui/gfx/image/canvas_image_source.h" | 
| 15 #include "ui/resources/grit/ui_resources.h" | 17 #include "ui/resources/grit/ui_resources.h" | 
| 16 #include "ui/strings/grit/ui_strings.h" | 18 #include "ui/strings/grit/ui_strings.h" | 
| 19 #include "ui/views/widget/widget.h" | |
| 
 
xiyuan
2017/05/30 22:18:50
nit: unused ?
 
newcomer
2017/06/01 01:42:54
Done.
 
 | |
| 17 | 20 | 
| 18 namespace app_list { | 21 namespace app_list { | 
| 19 | 22 | 
| 20 namespace { | 23 namespace { | 
| 21 | 24 | 
| 22 class AllAppsImageSource : public gfx::CanvasImageSource { | 25 class AllAppsImageSource : public gfx::CanvasImageSource { | 
| 23 public: | 26 public: | 
| 24 AllAppsImageSource(const gfx::ImageSkia& icon, const gfx::Size& size) | 27 AllAppsImageSource(const gfx::ImageSkia& icon, const gfx::Size& size) | 
| 25 : gfx::CanvasImageSource(size, false), icon_(icon) {} | 28 : gfx::CanvasImageSource(size, false), icon_(icon) {} | 
| 26 ~AllAppsImageSource() override {} | 29 ~AllAppsImageSource() override {} | 
| 27 | 30 | 
| 28 private: | 31 private: | 
| 29 // gfx::CanvasImageSource override: | 32 // gfx::CanvasImageSource override: | 
| 30 void Draw(gfx::Canvas* canvas) override { | 33 void Draw(gfx::Canvas* canvas) override { | 
| 31 canvas->DrawImageInt(icon_, (size().width() - icon_.size().width()) / 2, | 34 canvas->DrawImageInt(icon_, (size().width() - icon_.size().width()) / 2, | 
| 32 (size().height() - icon_.size().height()) / 2); | 35 (size().height() - icon_.size().height()) / 2); | 
| 33 } | 36 } | 
| 34 | 37 | 
| 35 gfx::ImageSkia icon_; | 38 gfx::ImageSkia icon_; | 
| 36 | 39 | 
| 37 DISALLOW_COPY_AND_ASSIGN(AllAppsImageSource); | 40 DISALLOW_COPY_AND_ASSIGN(AllAppsImageSource); | 
| 38 }; | 41 }; | 
| 39 | 42 | 
| 40 } // namespace | 43 } // namespace | 
| 41 | 44 | 
| 42 AllAppsTileItemView::AllAppsTileItemView(ContentsView* contents_view) | 45 AllAppsTileItemView::AllAppsTileItemView(ContentsView* contents_view, | 
| 43 : contents_view_(contents_view) { | 46 AppListView* app_list_view) | 
| 47 : contents_view_(contents_view), app_list_view_(app_list_view) { | |
| 44 SetTitle(l10n_util::GetStringUTF16(IDS_APP_LIST_ALL_APPS)); | 48 SetTitle(l10n_util::GetStringUTF16(IDS_APP_LIST_ALL_APPS)); | 
| 45 SetHoverStyle(TileItemView::HOVER_STYLE_ANIMATE_SHADOW); | 49 SetHoverStyle(TileItemView::HOVER_STYLE_ANIMATE_SHADOW); | 
| 46 UpdateIcon(); | 50 UpdateIcon(); | 
| 47 } | 51 } | 
| 48 | 52 | 
| 49 AllAppsTileItemView::~AllAppsTileItemView() { | 53 AllAppsTileItemView::~AllAppsTileItemView() { | 
| 50 } | 54 } | 
| 51 | 55 | 
| 52 void AllAppsTileItemView::UpdateIcon() { | 56 void AllAppsTileItemView::UpdateIcon() { | 
| 53 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); | 57 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); | 
| 54 gfx::Size canvas_size = gfx::Size(kTileIconSize, kTileIconSize); | 58 gfx::Size canvas_size = gfx::Size(kTileIconSize, kTileIconSize); | 
| 55 AllAppsImageSource* source = new AllAppsImageSource( | 59 AllAppsImageSource* source = new AllAppsImageSource( | 
| 56 *rb.GetImageNamed(IDR_ALL_APPS_DROP_DOWN).ToImageSkia(), canvas_size); | 60 *rb.GetImageNamed(IDR_ALL_APPS_DROP_DOWN).ToImageSkia(), canvas_size); | 
| 57 gfx::ImageSkia image(source, canvas_size); | 61 gfx::ImageSkia image(source, canvas_size); | 
| 58 | 62 | 
| 59 SetIcon(image); | 63 SetIcon(image); | 
| 60 } | 64 } | 
| 61 | 65 | 
| 62 void AllAppsTileItemView::ButtonPressed(views::Button* sender, | 66 void AllAppsTileItemView::ButtonPressed(views::Button* sender, | 
| 63 const ui::Event& event) { | 67 const ui::Event& event) { | 
| 64 UMA_HISTOGRAM_ENUMERATION(kPageOpenedHistogram, AppListModel::STATE_APPS, | 68 UMA_HISTOGRAM_ENUMERATION(kPageOpenedHistogram, AppListModel::STATE_APPS, | 
| 65 AppListModel::STATE_LAST); | 69 AppListModel::STATE_LAST); | 
| 66 | 70 | 
| 67 contents_view_->SetActiveState(AppListModel::STATE_APPS); | 71 contents_view_->SetActiveState(AppListModel::STATE_APPS); | 
| 72 if (features::IsFullscreenAppListEnabled()) | |
| 73 app_list_view_->ToFullscreen(); | |
| 68 } | 74 } | 
| 69 | 75 | 
| 70 } // namespace app_list | 76 } // namespace app_list | 
| OLD | NEW |