Index: trunk/src/pcb-menu-gtk.lht =================================================================== --- trunk/src/pcb-menu-gtk.lht (revision 1533) +++ trunk/src/pcb-menu-gtk.lht (revision 1534) @@ -460,6 +460,52 @@ ha:Step +Left = { a=ShiftLeft; action=Cursor(Pan,-50,0,view) } ha:Step +Right = { a=ShiftRight; action=Cursor(Pan,50,0,view) } ha:Click = { a=Enter; li:action={Mode(Notify); Mode(Release)} } + - + ha:layer keys { + li:submenu { + ha:Select Layer 1 = { a=1; action=SelectLayer(1) } + ha:Select Layer 2 = { a=2; action=SelectLayer(2) } + ha:Select Layer 3 = { a=3; action=SelectLayer(3) } + ha:Select Layer 4 = { a=4; action=SelectLayer(4) } + ha:Select Layer 5 = { a=5; action=SelectLayer(5) } + ha:Select Layer 6 = { a=6; action=SelectLayer(6) } + ha:Select Layer 7 = { a=7; action=SelectLayer(7) } + ha:Select Layer 8 = { a=8; action=SelectLayer(8) } + ha:Select Layer 9 = { a=9; action=SelectLayer(9) } + ha:Select Layer 10 = { a=0; action=SelectLayer(10) } + ha:Select Layer 11 = { a=Alt1; action=SelectLayer(11) } + ha:Select Layer 12 = { a=Alt2; action=SelectLayer(12) } + ha:Select Layer 13 = { a=Alt3; action=SelectLayer(13) } + ha:Select Layer 14 = { a=Alt4; action=SelectLayer(14) } + ha:Select Layer 15 = { a=Alt5; action=SelectLayer(15) } + ha:Select Layer 16 = { a=Alt6; action=SelectLayer(16) } + ha:Select Layer 17 = { a=Alt7; action=SelectLayer(17) } + ha:Select Layer 18 = { a=Alt8; action=SelectLayer(18) } + ha:Select Layer 19 = { a=Alt9; action=SelectLayer(19) } + ha:Select Layer 20 = { a=Alt0; action=SelectLayer(20) } + - + ha:Toggle Layer 1 = { a=Ctrl1; action=ToggleView(1) } + ha:Toggle Layer 2 = { a=Ctrl2; action=ToggleView(2) } + ha:Toggle Layer 3 = { a=Ctrl3; action=ToggleView(3) } + ha:Toggle Layer 4 = { a=Ctrl4; action=ToggleView(4) } + ha:Toggle Layer 5 = { a=Ctrl5; action=ToggleView(5) } + ha:Toggle Layer 6 = { a=Ctrl6; action=ToggleView(6) } + ha:Toggle Layer 7 = { a=Ctrl7; action=ToggleView(7) } + ha:Toggle Layer 8 = { a=Ctrl8; action=ToggleView(8) } + ha:Toggle Layer 9 = { a=Ctrl9; action=ToggleView(9) } + ha:Toggle Layer 10 = { a=Ctrl0; action=ToggleView(10) } + ha:Toggle Layer 11 = { a=Ctrl-Alt1; action=ToggleView(11) } + ha:Toggle Layer 12 = { a=Ctrl-Alt2; action=ToggleView(12) } + ha:Toggle Layer 13 = { a=Ctrl-Alt3; action=ToggleView(13) } + ha:Toggle Layer 14 = { a=Ctrl-Alt4; action=ToggleView(14) } + ha:Toggle Layer 15 = { a=Ctrl-Alt5; action=ToggleView(15) } + ha:Toggle Layer 16 = { a=Ctrl-Alt6; action=ToggleView(16) } + ha:Toggle Layer 17 = { a=Ctrl-Alt7; action=ToggleView(17) } + ha:Toggle Layer 18 = { a=Ctrl-Alt8; action=ToggleView(18) } + ha:Toggle Layer 19 = { a=Ctrl-Alt9; action=ToggleView(19) } + ha:Toggle Layer 20 = { a=Ctrl-Alt0; action=ToggleView(20) } + } + } } } } @@ -472,7 +518,7 @@ ha:Message Log = { action=DoWindows(Log) } ha:DRC Check = { action=DoWindows(DRC) } ha:Netlist = { action=DoWindows(Netlist) } - ha:Command Entry = { a=\:; action=Command() } + ha:Command Entry = { a={:}; action=Command() } ha:Pinout = { a=Shiftd; action=Display(Pinout) } - ha:About... = { action=About() } Index: trunk/src_plugins/hid_gtk/ghid-layer-selector.c =================================================================== --- trunk/src_plugins/hid_gtk/ghid-layer-selector.c (revision 1533) +++ trunk/src_plugins/hid_gtk/ghid-layer-selector.c (revision 1534) @@ -471,40 +471,8 @@ /* Create visibility action */ new_layer->view_action = gtk_toggle_action_new(vname, name, NULL, NULL); gtk_toggle_action_set_active(new_layer->view_action, visible); + new_layer->accel_index = -1; - /* Determine keyboard accelerators */ - for (i = 0; i < 20; ++i) - if (ls->accel_available[i]) - break; - if (i < 20) { - /* Map 1-0 to actions 1-10 (with '0' meaning 10) */ - gchar *accel1 = g_strdup_printf("%s%d", - i < 10 ? "" : "", - (i + 1) % 10); - gchar *accel2 = g_strdup_printf("%s%d", - i < 10 ? "" : "", - (i + 1) % 10); - - if (activatable) { - GtkAction *action = GTK_ACTION(new_layer->pick_action); - gtk_action_set_accel_group(action, ls->accel_group); - gtk_action_group_add_action_with_accel(ls->action_group, action, accel1); - gtk_action_connect_accelerator(action); - g_signal_connect(G_OBJECT(action), "activate", G_CALLBACK(menu_pick_cb), new_layer); - } - gtk_action_set_accel_group(GTK_ACTION(new_layer->view_action), ls->accel_group); - gtk_action_group_add_action_with_accel(ls->action_group, GTK_ACTION(new_layer->view_action), accel2); - gtk_action_connect_accelerator(GTK_ACTION(new_layer->view_action)); - g_signal_connect(G_OBJECT(new_layer->view_action), "activate", G_CALLBACK(menu_view_cb), new_layer); - - ls->accel_available[i] = FALSE; - new_layer->accel_index = i; - g_free(accel2); - g_free(accel1); - } - else { - new_layer->accel_index = -1; - } /* finalize new layer struct */ new_layer->pick_item = new_layer->view_item = NULL;