From 27179dc51b3b15c08fd4989e58c891cb5f8fecf6 Mon Sep 17 00:00:00 2001 From: Aleksandrs Gusevs Date: Wed, 16 Jan 2019 23:11:53 +0200 Subject: [PATCH 1/2] Issue#4496 Added default action invocation in dialog when pressing ctrl+enter --- .../org/jabref/gui/keyboard/KeyBinding.java | 1 + .../java/org/jabref/gui/util/BaseDialog.java | 17 +++++++++++++++++ src/main/resources/l10n/JabRef_en.properties | 2 ++ 3 files changed, 20 insertions(+) diff --git a/src/main/java/org/jabref/gui/keyboard/KeyBinding.java b/src/main/java/org/jabref/gui/keyboard/KeyBinding.java index cd6f1c67613..b73fbc6b0c3 100644 --- a/src/main/java/org/jabref/gui/keyboard/KeyBinding.java +++ b/src/main/java/org/jabref/gui/keyboard/KeyBinding.java @@ -25,6 +25,7 @@ public enum KeyBinding { ENTRY_EDITOR_PREVIOUS_PANEL_2("Entry editor, previous panel 2", Localization.lang("Entry editor, previous panel 2"), "ctrl+MINUS", KeyBindingCategory.VIEW), DECREASE_TABLE_FONT_SIZE("Decrease table font size", Localization.lang("Decrease table font size"), "ctrl+MINUS", KeyBindingCategory.VIEW), DELETE_ENTRY("Delete entry", Localization.lang("Delete entry"), "DELETE", KeyBindingCategory.BIBTEX), + DEFAULT_DIALOG_ACTION("Execute default action in dialog", Localization.lang("Execute default action in dialog"), "ctrl+ENTER", KeyBindingCategory.VIEW), DOWNLOAD_FULL_TEXT("Look up full text documents", Localization.lang("Look up full text documents"), "alt+F7", KeyBindingCategory.QUALITY), EDIT_ENTRY("Edit entry", Localization.lang("Edit entry"), "ctrl+E", KeyBindingCategory.BIBTEX), EDIT_STRINGS("Edit strings", Localization.lang("Edit strings"), "ctrl+T", KeyBindingCategory.BIBTEX), diff --git a/src/main/java/org/jabref/gui/util/BaseDialog.java b/src/main/java/org/jabref/gui/util/BaseDialog.java index 59f6e034e3b..a05eb2862ce 100644 --- a/src/main/java/org/jabref/gui/util/BaseDialog.java +++ b/src/main/java/org/jabref/gui/util/BaseDialog.java @@ -1,5 +1,9 @@ package org.jabref.gui.util; +import java.util.Optional; + +import javafx.scene.control.Button; +import javafx.scene.control.ButtonType; import javafx.scene.control.Dialog; import javafx.scene.image.Image; import javafx.stage.Stage; @@ -16,6 +20,8 @@ protected BaseDialog() { KeyBindingRepository keyBindingRepository = Globals.getKeyPrefs(); if (keyBindingRepository.checkKeyCombinationEquality(KeyBinding.CLOSE, event)) { close(); + } else if (keyBindingRepository.checkKeyCombinationEquality(KeyBinding.DEFAULT_DIALOG_ACTION, event)) { + getDefaultButton().ifPresent(Button::fire); } }); @@ -24,6 +30,17 @@ protected BaseDialog() { Globals.getThemeLoader().installCss(getDialogPane().getScene(), Globals.prefs); } + private Optional