Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement merging groups in the three way merge UI #8960

Closed
wants to merge 134 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
134 commits
Select commit Hold shift + click to select a range
376760c
Update README.md
HoussemNasri Mar 24, 2022
d898da1
Merge branch 'JabRef:main' into main
HoussemNasri Mar 31, 2022
752954b
Merge branch 'JabRef:main' into main
HoussemNasri Apr 11, 2022
41b499f
Merge branch 'JabRef:main' into main
HoussemNasri Apr 26, 2022
a63045f
Merge branch 'JabRef:main' into main
HoussemNasri May 7, 2022
0901768
Merge branch 'JabRef:main' into main
HoussemNasri May 8, 2022
5874b4e
Merge remote-tracking branch 'origin/main' into main
HoussemNasri May 30, 2022
3c3fb02
Fix Readme
HoussemNasri Jun 7, 2022
81815fa
Merge branch 'JabRef:main' into main
HoussemNasri Jun 7, 2022
18d95c2
Merge branch 'JabRef:main' into main
HoussemNasri Jun 18, 2022
0e08af3
Merge branch 'JabRef:main' into main
HoussemNasri Jun 20, 2022
2bb0b6c
Merge branch 'JabRef:main' into main
HoussemNasri Jun 23, 2022
1b12b75
Create grid cells for rendering field name and field value
HoussemNasri Jul 2, 2022
4c073d3
Implement FieldNameCell and define style class
HoussemNasri Jul 2, 2022
6359058
Make FieldValueCell selectable
HoussemNasri Jul 2, 2022
d45f4a1
Implement MergedFieldCell for rendering editable merged field value
HoussemNasri Jul 2, 2022
7e226e2
Change MergedFieldCell text based on the selected FieldValueCell
HoussemNasri Jul 2, 2022
fb137cb
Style MergedFieldCell
HoussemNasri Jul 2, 2022
8d76e40
Rename ThreeWayMerge css stylesheet
HoussemNasri Jul 2, 2022
98eea59
Create HeadView for rendering left, right and merged entry headers
HoussemNasri Jul 2, 2022
3187365
Fix typo
HoussemNasri Jul 2, 2022
d00bab3
Fix a bug that causes the selection of both left and right field cell…
HoussemNasri Jul 2, 2022
02c0404
Prevent the selection of FieldValueCell when it's disabled
HoussemNasri Jul 2, 2022
05527c6
Display a copy icon inside FieldValueCell
HoussemNasri Jul 2, 2022
b6db346
Disable left or right FieldValueCell when it's empty
HoussemNasri Jul 2, 2022
fa97b59
Update Base CSS style
HoussemNasri Jul 2, 2022
52b5604
Design and implement the merge toolbox
HoussemNasri Jul 2, 2022
b2e5d38
Implement the initial prototype of the new merge UI
HoussemNasri Jul 2, 2022
51c6195
Use ThreeWayMergeView in MergeEntriesDialog
HoussemNasri Jul 2, 2022
e66ae3d
Fix ThreeWayMergeView.css stylesheet not being imported
HoussemNasri Jul 2, 2022
d39171e
Span left field value to 2 columns when left and right field values a…
HoussemNasri Jul 2, 2022
6cdcec7
Wrap the copy icon inside a button
HoussemNasri Jul 2, 2022
c19d46a
Use HAND cursor when hover over FieldValueCell
HoussemNasri Jul 2, 2022
d1983ba
Move field cells styles to ThreeWayMergeView.css
HoussemNasri Jul 2, 2022
5d22e16
Update merge toolbox FXML UI
HoussemNasri Jul 2, 2022
23c6c91
Implement and style HeaderCell
HoussemNasri Jul 2, 2022
d2f8e21
Take row index as an argument in AbstractCell
HoussemNasri Jul 2, 2022
329e2f9
Color cell background based on its row position (odd or even)
HoussemNasri Jul 2, 2022
3df63ae
Bind textArea.textProperty() and textProperty() using BindingsHelper
HoussemNasri Jul 2, 2022
dd28f10
Copy field value to Clipboard user clicks on the copy button
HoussemNasri Jul 2, 2022
8231f75
Implement a more complete HeaderView
HoussemNasri Jul 2, 2022
3575569
Pass left and right headers to HeaderView
HoussemNasri Jul 2, 2022
7aa387f
Create merged entry
HoussemNasri Jul 2, 2022
4a8f1e8
Add the entry type field at the top of the fields list
HoussemNasri Jul 2, 2022
70522eb
Display entry type and bind merged entry
HoussemNasri Jul 2, 2022
9a05277
Minor changes
HoussemNasri Jul 2, 2022
d578b7e
Style CSS
HoussemNasri Jul 2, 2022
27dbcd1
Update ThreeWayMergeToolbox.fxml
HoussemNasri Jul 2, 2022
c9b87de
Remove MergeEntries from MergeEntriesDialog
HoussemNasri Jul 2, 2022
5e306a4
Create EmptyCell for optimization
HoussemNasri Jul 2, 2022
5c5c68a
Update HeaderCell
HoussemNasri Jul 2, 2022
d14cb0f
Rename HeaderView to ThreeWayMergeHeaderView
HoussemNasri Jul 2, 2022
23be621
Add buttons to accept all left or right entry changes to ThreeWayMerg…
HoussemNasri Jul 2, 2022
0fe1f1b
Disable right field cell when it's not visible
HoussemNasri Jul 2, 2022
ae10410
Listen for select all left/right toolbar buttons
HoussemNasri Jul 2, 2022
d26a6bb
Style stuff
HoussemNasri Jul 2, 2022
d89d558
Add DiffHighlighter
HoussemNasri Jul 2, 2022
9c5e623
Create DiffHighlighter.css
HoussemNasri Jul 2, 2022
9e97598
Add left padding to HeaderCell
HoussemNasri Jul 2, 2022
6bad428
Move diff highlighting styles to Dark.css
HoussemNasri Jul 2, 2022
9cc0d18
Show differences between left and right values using a unified diff view
HoussemNasri Jul 2, 2022
c37c3c1
Change MergeEntriesDialog stage style
HoussemNasri Jul 2, 2022
39ee372
Remove BackgroundTone from AbstractCell
HoussemNasri Jul 2, 2022
2ed0062
Move CopyFieldValueCommand
HoussemNasri Jul 2, 2022
3ea5cd1
Make DiffMethod public
HoussemNasri Jul 2, 2022
758c13d
Move CopyFieldValueCommand
HoussemNasri Jul 2, 2022
d815bbe
Implement SplitDiffHighlighter
HoussemNasri Jul 2, 2022
d071fe4
Show diffs when user selects "Show Diff" in the toolbar UI
HoussemNasri Jul 2, 2022
735dc5a
Fix bugs in UnifiedDiffHighlighter
HoussemNasri Jul 2, 2022
ff58de9
Style css stuff
HoussemNasri Jul 2, 2022
7345482
Fix typos
HoussemNasri Jul 2, 2022
d072bab
Refactor SplitDiffHighlighter and fix bugs
HoussemNasri Jul 2, 2022
5187934
Remove redundant constructor from UnifiedDiffHighlighter
HoussemNasri Jul 2, 2022
cc3560f
Allow users to switch between split and unified diff view
HoussemNasri Jul 2, 2022
b56e5d0
Set left and right headers in MergeEntriesDialog
HoussemNasri Jul 2, 2022
d09808b
Refactor ThreeWayMergeHeaderView
HoussemNasri Jul 2, 2022
5c0b51f
Remove wellbehavedfx module dependency
HoussemNasri Jun 28, 2022
0c0db6a
Delete EmptyCell.java
HoussemNasri Jul 2, 2022
d854958
Refactor FieldValueCell
HoussemNasri Jul 2, 2022
1fe1697
Use the new merge UI in DuplicateResolverDialog
HoussemNasri Jul 2, 2022
b09933a
Expose an API to change diff view and highlight method from outside t…
HoussemNasri Jul 2, 2022
2f39c4e
Use the new merge UI when an entry is changed from external
HoussemNasri Jul 2, 2022
a8b2aed
Minor styling
HoussemNasri Jun 29, 2022
aaf77ad
Remove DiffHighlighter.css stylesheet
HoussemNasri Jul 2, 2022
c96b122
Remove unused dependencies
HoussemNasri Jul 2, 2022
f8abc0f
Allow selecting empty field values
HoussemNasri Jul 2, 2022
7af8944
Fix readme :(
HoussemNasri Jul 2, 2022
4e2e2d2
Use a theme color for selection box background
HoussemNasri Jul 2, 2022
30e817b
Refactor FieldValueCell
HoussemNasri Jul 3, 2022
c8a9e31
Add an action to FieldValueCell for opening Urls
HoussemNasri Jul 3, 2022
815d415
Add the ability to open DOI identifier
HoussemNasri Jul 3, 2022
89357c6
Cleanup
HoussemNasri Jul 3, 2022
9973e03
Checkstyle
HoussemNasri Jul 3, 2022
ee64212
Improve URL validation logic
HoussemNasri Jul 4, 2022
5af4864
Use DiffMethod in merge toolbar for consistency
HoussemNasri Jul 4, 2022
ed2a0ac
i18n
HoussemNasri Jul 4, 2022
bcec6a8
Cleanup css
HoussemNasri Jul 4, 2022
be0a7fb
Remove redundant icon style
HoussemNasri Jul 4, 2022
0602237
Rename style class field-value to merge-field-value
HoussemNasri Jul 4, 2022
41cae26
Remove old Merge entries UI
HoussemNasri Jul 4, 2022
ddac224
Merge branch 'main' into GSOC-fully-functional-three-way-merge
HoussemNasri Jul 4, 2022
6859ca4
Fix missing header styles
HoussemNasri Jul 4, 2022
6dcaaa1
Merge remote-tracking branch 'origin/GSOC-fully-functional-three-way-…
HoussemNasri Jul 5, 2022
5df2d50
i18n
HoussemNasri Jul 5, 2022
db706a8
Garbage collect right cell when it's invisible
HoussemNasri Jul 6, 2022
fffc5d1
Fix typo
HoussemNasri Jul 6, 2022
b4827ec
Create GroupsFieldNameCell
HoussemNasri Jul 9, 2022
a94acd4
Create MergedGroups to record the state of the groups before and afte…
HoussemNasri Jul 9, 2022
484a368
Create a factory class for creating field name cells
HoussemNasri Jul 9, 2022
dc02f37
Perform experiments for implementing groups merging
HoussemNasri Jul 9, 2022
6aac5fd
Delegate field name cells creation to ThreeWayMergeView
HoussemNasri Jul 9, 2022
ce9735d
Improve groups merging function
HoussemNasri Jul 9, 2022
6e8e08f
Implement updateFieldValues to redraw the field row when left or righ…
HoussemNasri Jul 9, 2022
d3aacae
Write a draft version of the logic to merge groups
HoussemNasri Jul 9, 2022
194be4d
Refactoring
HoussemNasri Jul 8, 2022
031e6f0
More Refactoring
HoussemNasri Jul 8, 2022
54f2ab3
Merge groups only when left and right entries have different groups
HoussemNasri Jul 8, 2022
d1a3ed9
Add row constraints to fix UI lagging when updating field values
HoussemNasri Jul 8, 2022
c217cf8
Minor refactoring
HoussemNasri Jul 8, 2022
0ea0da1
Don't merge common groups between left and right entries
HoussemNasri Jul 8, 2022
675669f
Refactor GroupsFieldNameCell constructor
HoussemNasri Jul 8, 2022
e9ab51d
Allow groups field row to grow in height
HoussemNasri Jul 8, 2022
d166273
Fix select all left/right not working properly
HoussemNasri Jul 8, 2022
2f4d6d3
Update diff when a field value changes
HoussemNasri Jul 8, 2022
9463db7
Add the merge icon and style css
HoussemNasri Jul 8, 2022
0992b22
Extract merge and unmerge commands into their own classes
HoussemNasri Jul 8, 2022
05518ea
Refactoring
HoussemNasri Jul 9, 2022
b38eeec
Record groups merging operation using CompoundEdit
HoussemNasri Jul 9, 2022
0d4a8c2
Cancel groups merge when user choose 'Cancel' in the merge entries di…
HoussemNasri Jul 9, 2022
3469ffc
Make FieldNameCell take only one action
HoussemNasri Jul 9, 2022
22eea64
Set groups merge action to MERGE by default
HoussemNasri Jul 9, 2022
8809bea
Fix Unmerge button always disabled
HoussemNasri Jul 9, 2022
30b90bd
Cleanup
HoussemNasri Jul 9, 2022
4217057
Almost f**** everything up. I deleted GroupsFieldNameCell content by …
HoussemNasri Jul 9, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions src/main/java/org/jabref/gui/Base.css
Original file line number Diff line number Diff line change
@@ -1,4 +1,13 @@


.root {
-jr-row-odd-background: -fx-control-inner-background-alt;
-jr-row-even-background: -fx-control-inner-background;
/*
On light theme, the text is hard to see when it's on top of the accent color. This is an alternative lighter accent color
for better text visibility.
*/
-jr-accent-alt: derive(-jr-accent, 15%);

/*
The theme color and some derived colors from it are used for icons, tab-headers, marking of selected inputs and
Expand All @@ -9,6 +18,7 @@
/* This theme is the original JabRef dark blue color */
-jr-theme: #50618F;
-jr-accent: #a3b7e6;
-jr-transparent-accent: rgba(163, 183, 230, 0.16);
-jr-selected: -jr-accent;
-jr-checked: -jr-theme;
-jr-hover: #0002;
Expand Down Expand Up @@ -245,6 +255,23 @@
-jr-header-height: 3em;
}

.unchanged {
-rtfx-background-color:#0000;
}

.updated {
-rtfx-background-color: rgba(41, 166, 236, 0.66);
}

.addition {
-rtfx-background-color: rgba(29, 209, 161, 0.5);
}

.deletion {
-rtfx-background-color: rgba(255, 107, 107, 0.55);
}


#frame {
-fx-background-color: -jr-background-alt;
}
Expand Down Expand Up @@ -607,6 +634,27 @@ TextFlow > .tooltip-text-monospaced {
-fx-background-insets: 0;
}

.merge-field-value .action-icon {
-fx-blend-mode: multiply;
-fx-opacity: 69%;
-fx-icon-size: 14;
-fx-icon-color: -fx-text-background-color;
}

.merge-field-value:disabled .action-icon {
-fx-opacity: 0%;
}

.merge-header-cell {
-fx-border-width: 0 0 1 0;
-fx-border-color: -jr-gray-1;
-fx-background-color: -jr-row-even-background;
}

.merge-header {
-fx-background-color: -jr-row-even-background;
}

.table-view .groupColumnBackground {
-fx-stroke: -jr-gray-2;
}
Expand Down
30 changes: 30 additions & 0 deletions src/main/java/org/jabref/gui/Dark.css
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@
-jr-selected: -jr-accent;
-jr-hover: #fff1;

-jr-row-odd-background: #272b38;
-jr-row-even-background: #212330;
-jr-accent-alt: -jr-accent;

-jr-red: #b71c1f;
-jr-light-red: #db1d2b;
Expand Down Expand Up @@ -60,6 +63,18 @@
-js-summary-text-color-selected: derive( -fx-dark-text-color, 70%);
}

.unchanged {

}

.addition {
-rtfx-background-color: -jr-green;
}

.deletion {
-rtfx-background-color: -jr-red;
}

#previewBody {
background-color: #272b38; /* -fx-control-inner-background*/
color: #7d8591; /* -fx-mid-text-color*/
Expand All @@ -82,6 +97,21 @@
-fx-background-color: -jr-hover;
}

.merge-field-value .action-icon {
-fx-blend-mode: none;
-fx-opacity: 90%;
}

.merge-header-cell {
-fx-border-width: 0 0 1 0;
-fx-border-color: -fx-outer-border;
-fx-background-color: -jr-row-odd-background;
}

.merge-header {
-fx-background-color: -jr-row-odd-background;
}

.table-view .groupColumnBackground {
-fx-stroke: -jr-gray-3;
}
Expand Down
22 changes: 13 additions & 9 deletions src/main/java/org/jabref/gui/collab/EntryChangeViewModel.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;

import org.jabref.gui.mergeentries.MergeEntries;
import org.jabref.gui.mergeentries.MergeEntries.DefaultRadioButtonSelectionMode;
import org.jabref.gui.mergeentries.newmergedialog.ShowDiffConfig;
import org.jabref.gui.mergeentries.newmergedialog.ThreeWayMergeView;
import org.jabref.gui.mergeentries.newmergedialog.diffhighlighter.DiffHighlighter;
import org.jabref.gui.mergeentries.newmergedialog.toolbar.ThreeWayMergeToolbar;
import org.jabref.gui.undo.NamedCompound;
import org.jabref.gui.undo.UndoableInsertEntries;
import org.jabref.logic.l10n.Localization;
Expand All @@ -17,7 +19,7 @@ class EntryChangeViewModel extends DatabaseChangeViewModel {

private final BibEntry oldEntry;
private final BibEntry newEntry;
private MergeEntries mergePanel;
private ThreeWayMergeView threeWayMergeView;

public EntryChangeViewModel(BibEntry entry, BibEntry newEntry) {
super();
Expand All @@ -37,17 +39,17 @@ public EntryChangeViewModel(BibEntry entry, BibEntry newEntry) {
public void setAccepted(boolean accepted) {
super.setAccepted(accepted);
if (accepted) {
mergePanel.selectAllRightRadioButtons();
threeWayMergeView.selectRightEntryValues();
} else {
mergePanel.selectAllLeftRadioButtons();
threeWayMergeView.selectLeftEntryValues();
}
}

@Override
public void makeChange(BibDatabaseContext database, NamedCompound undoEdit) {
this.description(); // Init dialog to prevent NPE
database.getDatabase().removeEntry(oldEntry);
BibEntry mergedEntry = mergePanel.getMergedEntry();
BibEntry mergedEntry = threeWayMergeView.getMergedEntry();
mergedEntry.setId(oldEntry.getId()); // Keep ID
database.getDatabase().insertEntry(mergedEntry);
undoEdit.addEdit(new UndoableInsertEntries(database.getDatabase(), oldEntry));
Expand All @@ -56,13 +58,15 @@ public void makeChange(BibDatabaseContext database, NamedCompound undoEdit) {

@Override
public Node description() {
mergePanel = new MergeEntries(oldEntry, newEntry, Localization.lang("In JabRef"), Localization.lang("On disk"), DefaultRadioButtonSelectionMode.LEFT);
threeWayMergeView = new ThreeWayMergeView(oldEntry, newEntry, Localization.lang("In JabRef"), Localization.lang("On disk"));
threeWayMergeView.selectLeftEntryValues();
threeWayMergeView.showDiff(new ShowDiffConfig(ThreeWayMergeToolbar.DiffView.SPLIT, DiffHighlighter.DiffMethod.WORDS));
VBox container = new VBox(10);
Label header = new Label(name);
header.getStyleClass().add("sectionHeader");
container.getChildren().add(header);
container.getChildren().add(mergePanel);
VBox.setMargin(mergePanel, new Insets(5, 5, 5, 5));
container.getChildren().add(threeWayMergeView);
VBox.setMargin(threeWayMergeView, new Insets(5, 5, 5, 5));
return container;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import org.jabref.gui.StateManager;
import org.jabref.gui.duplicationFinder.DuplicateResolverDialog.DuplicateResolverResult;
import org.jabref.gui.help.HelpAction;
import org.jabref.gui.mergeentries.MergeEntries;
import org.jabref.gui.mergeentries.newmergedialog.ThreeWayMergeView;
import org.jabref.gui.util.BaseDialog;
import org.jabref.gui.util.DialogWindowState;
import org.jabref.logic.help.HelpFile;
Expand Down Expand Up @@ -39,7 +39,7 @@ public enum DuplicateResolverResult {
BREAK
}

private MergeEntries mergeEntries;
private ThreeWayMergeView threeWayMerge;
private final DialogService dialogService;

public DuplicateResolverDialog(BibEntry one, BibEntry two, DuplicateResolverType type, BibDatabaseContext database, StateManager stateManager, DialogService dialogService) {
Expand Down Expand Up @@ -69,14 +69,14 @@ private void init(BibEntry one, BibEntry two, DuplicateResolverType type) {
first = new ButtonType(Localization.lang("Keep left"), ButtonData.APPLY);
second = new ButtonType(Localization.lang("Keep right"), ButtonData.APPLY);
both = new ButtonType(Localization.lang("Keep both"), ButtonData.APPLY);
mergeEntries = new MergeEntries(one, two);
threeWayMerge = new ThreeWayMergeView(one, two);
break;
case INSPECTION:
first = new ButtonType(Localization.lang("Remove old entry"), ButtonData.APPLY);
second = new ButtonType(Localization.lang("Remove entry from import"), ButtonData.APPLY);
both = new ButtonType(Localization.lang("Keep both"), ButtonData.APPLY);
mergeEntries = new MergeEntries(one, two, Localization.lang("Old entry"),
Localization.lang("From import"));
threeWayMerge = new ThreeWayMergeView(one, two, Localization.lang("Old entry"),
Localization.lang("From import"));
break;
case DUPLICATE_SEARCH_WITH_EXACT:
first = new ButtonType(Localization.lang("Keep left"), ButtonData.APPLY);
Expand All @@ -85,14 +85,14 @@ private void init(BibEntry one, BibEntry two, DuplicateResolverType type) {

removeExactVisible = true;

mergeEntries = new MergeEntries(one, two);
threeWayMerge = new ThreeWayMergeView(one, two);
break;
default:
first = new ButtonType(Localization.lang("Import and remove old entry"), ButtonData.APPLY);
second = new ButtonType(Localization.lang("Do not import entry"), ButtonData.APPLY);
both = new ButtonType(Localization.lang("Import and keep old entry"), ButtonData.APPLY);
mergeEntries = new MergeEntries(one, two, Localization.lang("Old entry"),
Localization.lang("From import"));
threeWayMerge = new ThreeWayMergeView(one, two, Localization.lang("Old entry"),
Localization.lang("From import"));
break;
}
if (removeExactVisible) {
Expand All @@ -109,7 +109,7 @@ private void init(BibEntry one, BibEntry two, DuplicateResolverType type) {
this.setY(state.getY());
}

BorderPane borderPane = new BorderPane(mergeEntries);
BorderPane borderPane = new BorderPane(threeWayMerge);
borderPane.setBottom(options);

this.setResultConverter(button -> {
Expand All @@ -136,6 +136,6 @@ private void init(BibEntry one, BibEntry two, DuplicateResolverType type) {
}

public BibEntry getMergedEntry() {
return mergeEntries.getMergedEntry();
return threeWayMerge.getMergedEntry();
}
}
7 changes: 6 additions & 1 deletion src/main/java/org/jabref/gui/fieldeditors/URLUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,12 @@ public static String cleanGoogleSearchURL(String url) {
* @return true if <c>url</c> contains a valid URL
*/
public static boolean isURL(String url) {
return url.contains("://");
try {
new URL(url);
return true;
} catch (MalformedURLException e) {
return false;
}
}

/**
Expand Down
8 changes: 7 additions & 1 deletion src/main/java/org/jabref/gui/icon/IconTheme.java
Original file line number Diff line number Diff line change
Expand Up @@ -339,7 +339,13 @@ public enum JabRefIcons implements JabRefIcon {
KEEP_SEARCH_STRING(MaterialDesignE.EARTH),
KEEP_ON_TOP(MaterialDesignP.PIN),
KEEP_ON_TOP_OFF(MaterialDesignP.PIN_OFF_OUTLINE),
OPEN_GLOBAL_SEARCH(MaterialDesignO.OPEN_IN_NEW);
OPEN_GLOBAL_SEARCH(MaterialDesignO.OPEN_IN_NEW),

ACCEPT_LEFT(MaterialDesignS.SUBDIRECTORY_ARROW_LEFT),

ACCEPT_RIGHT(MaterialDesignS.SUBDIRECTORY_ARROW_RIGHT),

MERGE_GROUPS(MaterialDesignS.SOURCE_MERGE);

private final JabRefIcon icon;

Expand Down
12 changes: 0 additions & 12 deletions src/main/java/org/jabref/gui/mergeentries/MergeEntries.css

This file was deleted.

Loading