Skip to content

Commit 968f028

Browse files
committed
Added FileTab, Reworked with VBox, comments and minor changes
1 parent 7f0c7a6 commit 968f028

File tree

11 files changed

+221
-150
lines changed

11 files changed

+221
-150
lines changed

src/main/java/org/jabref/gui/preferences/FileTab.fxml

Lines changed: 24 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22

3-
<?import javafx.geometry.Insets?>
43
<?import javafx.scene.control.Button?>
54
<?import javafx.scene.control.CheckBox?>
65
<?import javafx.scene.control.ComboBox?>
@@ -11,87 +10,66 @@
1110
<?import javafx.scene.layout.HBox?>
1211
<?import javafx.scene.layout.VBox?>
1312

14-
1513
<fx:root prefWidth="650.0" spacing="10.0" type="VBox" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="org.jabref.gui.preferences.FileTabView">
1614
<children>
1715
<Label styleClass="sectionHeader" text="%General" />
18-
<CheckBox text="%Open last edited libraries at startup" />
19-
<CheckBox text="%Backup old file when saving" />
16+
<CheckBox fx:id="openLastStartup" text="%Open last edited libraries at startup" />
17+
<CheckBox fx:id="backupOldFile" text="%Backup old file when saving" />
2018
<HBox spacing="8.0">
2119
<children>
2220
<Label text="%Do not wrap the following fields when saving" />
23-
<TextField HBox.hgrow="ALWAYS" />
21+
<TextField fx:id="noWrapFiles" HBox.hgrow="ALWAYS" />
2422
</children>
2523
</HBox>
26-
<RadioButton text="%Resolve strings for standard BibTeX fields only">
24+
<RadioButton fx:id="resolveStringsBibTex" text="%Resolve strings for standard BibTeX fields only">
2725
<toggleGroup>
2826
<ToggleGroup fx:id="stringsResolveToggleGroup" />
2927
</toggleGroup>
3028
</RadioButton>
31-
<RadioButton alignment="TOP_LEFT" maxWidth="1.7976931348623157E308" toggleGroup="$stringsResolveToggleGroup">
32-
<graphic>
33-
<HBox>
34-
<children>
35-
<VBox maxWidth="1.7976931348623157E308" prefHeight="43.0" prefWidth="1581.0" spacing="10.0" HBox.hgrow="ALWAYS">
36-
<children>
37-
<Label text="\\%Resolve strings for all fields exception">
38-
<opaqueInsets>
39-
<Insets />
40-
</opaqueInsets>
41-
</Label>
42-
<TextField />
43-
</children>
44-
</VBox>
45-
</children>
46-
<opaqueInsets>
47-
<Insets left="4.0" />
48-
</opaqueInsets>
49-
</HBox>
50-
</graphic>
51-
</RadioButton>
29+
<HBox alignment="CENTER_LEFT" spacing="10.0">
30+
<children>
31+
<RadioButton fx:id="resolveStringsAll" alignment="TOP_LEFT" maxWidth="Infinity" text="Resolve strings for all fields except" toggleGroup="$stringsResolveToggleGroup" />
32+
<TextField fx:id="resolvStringsExcept" HBox.hgrow="ALWAYS" />
33+
</children>
34+
</HBox>
5235
<HBox alignment="CENTER_LEFT" spacing="10.0">
5336
<children>
5437
<Label alignment="TOP_LEFT" text="%Newline separator" />
55-
<ComboBox prefWidth="200.0" />
38+
<ComboBox fx:id="newLineSeparator" prefWidth="100.0" />
5639
</children>
5740
</HBox>
58-
<CheckBox text="%Always reformat BIB file on save and export" />
41+
<CheckBox fx:id="alwaysReformatBib" text="%Always reformat BIB file on save and export" />
5942

6043
<Label styleClass="sectionHeader" text="%External file links" />
6144
<HBox alignment="CENTER_LEFT" spacing="10.0">
6245
<children>
6346
<Label text="%Main file directory" />
64-
<TextField HBox.hgrow="ALWAYS" />
65-
<Button maxWidth="1.7976931348623157E308" text="%Browse" />
66-
</children>
67-
</HBox>
68-
<HBox alignment="CENTER_LEFT">
69-
<children>
70-
<CheckBox text="%Use the BIB file location as primary file directory" />
71-
<HBox HBox.hgrow="ALWAYS" />
72-
<Button />
47+
<TextField fx:id="mainFileDir" HBox.hgrow="ALWAYS" />
48+
<Button onAction="#mainFileDirBrowse" text="%Browse" />
7349
</children>
7450
</HBox>
75-
<RadioButton text="%Autolink files with names starting with the BibTeX key">
51+
<CheckBox fx:id="useBibLocationAsPrimary" text="%Use the BIB file location as primary file directory" />
52+
<RadioButton fx:id="autolinkFilesWithBibtex" text="%Autolink files with names starting with the BibTeX key">
7653
<toggleGroup>
7754
<ToggleGroup fx:id="autolinkToggleGroup" />
7855
</toggleGroup>
7956
</RadioButton>
80-
<RadioButton text="%Autolink only files that match the BibTeX key" toggleGroup="$autolinkToggleGroup" />
57+
<RadioButton fx:id="autolinkFilesOnlyBibtex" text="%Autolink only files that match the BibTeX key" toggleGroup="$autolinkToggleGroup" />
8158
<HBox alignment="CENTER_LEFT" spacing="10.0">
8259
<children>
83-
<RadioButton text="%Use regular expression search" toggleGroup="$autolinkToggleGroup" />
84-
<TextField HBox.hgrow="ALWAYS" />
60+
<RadioButton fx:id="autolinkUseRegex" text="%Use regular expression search" toggleGroup="$autolinkToggleGroup" />
61+
<TextField fx:id="autolinkRegexTerm" HBox.hgrow="ALWAYS" />
62+
<Button fx:id="autolinkRegexHelp" />
8563
</children>
8664
</HBox>
87-
<CheckBox text="%When opening file link, search for matching file if no link is defined" />
88-
<CheckBox text="%Automatically open browse dialog when creating new file link" />
65+
<CheckBox fx:id="searchFilesOnOpen" text="%When opening file link, search for matching file if no link is defined" />
66+
<CheckBox fx:id="openBrowseOnCreate" text="%Automatically open browse dialog when creating new file link" />
8967
<Label styleClass="sectionHeader" text="%Autosave" />
9068
<HBox>
9169
<children>
92-
<CheckBox text="%Autosave local libraries" />
70+
<CheckBox fx:id="autosaveLocalLibraries" text="%Autosave local libraries" />
9371
<HBox HBox.hgrow="ALWAYS" />
94-
<Button />
72+
<Button fx:id="autosaveLocalLibrariesHelp" />
9573
</children>
9674
</HBox>
9775
</children>

src/main/java/org/jabref/gui/preferences/FileTabView.java

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,51 @@
11
package org.jabref.gui.preferences;
22

3+
import javafx.fxml.FXML;
34
import javafx.scene.Node;
4-
import javafx.scene.layout.GridPane;
5+
import javafx.scene.control.Button;
6+
import javafx.scene.control.CheckBox;
7+
import javafx.scene.control.ComboBox;
8+
import javafx.scene.control.RadioButton;
9+
import javafx.scene.control.TextField;
10+
import javafx.scene.control.ToggleGroup;
511
import javafx.scene.layout.VBox;
612

13+
import org.jabref.Globals;
714
import org.jabref.gui.DialogService;
15+
import org.jabref.gui.actions.ActionFactory;
16+
import org.jabref.gui.actions.StandardActions;
17+
import org.jabref.gui.help.HelpAction;
18+
import org.jabref.logic.help.HelpFile;
819
import org.jabref.logic.l10n.Localization;
920
import org.jabref.preferences.JabRefPreferences;
21+
import org.jabref.preferences.NewLineSeperator;
1022

1123
import com.airhacks.afterburner.views.ViewLoader;
1224

1325
public class FileTabView extends VBox implements PrefsTab {
1426

27+
@FXML private CheckBox openLastStartup;
28+
@FXML private CheckBox backupOldFile;
29+
@FXML private TextField noWrapFiles;
30+
@FXML private RadioButton resolveStringsBibTex;
31+
@FXML private ToggleGroup stringsResolveToggleGroup;
32+
@FXML private RadioButton resolveStringsAll;
33+
@FXML private TextField resolvStringsExcept;
34+
@FXML private ComboBox<NewLineSeperator> newLineSeparator;
35+
@FXML private CheckBox alwaysReformatBib;
36+
@FXML private TextField mainFileDir;
37+
@FXML private CheckBox useBibLocationAsPrimary;
38+
@FXML private Button autolinkRegexHelp;
39+
@FXML private RadioButton autolinkFilesWithBibtex;
40+
@FXML private ToggleGroup autolinkToggleGroup;
41+
@FXML private RadioButton autolinkFilesOnlyBibtex;
42+
@FXML private RadioButton autolinkUseRegex;
43+
@FXML private TextField autolinkRegexTerm;
44+
@FXML private CheckBox searchFilesOnOpen;
45+
@FXML private CheckBox openBrowseOnCreate;
46+
@FXML private CheckBox autosaveLocalLibraries;
47+
@FXML private Button autosaveLocalLibrariesHelp;
48+
1549
private final DialogService dialogService;
1650
private final JabRefPreferences preferences;
1751

@@ -27,6 +61,10 @@ public FileTabView (DialogService dialogService, JabRefPreferences preferences)
2761

2862
public void initialize() {
2963
viewModel = new FileTabViewModel(dialogService, preferences);
64+
65+
ActionFactory actionFactory = new ActionFactory(Globals.getKeyPrefs());
66+
actionFactory.configureIconButton(StandardActions.HELP_REGEX_SEARCH, new HelpAction(HelpFile.REGEX_SEARCH),autolinkRegexHelp);
67+
actionFactory.configureIconButton(StandardActions.HELP, new HelpAction(HelpFile.AUTOSAVE),autosaveLocalLibrariesHelp);
3068
}
3169

3270
@Override
@@ -54,4 +92,6 @@ public boolean validateSettings() {
5492
public String getTabName() {
5593
return Localization.lang("File");
5694
}
95+
96+
public void mainFileDirBrowse() { viewModel.mainFileDirBrowse(); }
5797
}

src/main/java/org/jabref/gui/preferences/FileTabViewModel.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import org.jabref.gui.DialogService;
44
import org.jabref.preferences.JabRefPreferences;
5+
import org.jabref.preferences.NewLineSeperator;
56

67
public class FileTabViewModel implements PreferenceTabViewModel {
78

@@ -25,5 +26,9 @@ public void storeSettings() {
2526
public boolean validateSettings() {
2627
return true;
2728
}
29+
30+
public void mainFileDirBrowse () {
31+
// ToDo
32+
}
2833
}
2934

0 commit comments

Comments
 (0)