Skip to content
Snippets Groups Projects
Commit ba79fb68 authored by tobias's avatar tobias
Browse files

Bug fixes for key binding

parent efca2f0a
No related branches found
No related tags found
No related merge requests found
......@@ -165,19 +165,19 @@ public class DesktopMenuToolbarViewController extends BasicMenuToolbarViewContro
@Override
public void loadKeybinding(KeyCollection keys) {
newProjectMenuItem.setAccelerator(KeyCombination.valueOf(keys.getKey("new_proj").getKeyCode()));
openProjectMenuItem.setAccelerator(KeyCombination.valueOf(keys.getKey("open_proj").getKeyCode()));
saveProjectMenuItem.setAccelerator(KeyCombination.valueOf(keys.getKey("save_proj").getKeyCode()));
printProjectMenuItem.setAccelerator(KeyCombination.valueOf(keys.getKey("print_proj").getKeyCode()));
dndModeMenuItem.setAccelerator(KeyCombination.valueOf(keys.getKey("dnd").getKeyCode()));
errorMenu.setAccelerator(KeyCombination.valueOf(keys.getKey("errors").getKeyCode()));
pluginMenu.setAccelerator(KeyCombination.valueOf(keys.getKey("plugins").getKeyCode()));
settingsMenuItem.setAccelerator(KeyCombination.valueOf(keys.getKey("profile_settings").getKeyCode()));
globalSettingsMenuItem.setAccelerator(KeyCombination.valueOf(keys.getKey("global_settings").getKeyCode()));
fullScreenMenuItem.setAccelerator(KeyCombination.valueOf(keys.getKey("window_fullscreen").getKeyCode()));
alwaysOnTopItem.setAccelerator(KeyCombination.valueOf(keys.getKey("window_top").getKeyCode()));
setKeyBindinfForMenu(newProjectMenuItem, keys.getKey("new_proj"));
setKeyBindinfForMenu(openProjectMenuItem, keys.getKey("open_proj"));
setKeyBindinfForMenu(saveProjectMenuItem, keys.getKey("save_proj"));
setKeyBindinfForMenu(printProjectMenuItem, keys.getKey("print_proj"));
setKeyBindinfForMenu(dndModeMenuItem, keys.getKey("dnd"));
setKeyBindinfForMenu(errorMenu, keys.getKey("errors"));
setKeyBindinfForMenu(pluginMenu, keys.getKey("plugins"));
setKeyBindinfForMenu(settingsMenuItem, keys.getKey("profile_settings"));
setKeyBindinfForMenu(globalSettingsMenuItem, keys.getKey("global_settings"));
setKeyBindinfForMenu(fullScreenMenuItem, keys.getKey("window_fullscreen"));
setKeyBindinfForMenu(alwaysOnTopItem, keys.getKey("window_top"));
newProjectMenuItem.setDisable(false);
openProjectMenuItem.setDisable(false);
......
......@@ -5,6 +5,7 @@ import java.util.ResourceBundle;
import de.tobias.playpad.PlayPadMain;
import de.tobias.playpad.project.Project;
import de.tobias.playpad.settings.Profile;
import de.tobias.playpad.settings.keys.Key;
import de.tobias.utils.ui.icon.FontAwesomeType;
import de.tobias.utils.ui.icon.FontIcon;
import javafx.event.ActionEvent;
......@@ -12,8 +13,10 @@ import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.scene.control.Label;
import javafx.scene.control.Menu;
import javafx.scene.control.MenuItem;
import javafx.scene.control.Slider;
import javafx.scene.control.ToolBar;
import javafx.scene.input.KeyCombination;
import javafx.scene.layout.HBox;
public abstract class BasicMenuToolbarViewController extends MenuToolbarViewController implements EventHandler<ActionEvent> {
......@@ -58,4 +61,15 @@ public abstract class BasicMenuToolbarViewController extends MenuToolbarViewCont
run.run();
}
}
protected void setKeyBindinfForMenu(MenuItem menuItem, Key key) {
if (key != null) {
if (!key.getKeyCode().isEmpty()) {
KeyCombination keyCode = KeyCombination.valueOf(key.getKeyCode());
if (keyCode != null) {
menuItem.setAccelerator(keyCode);
}
}
}
}
}
......@@ -93,6 +93,10 @@ public class KeysTabViewController extends GlobalSettingsTabViewController {
scene.setOnKeyPressed(ev ->
{
if (ev.getCode().isModifierKey()) {
return;
}
boolean macCondition = ev.getCode().isLetterKey() || ev.getCode().isKeypadKey() || ev.getCode().isDigitKey()
|| ev.getCode().isFunctionKey() || ev.getCode() == KeyCode.PERIOD || ev.getCode() == KeyCode.COMMA;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment