| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/gtk/menu_gtk.h" | 5 #include "chrome/browser/ui/gtk/menu_gtk.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/i18n/rtl.h" | 10 #include "base/i18n/rtl.h" |
| (...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 483 ui::ButtonMenuItemModel* button_menu_item_model = | 483 ui::ButtonMenuItemModel* button_menu_item_model = |
| 484 model->GetButtonMenuItemAt(i); | 484 model->GetButtonMenuItemAt(i); |
| 485 menu_item = BuildButtonMenuItem(button_menu_item_model, menu); | 485 menu_item = BuildButtonMenuItem(button_menu_item_model, menu); |
| 486 connect_to_activate = false; | 486 connect_to_activate = false; |
| 487 break; | 487 break; |
| 488 } | 488 } |
| 489 case ui::MenuModel::TYPE_SUBMENU: | 489 case ui::MenuModel::TYPE_SUBMENU: |
| 490 case ui::MenuModel::TYPE_COMMAND: { | 490 case ui::MenuModel::TYPE_COMMAND: { |
| 491 int command_id = model->GetCommandIdAt(i); | 491 int command_id = model->GetCommandIdAt(i); |
| 492 if (model->GetIconAt(i, &icon)) | 492 if (model->GetIconAt(i, &icon)) |
| 493 menu_item = BuildMenuItemWithImage(label, icon); | 493 menu_item = BuildMenuItemWithImage(label, *icon.bitmap()); |
| 494 else | 494 else |
| 495 menu_item = BuildMenuItemWithLabel(label, command_id); | 495 menu_item = BuildMenuItemWithLabel(label, command_id); |
| 496 if (delegate_ && delegate_->AlwaysShowIconForCmd(command_id) && | 496 if (delegate_ && delegate_->AlwaysShowIconForCmd(command_id) && |
| 497 GTK_IS_IMAGE_MENU_ITEM(menu_item)) { | 497 GTK_IS_IMAGE_MENU_ITEM(menu_item)) { |
| 498 gtk_util::SetAlwaysShowImage(menu_item); | 498 gtk_util::SetAlwaysShowImage(menu_item); |
| 499 } | 499 } |
| 500 break; | 500 break; |
| 501 } | 501 } |
| 502 | 502 |
| 503 default: | 503 default: |
| (...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 880 if (model->IsVisibleAt(id)) { | 880 if (model->IsVisibleAt(id)) { |
| 881 // Update the menu item label if it is dynamic. | 881 // Update the menu item label if it is dynamic. |
| 882 if (model->IsItemDynamicAt(id)) { | 882 if (model->IsItemDynamicAt(id)) { |
| 883 std::string label = ui::ConvertAcceleratorsFromWindowsStyle( | 883 std::string label = ui::ConvertAcceleratorsFromWindowsStyle( |
| 884 UTF16ToUTF8(model->GetLabelAt(id))); | 884 UTF16ToUTF8(model->GetLabelAt(id))); |
| 885 | 885 |
| 886 gtk_menu_item_set_label(GTK_MENU_ITEM(widget), label.c_str()); | 886 gtk_menu_item_set_label(GTK_MENU_ITEM(widget), label.c_str()); |
| 887 if (GTK_IS_IMAGE_MENU_ITEM(widget)) { | 887 if (GTK_IS_IMAGE_MENU_ITEM(widget)) { |
| 888 gfx::ImageSkia icon; | 888 gfx::ImageSkia icon; |
| 889 if (model->GetIconAt(id, &icon)) { | 889 if (model->GetIconAt(id, &icon)) { |
| 890 GdkPixbuf* pixbuf = gfx::GdkPixbufFromSkBitmap(icon); | 890 GdkPixbuf* pixbuf = gfx::GdkPixbufFromSkBitmap(*icon.bitmap()); |
| 891 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(widget), | 891 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(widget), |
| 892 gtk_image_new_from_pixbuf(pixbuf)); | 892 gtk_image_new_from_pixbuf(pixbuf)); |
| 893 g_object_unref(pixbuf); | 893 g_object_unref(pixbuf); |
| 894 } else { | 894 } else { |
| 895 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(widget), NULL); | 895 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(widget), NULL); |
| 896 } | 896 } |
| 897 } | 897 } |
| 898 } | 898 } |
| 899 | 899 |
| 900 gtk_widget_show(widget); | 900 gtk_widget_show(widget); |
| 901 } else { | 901 } else { |
| 902 gtk_widget_hide(widget); | 902 gtk_widget_hide(widget); |
| 903 } | 903 } |
| 904 | 904 |
| 905 GtkWidget* submenu = gtk_menu_item_get_submenu(GTK_MENU_ITEM(widget)); | 905 GtkWidget* submenu = gtk_menu_item_get_submenu(GTK_MENU_ITEM(widget)); |
| 906 if (submenu) { | 906 if (submenu) { |
| 907 gtk_container_foreach(GTK_CONTAINER(submenu), &SetMenuItemInfo, | 907 gtk_container_foreach(GTK_CONTAINER(submenu), &SetMenuItemInfo, |
| 908 userdata); | 908 userdata); |
| 909 } | 909 } |
| 910 } | 910 } |
| 911 } | 911 } |
| OLD | NEW |