Skip to content
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ Note that this project **does not** adhere to [Semantic Versioning](https://semv

### Fixed

- We fixed an issue where pressing <kbd>ESC</kbd> in the preferences dialog would not always close the dialog. [#8888](https://github.com/JabRef/jabref/issues/8888)

### Removed

## [6.0-alpha.3] – 2025-10-30
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,12 @@
import javafx.scene.control.ButtonType;
import javafx.scene.control.ListView;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.TableView;
import javafx.scene.control.ToggleButton;
import javafx.scene.control.TreeTableView;
import javafx.scene.control.TreeView;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyEvent;

import org.jabref.gui.DialogService;
import org.jabref.gui.icon.IconTheme;
Expand Down Expand Up @@ -93,6 +97,14 @@ private void initialize() {
preferencesContainer.setContent(preferencesTab.getBuilder());
preferencesTab.prefWidthProperty().bind(preferencesContainer.widthProperty().subtract(10d));
preferencesTab.getStyleClass().add("preferencesTab");
this.getDialogPane().addEventFilter(KeyEvent.KEY_PRESSED, event -> {
if (preferences.getKeyBindingRepository().checkKeyCombinationEquality(KeyBinding.CLOSE, event)) {
if (event.getTarget() instanceof ListView || event.getTarget() instanceof TableView || event.getTarget() instanceof TreeView || event.getTarget() instanceof TreeTableView) {
this.closeDialog();
event.consume();
}
}
});
} else {
preferencesContainer.setContent(null);
}
Expand Down
Loading