From 2c1b56f3e917e7dc45bc4cc096abd6a35aab0a43 Mon Sep 17 00:00:00 2001 From: pavlapp Date: Mon, 22 Oct 2018 20:41:22 +0200 Subject: [PATCH 1/6] Scrollbar invisible in Preferences -> BibTex Key Pattern (#4287) * fix invisible scrollbar in preferences * divided gridpane to multiple columns --- src/main/java/org/jabref/gui/Base.css | 1 + .../BibtexKeyPatternPanel.java | 63 ++++++++++++------- .../gui/preferences/PreferencesDialog.css | 9 +++ .../gui/preferences/PreferencesDialog.java | 3 +- 4 files changed, 52 insertions(+), 24 deletions(-) diff --git a/src/main/java/org/jabref/gui/Base.css b/src/main/java/org/jabref/gui/Base.css index 6ec8d5c9482..a03bff116de 100644 --- a/src/main/java/org/jabref/gui/Base.css +++ b/src/main/java/org/jabref/gui/Base.css @@ -667,6 +667,7 @@ -fx-background-radius: 0em; } + .scroll-bar:horizontal .thumb, .scroll-bar:vertical .thumb { -fx-background-color: -jr-scrollbar-thumb; diff --git a/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java b/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java index daf7a4ac105..607b3376df8 100644 --- a/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java +++ b/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java @@ -2,6 +2,7 @@ import java.awt.GridBagConstraints; import java.awt.GridBagLayout; +import java.util.Collection; import java.util.HashMap; import java.util.Locale; import java.util.Map; @@ -36,6 +37,8 @@ public class BibtexKeyPatternPanel extends Pane { protected final TextField defaultPat = new TextField(); private final HelpAction help; + private final int COLUMNS = 2; + // one field for each type private final Map textFields = new HashMap<>(); private final BasePanel panel; @@ -44,25 +47,12 @@ public class BibtexKeyPatternPanel extends Pane { public BibtexKeyPatternPanel(BasePanel panel) { this.panel = panel; help = new HelpAction(Localization.lang("Help on key patterns"), HelpFile.BIBTEX_KEY_PATTERN); + gridPane.setHgap(10); + gridPane.setVgap(5); buildGUI(); } private void buildGUI() { - // The header - can be removed - Label label = new Label(Localization.lang("Entry type")); - gridPane.add(label, 1, 1); - - Label keyPattern = new Label(Localization.lang("Key pattern")); - gridPane.add(keyPattern, 3, 1); - - Label defaultPattern = new Label(Localization.lang("Default pattern")); - gridPane.add(defaultPattern, 1, 2); - gridPane.add(defaultPat, 3, 2); - - Button button = new Button("Default"); - button.setOnAction(e-> defaultPat.setText((String) Globals.prefs.defaults.get(JabRefPreferences.DEFAULT_BIBTEX_KEY_PATTERN))); - gridPane.add(button, 4, 2); - BibDatabaseMode mode; // check mode of currently used DB if (panel != null) { @@ -72,8 +62,30 @@ private void buildGUI() { mode = Globals.prefs.getDefaultBibDatabaseMode(); } - int rowIndex = 3; - for (EntryType type : EntryTypes.getAllValues(mode)) { + int rowIndex = 1; + int columnIndex = 0; + // The header - can be removed + for (int i = 0; i < COLUMNS; i++) { + Label label = new Label(Localization.lang("Entry type")); + Label keyPattern = new Label(Localization.lang("Key pattern")); + gridPane.add(label, ++columnIndex, rowIndex); + gridPane.add(keyPattern, ++columnIndex, rowIndex); + ++columnIndex; //3 + } + + rowIndex++; + Label defaultPattern = new Label(Localization.lang("Default pattern")); + Button button = new Button("Default"); + button.setOnAction(e-> defaultPat.setText((String) Globals.prefs.defaults.get(JabRefPreferences.DEFAULT_BIBTEX_KEY_PATTERN))); + gridPane.add(defaultPattern, 1, rowIndex); + gridPane.add(defaultPat, 2, rowIndex); + gridPane.add(button, 3, rowIndex); + + Object[] entryTypes = EntryTypes.getAllValues(mode).toArray(); + + columnIndex=1; + for(int i=0; i < entryTypes.length; i++){ + EntryType type = (EntryType) entryTypes[i]; Label label1 = new Label(type.getName()); TextField textField = new TextField(); @@ -81,15 +93,21 @@ private void buildGUI() { Button button1 = new Button("Default"); button1.setOnAction(e1 -> textField.setText((String) Globals.prefs.defaults.get(JabRefPreferences.DEFAULT_BIBTEX_KEY_PATTERN))); - gridPane.add(label1, 1, rowIndex); - gridPane.add(textField, 3, rowIndex); - gridPane.add(button1, 4, rowIndex); + gridPane.add(label1, 1 + (columnIndex * 3) , rowIndex); + gridPane.add(textField, 2 + (columnIndex * 3), rowIndex); + gridPane.add(button1, 3 + (columnIndex * 3), rowIndex); textFields.put(type.getName().toLowerCase(Locale.ROOT), textField); - rowIndex++; + if(columnIndex == COLUMNS - 1){ + columnIndex = 0; + rowIndex++; + }else + columnIndex++; } + rowIndex++; + Button help1 = new Button("?"); help1.setOnAction(e->new HelpAction(Localization.lang("Help on key patterns"), HelpFile.BIBTEX_KEY_PATTERN).getHelpButton().doClick()); gridPane.add(help1, 1, rowIndex); @@ -102,9 +120,10 @@ private void buildGUI() { } defaultPat.setText((String) Globals.prefs.defaults.get(JabRefPreferences.DEFAULT_BIBTEX_KEY_PATTERN)); }); - gridPane.add(btnDefaultAll1, 3, rowIndex); + gridPane.add(btnDefaultAll1, 2, rowIndex); } + /** * fill the given LabelPattern by values generated from the text fields */ diff --git a/src/main/java/org/jabref/gui/preferences/PreferencesDialog.css b/src/main/java/org/jabref/gui/preferences/PreferencesDialog.css index 21717a7709c..eb70ca7b315 100644 --- a/src/main/java/org/jabref/gui/preferences/PreferencesDialog.css +++ b/src/main/java/org/jabref/gui/preferences/PreferencesDialog.css @@ -11,6 +11,15 @@ -fx-padding: 0em 1em 0em 3em; } +.preferencePaneContainer .scroll-bar { + -fx-background-color: transparent; + -fx-opacity: 0; +} + +.preferencePaneContainer:hover .scroll-bar { + -fx-opacity: 1; +} + .sectionHeader { -fx-font-size: 1.5em; -fx-padding: 1em 0em 1em 0em; diff --git a/src/main/java/org/jabref/gui/preferences/PreferencesDialog.java b/src/main/java/org/jabref/gui/preferences/PreferencesDialog.java index db3e8e22a23..0fe12a13eaf 100644 --- a/src/main/java/org/jabref/gui/preferences/PreferencesDialog.java +++ b/src/main/java/org/jabref/gui/preferences/PreferencesDialog.java @@ -91,8 +91,7 @@ public PreferencesDialog(JabRefFrame parent) { preferenceTabs.add(new AppearancePrefsTab(dialogService, prefs)); container = new BorderPane(); - ScrollPane scroll = new ScrollPane(container); - getDialogPane().setContent(scroll); + getDialogPane().setContent(container); construct(); } From 3e0122f93d021e828bb319cba2f6e2102edcd60f Mon Sep 17 00:00:00 2001 From: pavlapp Date: Mon, 22 Oct 2018 22:30:48 +0200 Subject: [PATCH 2/6] * change array to arraylist --- .../gui/bibtexkeypattern/BibtexKeyPatternPanel.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java b/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java index 607b3376df8..af8ee61afb9 100644 --- a/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java +++ b/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java @@ -2,10 +2,7 @@ import java.awt.GridBagConstraints; import java.awt.GridBagLayout; -import java.util.Collection; -import java.util.HashMap; -import java.util.Locale; -import java.util.Map; +import java.util.*; import javafx.scene.Node; import javafx.scene.control.Button; @@ -81,11 +78,11 @@ private void buildGUI() { gridPane.add(defaultPat, 2, rowIndex); gridPane.add(button, 3, rowIndex); - Object[] entryTypes = EntryTypes.getAllValues(mode).toArray(); + List entryTypes = new ArrayList<>(EntryTypes.getAllValues(mode)); columnIndex=1; - for(int i=0; i < entryTypes.length; i++){ - EntryType type = (EntryType) entryTypes[i]; + for(int i=0; i < entryTypes.size(); i++){ + EntryType type = entryTypes.get(i); Label label1 = new Label(type.getName()); TextField textField = new TextField(); From 0d7d76cd83c315305c07866b4a11c0da9bae58aa Mon Sep 17 00:00:00 2001 From: pavlapp Date: Tue, 23 Oct 2018 08:53:10 +0200 Subject: [PATCH 3/6] Improve code quality --- .../BibtexKeyPatternPanel.java | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java b/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java index af8ee61afb9..28dbe5b24d3 100644 --- a/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java +++ b/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java @@ -2,7 +2,11 @@ import java.awt.GridBagConstraints; import java.awt.GridBagLayout; -import java.util.*; +import java.util.ArrayList; +import java.util.Locale; +import java.util.Map; +import java.util.HashMap; +import java.util.List; import javafx.scene.Node; import javafx.scene.control.Button; @@ -78,15 +82,10 @@ private void buildGUI() { gridPane.add(defaultPat, 2, rowIndex); gridPane.add(button, 3, rowIndex); - List entryTypes = new ArrayList<>(EntryTypes.getAllValues(mode)); - - columnIndex=1; - for(int i=0; i < entryTypes.size(); i++){ - EntryType type = entryTypes.get(i); + columnIndex = 1; + for (EntryType type : EntryTypes.getAllValues(mode)) { Label label1 = new Label(type.getName()); - TextField textField = new TextField(); - Button button1 = new Button("Default"); button1.setOnAction(e1 -> textField.setText((String) Globals.prefs.defaults.get(JabRefPreferences.DEFAULT_BIBTEX_KEY_PATTERN))); @@ -96,10 +95,10 @@ private void buildGUI() { textFields.put(type.getName().toLowerCase(Locale.ROOT), textField); - if(columnIndex == COLUMNS - 1){ + if (columnIndex == COLUMNS - 1) { columnIndex = 0; rowIndex++; - }else + } else columnIndex++; } From 364f85f484f582d97cc782862f31fe76e440b53f Mon Sep 17 00:00:00 2001 From: pavlapp Date: Tue, 23 Oct 2018 09:21:24 +0200 Subject: [PATCH 4/6] Improve code quality --- .../jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java b/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java index 28dbe5b24d3..0171c8100c8 100644 --- a/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java +++ b/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java @@ -2,11 +2,10 @@ import java.awt.GridBagConstraints; import java.awt.GridBagLayout; -import java.util.ArrayList; + +import java.util.HashMap; import java.util.Locale; import java.util.Map; -import java.util.HashMap; -import java.util.List; import javafx.scene.Node; import javafx.scene.control.Button; From 498fa160f3881599b93c617b3f4cba0f8a1052e3 Mon Sep 17 00:00:00 2001 From: Tobias Diez Date: Tue, 23 Oct 2018 10:27:08 +0200 Subject: [PATCH 5/6] Fix checkstyle --- .../org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java b/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java index 0171c8100c8..08a101c740d 100644 --- a/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java +++ b/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java @@ -2,7 +2,6 @@ import java.awt.GridBagConstraints; import java.awt.GridBagLayout; - import java.util.HashMap; import java.util.Locale; import java.util.Map; From 667f7d523a5f080f3312f7b6da7dcbb8eaa50aac Mon Sep 17 00:00:00 2001 From: pavlapp Date: Tue, 23 Oct 2018 21:19:14 +0200 Subject: [PATCH 6/6] refactoring css code for invisible scroll --- src/main/java/org/jabref/gui/Base.css | 3 ++- .../gui/bibtexkeypattern/BibtexKeyPatternPanel.java | 1 - .../org/jabref/gui/preferences/PreferencesDialog.css | 9 --------- 3 files changed, 2 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/jabref/gui/Base.css b/src/main/java/org/jabref/gui/Base.css index a03bff116de..9a7c8b8b223 100644 --- a/src/main/java/org/jabref/gui/Base.css +++ b/src/main/java/org/jabref/gui/Base.css @@ -715,7 +715,8 @@ .tree-view:hover .scroll-bar, .table-view:hover .scroll-bar, .tree-table-view:hover .scroll-bar, -.text-input:hover .scroll-bar { +.text-input:hover .scroll-bar, +.scroll-pane:hover .scroll-bar { -fx-opacity: 1; } diff --git a/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java b/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java index 0171c8100c8..08a101c740d 100644 --- a/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java +++ b/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java @@ -2,7 +2,6 @@ import java.awt.GridBagConstraints; import java.awt.GridBagLayout; - import java.util.HashMap; import java.util.Locale; import java.util.Map; diff --git a/src/main/java/org/jabref/gui/preferences/PreferencesDialog.css b/src/main/java/org/jabref/gui/preferences/PreferencesDialog.css index eb70ca7b315..21717a7709c 100644 --- a/src/main/java/org/jabref/gui/preferences/PreferencesDialog.css +++ b/src/main/java/org/jabref/gui/preferences/PreferencesDialog.css @@ -11,15 +11,6 @@ -fx-padding: 0em 1em 0em 3em; } -.preferencePaneContainer .scroll-bar { - -fx-background-color: transparent; - -fx-opacity: 0; -} - -.preferencePaneContainer:hover .scroll-bar { - -fx-opacity: 1; -} - .sectionHeader { -fx-font-size: 1.5em; -fx-padding: 1em 0em 1em 0em;