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

Side by Side Diff: ash/system/overview/overview_button_tray.cc

Issue 2051663005: Vectorize the remaining material design shelf icons (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: only load MD icons when needed Created 4 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 "ash/system/overview/overview_button_tray.h" 5 #include "ash/system/overview/overview_button_tray.h"
6 6
7 #include "ash/common/material_design/material_design_controller.h"
7 #include "ash/common/session/session_state_delegate.h" 8 #include "ash/common/session/session_state_delegate.h"
9 #include "ash/common/shelf/shelf_constants.h"
8 #include "ash/common/shelf/shelf_types.h" 10 #include "ash/common/shelf/shelf_types.h"
9 #include "ash/common/shelf/wm_shelf_util.h" 11 #include "ash/common/shelf/wm_shelf_util.h"
10 #include "ash/common/system/tray/system_tray_delegate.h" 12 #include "ash/common/system/tray/system_tray_delegate.h"
11 #include "ash/common/wm_shell.h" 13 #include "ash/common/wm_shell.h"
12 #include "ash/shelf/shelf_util.h" 14 #include "ash/shelf/shelf_util.h"
13 #include "ash/shell.h" 15 #include "ash/shell.h"
14 #include "ash/system/tray/tray_utils.h" 16 #include "ash/system/tray/tray_utils.h"
15 #include "ash/wm/maximize_mode/maximize_mode_controller.h" 17 #include "ash/wm/maximize_mode/maximize_mode_controller.h"
16 #include "ash/wm/overview/window_selector_controller.h" 18 #include "ash/wm/overview/window_selector_controller.h"
17 #include "grit/ash_resources.h" 19 #include "grit/ash_resources.h"
18 #include "grit/ash_strings.h" 20 #include "grit/ash_strings.h"
19 #include "ui/base/l10n/l10n_util.h" 21 #include "ui/base/l10n/l10n_util.h"
20 #include "ui/base/resource/resource_bundle.h" 22 #include "ui/base/resource/resource_bundle.h"
23 #include "ui/gfx/paint_vector_icon.h"
24 #include "ui/gfx/vector_icons_public.h"
21 #include "ui/views/border.h" 25 #include "ui/views/border.h"
22 #include "ui/views/controls/image_view.h" 26 #include "ui/views/controls/image_view.h"
23 27
24 namespace { 28 namespace {
25 29
26 // Predefined padding for the icon used in this tray. These are to be set to the 30 // Predefined padding for the icon used in this tray. These are to be set to the
27 // border of the icon, depending on the current shelf_alignment() 31 // border of the icon, depending on the current shelf_alignment()
28 const int kHorizontalShelfHorizontalPadding = 8; 32 const int kHorizontalShelfHorizontalPadding = 8;
29 const int kHorizontalShelfVerticalPadding = 4; 33 const int kHorizontalShelfVerticalPadding = 4;
30 const int kVerticalShelfHorizontalPadding = 2; 34 const int kVerticalShelfHorizontalPadding = 2;
31 const int kVerticalShelfVerticalPadding = 5; 35 const int kVerticalShelfVerticalPadding = 5;
32 36
33 } // namespace 37 } // namespace
34 38
35 namespace ash { 39 namespace ash {
36 40
37 OverviewButtonTray::OverviewButtonTray(StatusAreaWidget* status_area_widget) 41 OverviewButtonTray::OverviewButtonTray(StatusAreaWidget* status_area_widget)
38 : TrayBackgroundView(status_area_widget), icon_(NULL) { 42 : TrayBackgroundView(status_area_widget), icon_(NULL) {
39 SetContentsBackground(); 43 SetContentsBackground();
40 44
41 ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance();
42 icon_ = new views::ImageView(); 45 icon_ = new views::ImageView();
43 icon_->SetImage( 46 if (MaterialDesignController::IsShelfMaterial()) {
44 bundle.GetImageNamed(IDR_AURA_UBER_TRAY_OVERVIEW_MODE).ToImageSkia()); 47 gfx::ImageSkia image_md =
48 CreateVectorIcon(gfx::VectorIconId::SHELF_OVERVIEW, kShelfIconColor);
49 icon_->SetImage(&image_md);
James Cook 2016/06/09 23:00:09 Can you just call icon_->SetImage(image_id) to mak
tdanderson 2016/06/09 23:51:41 Done.
50 } else {
51 gfx::ImageSkia* image_non_md =
52 ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed(
53 IDR_AURA_UBER_TRAY_OVERVIEW_MODE);
54 icon_->SetImage(image_non_md);
55 }
45 SetIconBorderForShelfAlignment(); 56 SetIconBorderForShelfAlignment();
46 tray_container()->AddChildView(icon_); 57 tray_container()->AddChildView(icon_);
47 58
48 WmShell::Get()->AddShellObserver(this); 59 WmShell::Get()->AddShellObserver(this);
49 Shell::GetInstance()->session_state_delegate()->AddSessionStateObserver(this); 60 Shell::GetInstance()->session_state_delegate()->AddSessionStateObserver(this);
50 } 61 }
51 62
52 OverviewButtonTray::~OverviewButtonTray() { 63 OverviewButtonTray::~OverviewButtonTray() {
53 WmShell::Get()->RemoveShellObserver(this); 64 WmShell::Get()->RemoveShellObserver(this);
54 Shell::GetInstance()->session_state_delegate()->RemoveSessionStateObserver( 65 Shell::GetInstance()->session_state_delegate()->RemoveSessionStateObserver(
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 shell->maximize_mode_controller()->IsMaximizeModeWindowManagerEnabled() && 144 shell->maximize_mode_controller()->IsMaximizeModeWindowManagerEnabled() &&
134 session_state_delegate->IsActiveUserSessionStarted() && 145 session_state_delegate->IsActiveUserSessionStarted() &&
135 !session_state_delegate->IsScreenLocked() && 146 !session_state_delegate->IsScreenLocked() &&
136 session_state_delegate->GetSessionState() == 147 session_state_delegate->GetSessionState() ==
137 SessionStateDelegate::SESSION_STATE_ACTIVE && 148 SessionStateDelegate::SESSION_STATE_ACTIVE &&
138 shell->system_tray_delegate()->GetUserLoginStatus() != 149 shell->system_tray_delegate()->GetUserLoginStatus() !=
139 LoginStatus::KIOSK_APP); 150 LoginStatus::KIOSK_APP);
140 } 151 }
141 152
142 } // namespace ash 153 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698