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