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

Side by Side Diff: chrome/browser/ui/gtk/menu_gtk.cc

Issue 10860004: image-skia: Remove implicit conversion to SkBitmap on linux and chromeos. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 4 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 | Annotate | Revision Log
OLDNEW
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698