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