Index: app/interface.c =================================================================== RCS file: /cvs/gnome/dia/app/interface.c,v retrieving revision 1.139 diff -u -r1.139 interface.c --- app/interface.c 14 Aug 2006 16:49:59 -0000 1.139 +++ app/interface.c 23 Oct 2006 18:20:43 -0000 @@ -55,71 +55,85 @@ { { (char **) dia_modify_tool_icon, N_("Modify object(s)"), + NULL, "ToolsModify", { MODIFY_TOOL, NULL, NULL} }, { (char **) dia_zoom_tool_icon, N_("Magnify"), + "M", "ToolsMagnify", { MAGNIFY_TOOL, NULL, NULL} }, { (char **) dia_scroll_tool_icon, N_("Scroll around the diagram"), + "S", "ToolsScroll", { SCROLL_TOOL, NULL, NULL} }, { NULL, N_("Text"), + "T", "ToolsText", { CREATE_OBJECT_TOOL, "Standard - Text", NULL } }, { NULL, N_("Box"), + "R", "ToolsBox", { CREATE_OBJECT_TOOL, "Standard - Box", NULL } }, { NULL, N_("Ellipse"), + "E", "ToolsEllipse", { CREATE_OBJECT_TOOL, "Standard - Ellipse", NULL } }, { NULL, N_("Polygon"), + "P", "ToolsPolygon", { CREATE_OBJECT_TOOL, "Standard - Polygon", NULL } }, { NULL, N_("Beziergon"), + "B", "ToolsBeziergon", { CREATE_OBJECT_TOOL, "Standard - Beziergon", NULL } }, { NULL, N_("Line"), + "L", "ToolsLine", { CREATE_OBJECT_TOOL, "Standard - Line", NULL } }, { NULL, N_("Arc"), + "A", "ToolsArc", { CREATE_OBJECT_TOOL, "Standard - Arc", NULL } }, { NULL, N_("Zigzagline"), + "Z", "ToolsZigzagline", { CREATE_OBJECT_TOOL, "Standard - ZigZagLine", NULL } }, { NULL, N_("Polyline"), + NULL, "ToolsPolyline", { CREATE_OBJECT_TOOL, "Standard - PolyLine", NULL } }, { NULL, N_("Bezierline"), + "C", "ToolsBezierline", { CREATE_OBJECT_TOOL, "Standard - BezierLine", NULL } }, { NULL, N_("Image"), + "I", "ToolsImage", { CREATE_OBJECT_TOOL, "Standard - Image", NULL } } @@ -759,8 +773,20 @@ tool_data[i].callback_data.widget = button; - gtk_tooltips_set_tip (tool_tips, button, - gettext(tool_data[i].tool_desc), NULL); + if (tool_data[i].tool_accelerator) { + guint key; + GdkModifierType mods; + + gtk_accelerator_parse (tool_data[i].tool_accelerator, &key, &mods); + + gtk_tooltips_set_tip (tool_tips, button, + g_strconcat(gettext(tool_data[i].tool_desc), + " (", gtk_accelerator_get_label(key, mods), ")"), + NULL); + } else { + gtk_tooltips_set_tip (tool_tips, button, + gettext(tool_data[i].tool_desc), NULL); + } gtk_widget_show (pixmapwidget); gtk_widget_show (button); Index: app/interface.h =================================================================== RCS file: /cvs/gnome/dia/app/interface.h,v retrieving revision 1.16 diff -u -r1.16 interface.h --- app/interface.h 25 May 2006 20:08:00 -0000 1.16 +++ app/interface.h 23 Oct 2006 18:20:44 -0000 @@ -69,6 +69,7 @@ { gchar **icon_data; char *tool_desc; + char *tool_accelerator; char *action_name; ToolButtonData callback_data; };