Added clarification to comments and code for shortcut keys (mnemonics/etc).

This commit is contained in:
nathan 2018-11-11 00:23:33 +01:00
parent 6d01d4ad9b
commit 61855cfb96
10 changed files with 53 additions and 38 deletions

View File

@ -41,7 +41,9 @@ class MenuItem extends Entry {
// default enabled is always true
private volatile boolean enabled = true;
private volatile char mnemonicKey;
// default is 0, which will remove the shortcut key from the native peer
private volatile char mnemonicKey = 0;
private volatile String tooltip;
public

View File

@ -125,7 +125,7 @@ class AwtMenu implements MenuPeer {
@Override
public
void setShortcut(final MenuItem menuItem) {
// yikes...
// Will return 0 as the vKey if it's not set (which will remove the shortcut)
final int vKey = SwingUtil.getVirtualKey(menuItem.getShortcut());
SwingUtil.invokeLater(new Runnable() {

View File

@ -107,9 +107,8 @@ class AwtMenuItem implements MenuItemPeer {
@Override
public
void setShortcut(final dorkbox.systemTray.MenuItem menuItem) {
char shortcut = menuItem.getShortcut();
// yikes...
final int vKey = SwingUtil.getVirtualKey(shortcut);
// Will return 0 as the vKey if it's not set (which will remove the shortcut)
final int vKey = SwingUtil.getVirtualKey(menuItem.getShortcut());
SwingUtil.invokeLater(new Runnable() {
@Override

View File

@ -109,9 +109,8 @@ class AwtMenuItemCheckbox implements CheckboxPeer {
@Override
public
void setShortcut(final Checkbox menuItem) {
char shortcut = menuItem.getShortcut();
// yikes...
final int vKey = SwingUtil.getVirtualKey(shortcut);
// Will return 0 as the vKey if it's not set (which will remove the shortcut)
final int vKey = SwingUtil.getVirtualKey(menuItem.getShortcut());
SwingUtil.invokeLater(new Runnable() {
@Override

View File

@ -362,7 +362,13 @@ class GtkMenu extends GtkBaseMenuItem implements MenuPeer {
@Override
public
void setShortcut(final MenuItem menuItem) {
this.mnemonicKey = Character.toLowerCase(menuItem.getShortcut());
char shortcut = menuItem.getShortcut();
if (shortcut != 0) {
this.mnemonicKey = Character.toLowerCase(shortcut);
} else {
this.mnemonicKey = 0;
}
setText(menuItem);
}

View File

@ -190,7 +190,13 @@ class GtkMenuItem extends GtkBaseMenuItem implements MenuItemPeer, GCallback {
@Override
public
void setShortcut(final MenuItem menuItem) {
this.mnemonicKey = Character.toLowerCase(menuItem.getShortcut());
char shortcut = menuItem.getShortcut();
if (shortcut != 0) {
this.mnemonicKey = Character.toLowerCase(shortcut);
} else {
this.mnemonicKey = 0;
}
setText(menuItem);
}

View File

@ -308,7 +308,13 @@ class GtkMenuItemCheckbox extends GtkBaseMenuItem implements CheckboxPeer, GCall
@Override
public
void setShortcut(final Checkbox checkbox) {
this.mnemonicKey = Character.toLowerCase(checkbox.getShortcut());
char shortcut = checkbox.getShortcut();
if (shortcut != 0) {
this.mnemonicKey = Character.toLowerCase(shortcut);
} else {
this.mnemonicKey = 0;
}
setText(checkbox);
}

View File

@ -162,9 +162,8 @@ class SwingMenu implements MenuPeer {
@Override
public
void setShortcut(final MenuItem menuItem) {
char shortcut = menuItem.getShortcut();
// yikes...
final int vKey = SwingUtil.getVirtualKey(shortcut);
// Will return 0 as the vKey if it's not set (which will remove the shortcut)
final int vKey = SwingUtil.getVirtualKey(menuItem.getShortcut());
SwingUtil.invokeLater(new Runnable() {
@Override

View File

@ -158,9 +158,8 @@ class SwingMenuItem implements MenuItemPeer {
@Override
public
void setShortcut(final MenuItem menuItem) {
char shortcut = menuItem.getShortcut();
// yikes...
final int vKey = SwingUtil.getVirtualKey(shortcut);
// Will return 0 as the vKey if it's not set (which will remove the shortcut)
final int vKey = SwingUtil.getVirtualKey(menuItem.getShortcut());
SwingUtil.invokeLater(new Runnable() {
@Override

View File

@ -137,9 +137,8 @@ class SwingMenuItemCheckbox extends SwingMenuItem implements CheckboxPeer {
@Override
public
void setShortcut(final Checkbox menuItem) {
char shortcut = menuItem.getShortcut();
// yikes...
final int vKey = SwingUtil.getVirtualKey(shortcut);
// Will return 0 as the vKey if it's not set (which will remove the shortcut)
final int vKey = SwingUtil.getVirtualKey(menuItem.getShortcut());
SwingUtil.invokeLater(new Runnable() {
@Override