From 23d792c7cef3d9272b4ae6e35e7308574706e758 Mon Sep 17 00:00:00 2001 From: Tobias Diez Date: Tue, 17 Sep 2019 22:55:02 +0200 Subject: [PATCH] Fix group edit dialog --- build.gradle | 1 + .../org/jabref/gui/groups/GroupDialog.java | 39 +++++++++---------- 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/build.gradle b/build.gradle index 36124837e1d..eda5709ad85 100644 --- a/build.gradle +++ b/build.gradle @@ -408,6 +408,7 @@ run { "--add-exports", "javafx.graphics/com.sun.javafx.css=org.controlsfx.controls", "--add-opens", "javafx.controls/javafx.scene.control.skin=org.controlsfx.controls", "--add-opens", "javafx.graphics/javafx.scene=org.controlsfx.controls", + "--add-exports", "javafx.controls/com.sun.javafx.scene.control.behavior=com.jfoenix", "--add-opens", "javafx.controls/com.sun.javafx.scene.control.behavior=com.jfoenix", "--add-opens", "javafx.base/com.sun.javafx.binding=com.jfoenix", "--add-opens", "javafx.graphics/com.sun.javafx.stage=com.jfoenix", diff --git a/src/main/java/org/jabref/gui/groups/GroupDialog.java b/src/main/java/org/jabref/gui/groups/GroupDialog.java index b5ef52ee741..5847d72b766 100644 --- a/src/main/java/org/jabref/gui/groups/GroupDialog.java +++ b/src/main/java/org/jabref/gui/groups/GroupDialog.java @@ -53,6 +53,7 @@ import org.jabref.model.entry.field.FieldFactory; import org.jabref.model.entry.field.StandardField; import org.jabref.model.groups.AbstractGroup; +import org.jabref.model.groups.AutomaticGroup; import org.jabref.model.groups.AutomaticKeywordGroup; import org.jabref.model.groups.AutomaticPersonsGroup; import org.jabref.model.groups.ExplicitGroup; @@ -336,7 +337,7 @@ groupName, getContext(), } } else if (texRadioButton.isSelected()) { resultingGroup = TexGroup.create(groupName, getContext(), - Paths.get(texGroupFilePath.getText().trim()), new DefaultAuxParser(new BibDatabase()), Globals.getFileUpdateMonitor(), basePanel.getBibDatabaseContext().getMetaData()); + Paths.get(texGroupFilePath.getText().trim()), new DefaultAuxParser(new BibDatabase()), Globals.getFileUpdateMonitor(), basePanel.getBibDatabaseContext().getMetaData()); } resultingGroup.setColor(colorField.getValue()); @@ -376,6 +377,7 @@ groupName, getContext(), editedGroup.getColor().ifPresent(colorField::setValue); descriptionField.setText(editedGroup.getDescription().orElse("")); iconField.setText(editedGroup.getIconName().orElse("")); + setContext(editedGroup.getHierarchicalContext()); if (editedGroup.getClass() == WordKeywordGroup.class) { WordKeywordGroup group = (WordKeywordGroup) editedGroup; @@ -384,7 +386,6 @@ groupName, getContext(), keywordGroupCaseSensitive.setSelected(group.isCaseSensitive()); keywordGroupRegExp.setSelected(false); keywordsRadioButton.setSelected(true); - setContext(editedGroup.getHierarchicalContext()); } else if (editedGroup.getClass() == RegexKeywordGroup.class) { RegexKeywordGroup group = (RegexKeywordGroup) editedGroup; keywordGroupSearchField.setText(group.getSearchField().getName()); @@ -392,20 +393,16 @@ groupName, getContext(), keywordGroupCaseSensitive.setSelected(group.isCaseSensitive()); keywordGroupRegExp.setSelected(true); keywordsRadioButton.setSelected(true); - setContext(editedGroup.getHierarchicalContext()); } else if (editedGroup.getClass() == SearchGroup.class) { SearchGroup group = (SearchGroup) editedGroup; searchGroupSearchExpression.setText(group.getSearchExpression()); searchGroupCaseSensitive.setSelected(group.isCaseSensitive()); searchGroupRegExp.setSelected(group.isRegularExpression()); searchRadioButton.setSelected(true); - setContext(editedGroup.getHierarchicalContext()); } else if (editedGroup.getClass() == ExplicitGroup.class) { explicitRadioButton.setSelected(true); - setContext(editedGroup.getHierarchicalContext()); - } else if (editedGroup.getClass() == AutomaticKeywordGroup.class) { + } else if (editedGroup instanceof AutomaticGroup) { autoRadioButton.setSelected(true); - setContext(editedGroup.getHierarchicalContext()); if (editedGroup.getClass() == AutomaticKeywordGroup.class) { AutomaticKeywordGroup group = (AutomaticKeywordGroup) editedGroup; @@ -418,7 +415,6 @@ groupName, getContext(), } } else if (editedGroup.getClass() == TexGroup.class) { texRadioButton.setSelected(true); - setContext(editedGroup.getHierarchicalContext()); TexGroup group = (TexGroup) editedGroup; texGroupFilePath.setText(group.getFilePath().toString()); @@ -588,7 +584,7 @@ private void updateComponents() { if (okEnabled) { setDescription(fromTextFlowToHTMLString(SearchDescribers.getSearchDescriberFor( new SearchQuery(s1, isCaseSensitive(), isRegex())) - .getDescription())); + .getDescription())); if (isRegex()) { try { @@ -615,9 +611,9 @@ private void updateComponents() { private void openBrowseDialog() { FileDialogConfiguration fileDialogConfiguration = new FileDialogConfiguration.Builder() - .addExtensionFilter(StandardFileType.AUX) - .withDefaultExtension(StandardFileType.AUX) - .withInitialDirectory(Globals.prefs.get(JabRefPreferences.WORKING_DIRECTORY)).build(); + .addExtensionFilter(StandardFileType.AUX) + .withDefaultExtension(StandardFileType.AUX) + .withInitialDirectory(Globals.prefs.get(JabRefPreferences.WORKING_DIRECTORY)).build(); dialogService.showFileOpenDialog(fileDialogConfiguration).ifPresent(file -> texGroupFilePath.setText(relativize(file.toAbsolutePath()).toString())); } @@ -672,21 +668,18 @@ private ArrayList createFormattedDescription(String descriptionHTML) { Text textElement = new Text(bs); textElement.setStyle("-fx-font-weight: bold"); nodes.add(textElement); - } else if (bs.matches("[^<>]*")) { bs = bs.replaceAll("|", ""); Text textElement = new Text(bs); textElement.setStyle("-fx-font-style: italic"); nodes.add(textElement); - } else if (bs.matches("[^<>]*|[^<>]*")) { bs = bs.replaceAll("|||", ""); Text textElement = new Text(bs); textElement.setStyle("-fx-font-family: 'Courier New', Courier, monospace"); nodes.add(textElement); - } else { nodes.add(new Text(bs)); } @@ -724,12 +717,16 @@ private GroupHierarchyType getContext() { } private void setContext(GroupHierarchyType context) { - if (context == GroupHierarchyType.REFINING) { - intersectionButton.setSelected(true); - } else if (context == GroupHierarchyType.INCLUDING) { - unionButton.setSelected(true); - } else { - independentButton.setSelected(true); + switch (context) { + case INDEPENDENT: + independentButton.setSelected(true); + break; + case REFINING: + intersectionButton.setSelected(true); + break; + case INCLUDING: + unionButton.setSelected(true); + break; } } }