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

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

Issue 2898743002: Draggable peeking/fullscreen launcher with transparent background. (Closed)
Patch Set: adressed comments. Created 3 years, 6 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 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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698