comparison src/layout_util.c @ 1624:b70603e03eb6

do not display menus ("FileMenu" etc.) in accelerator configuration improved tooltip texts
author nadvornik
date Sun, 31 May 2009 13:32:09 +0000
parents 99c194fa2fc9
children 1f3bf4a631df
comparison
equal deleted inserted replaced
1623:66d4bd637fd7 1624:b70603e03eb6
1495 { 1495 {
1496 return (gchar *)(_(path)); 1496 return (gchar *)(_(path));
1497 } 1497 }
1498 1498
1499 static void layout_actions_setup_mark(LayoutWindow *lw, gint mark, gchar *name_tmpl, 1499 static void layout_actions_setup_mark(LayoutWindow *lw, gint mark, gchar *name_tmpl,
1500 gchar *label_tmpl, gchar *accel_tmpl, GCallback cb) 1500 gchar *label_tmpl, gchar *accel_tmpl, gchar *tooltip_tmpl, GCallback cb)
1501 { 1501 {
1502 gchar name[50]; 1502 gchar name[50];
1503 gchar label[100]; 1503 gchar label[100];
1504 gchar accel[50]; 1504 gchar accel[50];
1505 GtkActionEntry entry = { name, NULL, label, accel, NULL, cb }; 1505 gchar tooltip[100];
1506 GtkActionEntry entry = { name, NULL, label, accel, tooltip, cb };
1506 GtkAction *action; 1507 GtkAction *action;
1507 1508
1508 g_snprintf(name, sizeof(name), name_tmpl, mark); 1509 g_snprintf(name, sizeof(name), name_tmpl, mark);
1509 g_snprintf(label, sizeof(label), label_tmpl, mark); 1510 g_snprintf(label, sizeof(label), label_tmpl, mark);
1511
1510 if (accel_tmpl) 1512 if (accel_tmpl)
1511 g_snprintf(accel, sizeof(accel), accel_tmpl, mark % 10); 1513 g_snprintf(accel, sizeof(accel), accel_tmpl, mark % 10);
1512 else 1514 else
1513 accel[0] = 0; 1515 entry.accelerator = NULL;
1516
1517 if (tooltip_tmpl)
1518 g_snprintf(tooltip, sizeof(tooltip), tooltip_tmpl, mark);
1519 else
1520 entry.tooltip = NULL;
1521
1514 gtk_action_group_add_actions(lw->action_group, &entry, 1, lw); 1522 gtk_action_group_add_actions(lw->action_group, &entry, 1, lw);
1515 action = gtk_action_group_get_action(lw->action_group, name); 1523 action = gtk_action_group_get_action(lw->action_group, name);
1516 g_object_set_data(G_OBJECT(action), "mark_num", GINT_TO_POINTER(mark)); 1524 g_object_set_data(G_OBJECT(action), "mark_num", GINT_TO_POINTER(mark));
1517 } 1525 }
1518 1526
1525 " <menubar name='MainMenu'>" 1533 " <menubar name='MainMenu'>"
1526 " <menu action='SelectMenu'>"); 1534 " <menu action='SelectMenu'>");
1527 1535
1528 for (mark = 1; mark <= FILEDATA_MARKS_SIZE; mark++) 1536 for (mark = 1; mark <= FILEDATA_MARKS_SIZE; mark++)
1529 { 1537 {
1530 layout_actions_setup_mark(lw, mark, "Mark%d", _("Mark _%d"), NULL, NULL); 1538 layout_actions_setup_mark(lw, mark, "Mark%d", _("Mark _%d"), NULL, NULL, NULL);
1531 layout_actions_setup_mark(lw, mark, "SetMark%d", _("_Set mark %d"), NULL, G_CALLBACK(layout_menu_set_mark_sel_cb)); 1539 layout_actions_setup_mark(lw, mark, "SetMark%d", _("_Set mark %d"), NULL, _("Set mark %d"), G_CALLBACK(layout_menu_set_mark_sel_cb));
1532 layout_actions_setup_mark(lw, mark, "ResetMark%d", _("_Reset mark %d"), NULL, G_CALLBACK(layout_menu_res_mark_sel_cb)); 1540 layout_actions_setup_mark(lw, mark, "ResetMark%d", _("_Reset mark %d"), NULL, _("Reset mark %d"), G_CALLBACK(layout_menu_res_mark_sel_cb));
1533 layout_actions_setup_mark(lw, mark, "ToggleMark%d", _("_Toggle mark %d"), "%d", G_CALLBACK(layout_menu_toggle_mark_sel_cb)); 1541 layout_actions_setup_mark(lw, mark, "ToggleMark%d", _("_Toggle mark %d"), "%d", _("Toggle mark %d"), G_CALLBACK(layout_menu_toggle_mark_sel_cb));
1534 layout_actions_setup_mark(lw, mark, "ToggleMark%dAlt1", _("_Toggle mark %d"), "KP_%d", G_CALLBACK(layout_menu_toggle_mark_sel_cb)); 1542 layout_actions_setup_mark(lw, mark, "ToggleMark%dAlt1", _("_Toggle mark %d"), "KP_%d", _("Toggle mark %d"), G_CALLBACK(layout_menu_toggle_mark_sel_cb));
1535 layout_actions_setup_mark(lw, mark, "SelectMark%d", _("_Select mark %d"), "<control>%d", G_CALLBACK(layout_menu_sel_mark_cb)); 1543 layout_actions_setup_mark(lw, mark, "SelectMark%d", _("_Select mark %d"), "<control>%d", _("Select mark %d"), G_CALLBACK(layout_menu_sel_mark_cb));
1536 layout_actions_setup_mark(lw, mark, "SelectMark%dAlt1", _("_Select mark %d"), "<control>KP_%d", G_CALLBACK(layout_menu_sel_mark_cb)); 1544 layout_actions_setup_mark(lw, mark, "SelectMark%dAlt1", _("_Select mark %d"), "<control>KP_%d", _("Select mark %d"), G_CALLBACK(layout_menu_sel_mark_cb));
1537 layout_actions_setup_mark(lw, mark, "AddMark%d", _("_Add mark %d"), NULL, G_CALLBACK(layout_menu_sel_mark_or_cb)); 1545 layout_actions_setup_mark(lw, mark, "AddMark%d", _("_Add mark %d"), NULL, _("Add mark %d"), G_CALLBACK(layout_menu_sel_mark_or_cb));
1538 layout_actions_setup_mark(lw, mark, "IntMark%d", _("_Intersection with mark %d"), NULL, G_CALLBACK(layout_menu_sel_mark_and_cb)); 1546 layout_actions_setup_mark(lw, mark, "IntMark%d", _("_Intersection with mark %d"), NULL, _("Intersection with mark %d"), G_CALLBACK(layout_menu_sel_mark_and_cb));
1539 layout_actions_setup_mark(lw, mark, "UnselMark%d", _("_Unselect mark %d"), NULL, G_CALLBACK(layout_menu_sel_mark_minus_cb)); 1547 layout_actions_setup_mark(lw, mark, "UnselMark%d", _("_Unselect mark %d"), NULL, _("Unselect mark %d"), G_CALLBACK(layout_menu_sel_mark_minus_cb));
1540 1548
1541 g_string_append_printf(desc, 1549 g_string_append_printf(desc,
1542 " <menu action='Mark%d'>" 1550 " <menu action='Mark%d'>"
1543 " <menuitem action='ToggleMark%d'/>" 1551 " <menuitem action='ToggleMark%d'/>"
1544 " <menuitem action='SetMark%d'/>" 1552 " <menuitem action='SetMark%d'/>"