| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "chrome/browser/ui/views/toolbar/app_menu.h" | 5 #include "chrome/browser/ui/views/toolbar/app_menu.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <cmath> | 10 #include <cmath> |
| (...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 188 default: | 188 default: |
| 189 return theme->GetSystemColor( | 189 return theme->GetSystemColor( |
| 190 ui::NativeTheme::kColorId_EnabledMenuButtonBorderColor); | 190 ui::NativeTheme::kColorId_EnabledMenuButtonBorderColor); |
| 191 } | 191 } |
| 192 } | 192 } |
| 193 | 193 |
| 194 static SkColor BackgroundColor(const View* view, | 194 static SkColor BackgroundColor(const View* view, |
| 195 views::Button::ButtonState state) { | 195 views::Button::ButtonState state) { |
| 196 const ui::NativeTheme* theme = view->GetNativeTheme(); | 196 const ui::NativeTheme* theme = view->GetNativeTheme(); |
| 197 switch (state) { | 197 switch (state) { |
| 198 case views::Button::STATE_PRESSED: |
| 199 return theme->GetSystemColor( |
| 200 ui::NativeTheme::kColorId_FocusedMenuItemBackgroundColor); |
| 198 case views::Button::STATE_HOVERED: | 201 case views::Button::STATE_HOVERED: |
| 199 // Hovered should be handled in DrawBackground. | 202 // Hovered should be handled in DrawBackground. |
| 200 NOTREACHED(); | 203 NOTREACHED(); |
| 201 return theme->GetSystemColor( | |
| 202 ui::NativeTheme::kColorId_HoverMenuItemBackgroundColor); | |
| 203 case views::Button::STATE_PRESSED: | |
| 204 return theme->GetSystemColor( | |
| 205 ui::NativeTheme::kColorId_FocusedMenuItemBackgroundColor); | |
| 206 default: | 204 default: |
| 207 return theme->GetSystemColor( | 205 return theme->GetSystemColor( |
| 208 ui::NativeTheme::kColorId_MenuBackgroundColor); | 206 ui::NativeTheme::kColorId_MenuBackgroundColor); |
| 209 } | 207 } |
| 210 } | 208 } |
| 211 | 209 |
| 212 void DrawBackground(gfx::Canvas* canvas, | 210 void DrawBackground(gfx::Canvas* canvas, |
| 213 const views::View* view, | 211 const views::View* view, |
| 214 const gfx::Rect& bounds, | 212 const gfx::Rect& bounds, |
| 215 views::Button::ButtonState state) const { | 213 views::Button::ButtonState state) const { |
| (...skipping 509 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 725 } | 723 } |
| 726 | 724 |
| 727 ~RecentTabsMenuModelDelegate() override { | 725 ~RecentTabsMenuModelDelegate() override { |
| 728 model_->SetMenuModelDelegate(NULL); | 726 model_->SetMenuModelDelegate(NULL); |
| 729 } | 727 } |
| 730 | 728 |
| 731 const gfx::FontList* GetLabelFontListAt(int index) const { | 729 const gfx::FontList* GetLabelFontListAt(int index) const { |
| 732 return model_->GetLabelFontListAt(index); | 730 return model_->GetLabelFontListAt(index); |
| 733 } | 731 } |
| 734 | 732 |
| 735 bool GetShouldUseDisabledEmphasizedForegroundColor(int index) const { | |
| 736 // The items for which we get a font list, should be shown in the bolded | |
| 737 // color. | |
| 738 return GetLabelFontListAt(index) ? true : false; | |
| 739 } | |
| 740 | |
| 741 // ui::MenuModelDelegate implementation: | 733 // ui::MenuModelDelegate implementation: |
| 742 | 734 |
| 743 void OnIconChanged(int index) override { | 735 void OnIconChanged(int index) override { |
| 744 int command_id = model_->GetCommandIdAt(index); | 736 int command_id = model_->GetCommandIdAt(index); |
| 745 views::MenuItemView* item = menu_item_->GetMenuItemByID(command_id); | 737 views::MenuItemView* item = menu_item_->GetMenuItemByID(command_id); |
| 746 DCHECK(item); | 738 DCHECK(item); |
| 747 gfx::Image icon; | 739 gfx::Image icon; |
| 748 model_->GetIconAt(index, &icon); | 740 model_->GetIconAt(index, &icon); |
| 749 item->SetIcon(*icon.ToImageSkia()); | 741 item->SetIcon(*icon.ToImageSkia()); |
| 750 } | 742 } |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 856 } | 848 } |
| 857 | 849 |
| 858 const gfx::FontList* AppMenu::GetLabelFontList(int command_id) const { | 850 const gfx::FontList* AppMenu::GetLabelFontList(int command_id) const { |
| 859 if (IsRecentTabsCommand(command_id)) { | 851 if (IsRecentTabsCommand(command_id)) { |
| 860 return recent_tabs_menu_model_delegate_->GetLabelFontListAt( | 852 return recent_tabs_menu_model_delegate_->GetLabelFontListAt( |
| 861 ModelIndexFromCommandId(command_id)); | 853 ModelIndexFromCommandId(command_id)); |
| 862 } | 854 } |
| 863 return NULL; | 855 return NULL; |
| 864 } | 856 } |
| 865 | 857 |
| 866 bool AppMenu::GetShouldUseDisabledEmphasizedForegroundColor( | 858 bool AppMenu::GetShouldUseNormalForegroundColor(int command_id) const { |
| 867 int command_id) const { | 859 return IsRecentTabsCommand(command_id); |
| 868 if (IsRecentTabsCommand(command_id)) { | |
| 869 return recent_tabs_menu_model_delegate_-> | |
| 870 GetShouldUseDisabledEmphasizedForegroundColor( | |
| 871 ModelIndexFromCommandId(command_id)); | |
| 872 } | |
| 873 return false; | |
| 874 } | 860 } |
| 875 | 861 |
| 876 base::string16 AppMenu::GetTooltipText(int command_id, | 862 base::string16 AppMenu::GetTooltipText(int command_id, |
| 877 const gfx::Point& p) const { | 863 const gfx::Point& p) const { |
| 878 return IsBookmarkCommand(command_id) ? | 864 return IsBookmarkCommand(command_id) ? |
| 879 bookmark_menu_delegate_->GetTooltipText(command_id, p) : base::string16(); | 865 bookmark_menu_delegate_->GetTooltipText(command_id, p) : base::string16(); |
| 880 } | 866 } |
| 881 | 867 |
| 882 bool AppMenu::IsTriggerableEvent(views::MenuItemView* menu, | 868 bool AppMenu::IsTriggerableEvent(views::MenuItemView* menu, |
| 883 const ui::Event& e) { | 869 const ui::Event& e) { |
| (...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1250 0, | 1236 0, |
| 1251 BookmarkMenuDelegate::SHOW_PERMANENT_FOLDERS, | 1237 BookmarkMenuDelegate::SHOW_PERMANENT_FOLDERS, |
| 1252 BOOKMARK_LAUNCH_LOCATION_APP_MENU); | 1238 BOOKMARK_LAUNCH_LOCATION_APP_MENU); |
| 1253 } | 1239 } |
| 1254 | 1240 |
| 1255 int AppMenu::ModelIndexFromCommandId(int command_id) const { | 1241 int AppMenu::ModelIndexFromCommandId(int command_id) const { |
| 1256 CommandIDToEntry::const_iterator ix = command_id_to_entry_.find(command_id); | 1242 CommandIDToEntry::const_iterator ix = command_id_to_entry_.find(command_id); |
| 1257 DCHECK(ix != command_id_to_entry_.end()); | 1243 DCHECK(ix != command_id_to_entry_.end()); |
| 1258 return ix->second.second; | 1244 return ix->second.second; |
| 1259 } | 1245 } |
| OLD | NEW |