/*
* xoptions.c -- Move list window, part of X front end for XBoard
*
- * Copyright 2000, 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
+ * Copyright 2000, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Free Software Foundation, Inc.
* ------------------------------------------------------------------------
*
* GNU XBoard is free software: you can redistribute it and/or modify
gtk_accelerator_parse(mb[i].accel, &accelerator_key, &accelerator_mods);
#ifdef OSXAPP
- if(accelerator_mods & GDK_CONTROL_MASK) { // in OSX use Meta where Linux uses Ctrl
- accelerator_mods &= ~GDK_CONTROL_MASK; // clear Ctrl flag
- accelerator_mods |= GDK_META_MASK; // set Meta flag
+ if(accelerator_mods & GDK_CONTROL_MASK &&
+ accelerator_key != 'v' && // don't use Cmd+V
+ accelerator_key != 'c' && // and Cmd+C
+ accelerator_key != 'x' && // and CMD+X
+ accelerator_key != 'a' && // and CMD+A
+ accelerator_key != 'w' && // and evreything else in mode menu for umiformity's sake
+ accelerator_key != 'b' &&
+ accelerator_key != 't' &&
+ accelerator_key != 'g' &&
+ accelerator_key != 'e'
+ ) { // in OSX use Meta (Cmd) where Linux uses Ctrl
+ accelerator_mods &= ~GDK_CONTROL_MASK; // clear Ctrl flag
+ accelerator_mods |= GDK_META_MASK; // set Meta flag
}
#endif
gtk_widget_add_accelerator (GTK_WIDGET(entry), "activate",GtkAccelerators,
shiftState = event->state & GDK_SHIFT_MASK;
controlState = event->state & GDK_CONTROL_MASK;
switch(event->keyval) {
+ case 'e': return (controlState && IcsHist( 5, opt, dlg));
+ case 'h': return (controlState && IcsHist( 8, opt, dlg));
case 'n': return (controlState && IcsHist(14, opt, dlg));
case 'o': return (controlState && IcsHist(15, opt, dlg));
case GDK_Tab: IcsHist(10, opt, dlg); break;
g_signal_connect(label, "button-press-event", G_CALLBACK(MemoEvent), (gpointer) &option[i]);
gtk_widget_set_sensitive(label, TRUE);
}
- Pack(hbox, table, label, left, left+3, top, 0);
+ Pack(hbox, table, label, left, left+r, top, 0);
break;
case SaveButton:
case Button:
top--;
msg = _(option[i].name); // write name on the menu button
#ifndef OSXAPP
- if(tinyLayout) { strcpy(def, msg); def[tinyLayout] = NULLCHAR; msg = def; } // clip menu text to keep menu bar small
+ if(tinyLayout) { // clip menu text to keep menu bar small
+ int clip = tinyLayout + 1;
+ strcpy(def, msg + (msg[clip-1] == '_'));
+ def[clip] = NULLCHAR; msg = def;
+ }
#endif
// XtSetArg(args[j], XtNmenuName, XtNewString(option[i].name)); j++;
// XtSetArg(args[j], XtNlabel, msg); j++;
option[i].handle = (void*)
- (menuButton = gtk_menu_item_new_with_label(msg));
+ (menuButton = gtk_menu_item_new_with_mnemonic(msg));
gtk_widget_show(menuButton);
option[i].textValue = (char*) (menu = CreateMenuPopup(option + i, i + 256*dlgNr, -1));
gtk_menu_item_set_submenu(GTK_MENU_ITEM (menuButton), menu);