Changeset 29228 in webkit
- Timestamp:
- Jan 7, 2008 8:23:06 AM (16 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r29227 r29228 1 2008-01-07 Luca Bruno <lethalman88@gmail.com> 2 3 Reviewed by Alp Toker. 4 5 http://bugs.webkit.org/show_bug.cgi?id=16745 6 [GTK] Context menu doesn't feel or look native - no icons 7 8 Use GTK+ stock icons for menu items where possible. 9 10 * platform/gtk/ContextMenuItemGtk.cpp: 11 (WebCore::gtkStockIDFromContextMenuAction): 12 (WebCore::ContextMenuItem::createNativeMenuItem): 13 (WebCore::ContextMenuItem::setAction): 14 1 15 2008-01-07 Dan Bernstein <mitz@apple.com> 2 16 -
trunk/WebCore/platform/gtk/ContextMenuItemGtk.cpp
r29130 r29228 29 29 namespace WebCore { 30 30 31 static const char* gtkStockIDFromContextMenuAction(const ContextMenuAction& action) 32 { 33 switch (action) { 34 case ContextMenuItemTagCopyLinkToClipboard: 35 case ContextMenuItemTagCopyImageToClipboard: 36 case ContextMenuItemTagCopy: 37 return GTK_STOCK_COPY; 38 case ContextMenuItemTagOpenLinkInNewWindow: 39 case ContextMenuItemTagOpenImageInNewWindow: 40 case ContextMenuItemTagOpenFrameInNewWindow: 41 return GTK_STOCK_OPEN; 42 case ContextMenuItemTagDownloadLinkToDisk: 43 case ContextMenuItemTagDownloadImageToDisk: 44 return GTK_STOCK_SAVE; 45 case ContextMenuItemTagGoBack: 46 return GTK_STOCK_GO_BACK; 47 case ContextMenuItemTagGoForward: 48 return GTK_STOCK_GO_FORWARD; 49 case ContextMenuItemTagStop: 50 return GTK_STOCK_STOP; 51 case ContextMenuItemTagReload: 52 return GTK_STOCK_REFRESH; 53 case ContextMenuItemTagCut: 54 return GTK_STOCK_CUT; 55 case ContextMenuItemTagPaste: 56 return GTK_STOCK_PASTE; 57 case ContextMenuItemTagSpellingGuess: 58 return GTK_STOCK_INFO; 59 case ContextMenuItemTagIgnoreSpelling: 60 return GTK_STOCK_NO; 61 case ContextMenuItemTagLearnSpelling: 62 return GTK_STOCK_OK; 63 case ContextMenuItemTagOther: 64 return GTK_STOCK_MISSING_IMAGE; 65 case ContextMenuItemTagSearchInSpotlight: 66 return GTK_STOCK_FIND; 67 case ContextMenuItemTagOpenWithDefaultApplication: 68 return GTK_STOCK_OPEN; 69 case ContextMenuItemPDFZoomIn: 70 return GTK_STOCK_ZOOM_IN; 71 case ContextMenuItemPDFZoomOut: 72 return GTK_STOCK_ZOOM_OUT; 73 case ContextMenuItemPDFAutoSize: 74 return GTK_STOCK_ZOOM_FIT; 75 case ContextMenuItemPDFNextPage: 76 return GTK_STOCK_GO_FORWARD; 77 case ContextMenuItemPDFPreviousPage: 78 return GTK_STOCK_GO_BACK; 79 // New tags, not part of API 80 case ContextMenuItemTagOpenLink: 81 return GTK_STOCK_OPEN; 82 case ContextMenuItemTagCheckSpelling: 83 return GTK_STOCK_SPELL_CHECK; 84 case ContextMenuItemTagFontMenu: 85 return GTK_STOCK_SELECT_FONT; 86 case ContextMenuItemTagShowFonts: 87 return GTK_STOCK_SELECT_FONT; 88 case ContextMenuItemTagBold: 89 return GTK_STOCK_BOLD; 90 case ContextMenuItemTagItalic: 91 return GTK_STOCK_ITALIC; 92 case ContextMenuItemTagUnderline: 93 return GTK_STOCK_UNDERLINE; 94 case ContextMenuItemTagShowColors: 95 return GTK_STOCK_SELECT_COLOR; 96 default: 97 return NULL; 98 } 99 } 100 31 101 // Extract the ActionType from the menu item 32 102 ContextMenuItem::ContextMenuItem(GtkMenuItem* item) … … 74 144 item = GTK_MENU_ITEM(gtk_check_menu_item_new_with_label(menu.title.utf8().data())); 75 145 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item), menu.checked); 76 } else 77 item = GTK_MENU_ITEM(gtk_menu_item_new_with_label(menu.title.utf8().data())); 78 146 } else { 147 if (const gchar* stockID = gtkStockIDFromContextMenuAction(menu.action)) { 148 item = GTK_MENU_ITEM(gtk_image_menu_item_new_with_label(menu.title.utf8().data())); 149 GtkWidget* image = gtk_image_new_from_stock(stockID, GTK_ICON_SIZE_MENU); 150 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image); 151 } else 152 item = GTK_MENU_ITEM(gtk_menu_item_new_with_label(menu.title.utf8().data())); 153 } 154 79 155 ContextMenuAction* menuAction = static_cast<ContextMenuAction*>(malloc(sizeof(ContextMenuAction*))); 80 156 *menuAction = menu.action; … … 84 160 85 161 if (menu.subMenu) 86 gtk_menu_item_set_submenu(item, GTK_WIDGET(menu.subMenu)); 162 gtk_menu_item_set_submenu(item, GTK_WIDGET(menu.subMenu)); 87 163 } 88 164 … … 115 191 { 116 192 m_platformDescription.action = action; 117 118 193 } 119 194
Note: See TracChangeset
for help on using the changeset viewer.