@@ -31,7 +31,7 @@ public class GeneralPropertiesView extends AbstractPropertiesTabView<GeneralProp
3131 @ FXML private ComboBox <BibDatabaseMode > databaseMode ;
3232 @ FXML private TextField librarySpecificFileDirectory ;
3333 @ FXML private TextField userSpecificFileDirectory ;
34- @ FXML private TextField laTexFileDirectory ;
34+ @ FXML private TextField latexFileDirectory ;
3535 @ FXML private Button libSpecificFileDirSwitchId ;
3636 @ FXML private Button userSpecificFileDirSwitchId ;
3737 @ FXML private Button laTexSpecificFileDirSwitchId ;
@@ -41,10 +41,13 @@ public class GeneralPropertiesView extends AbstractPropertiesTabView<GeneralProp
4141 @ FXML private Tooltip libSpecificFileDirSwitchTooltip ;
4242 @ FXML private Tooltip userSpecificFileDirSwitchTooltip ;
4343 @ FXML private Tooltip laTexSpecificFileDirSwitchTooltip ;
44+ @ FXML private Tooltip userSpecificFileDirectoryTooltip ;
45+ @ FXML private Tooltip latexFileDirectoryTooltip ;
46+ @ FXML private Tooltip librarySpecificFileDirectoryTooltip ;
4447
4548 private final ControlsFxVisualizer librarySpecificFileDirectoryValidationVisualizer = new ControlsFxVisualizer ();
4649 private final ControlsFxVisualizer userSpecificFileDirectoryValidationVisualizer = new ControlsFxVisualizer ();
47- private final ControlsFxVisualizer laTexFileDirectoryValidationVisualizer = new ControlsFxVisualizer ();
50+ private final ControlsFxVisualizer latexFileDirectoryValidationVisualizer = new ControlsFxVisualizer ();
4851 private final String switchToRelativeText = Localization .lang ("Switch to relative path: converts the path to a relative path." );
4952 private final String switchToAbsoluteText = Localization .lang ("Switch to absolute path: converts the path to an absolute path." );
5053
@@ -79,13 +82,18 @@ public void initialize() {
7982 databaseMode .itemsProperty ().bind (viewModel .databaseModesProperty ());
8083 databaseMode .valueProperty ().bindBidirectional (viewModel .selectedDatabaseModeProperty ());
8184
85+ librarySpecificFileDirectoryTooltip .setText (Localization .lang ("Library-specific file directory" ));
8286 librarySpecificFileDirectory .textProperty ().bindBidirectional (viewModel .librarySpecificDirectoryProperty ());
87+
8388 userSpecificFileDirectory .textProperty ().bindBidirectional (viewModel .userSpecificFileDirectoryProperty ());
84- laTexFileDirectory .textProperty ().bindBidirectional (viewModel .laTexFileDirectoryProperty ());
89+ latexFileDirectory .textProperty ().bindBidirectional (viewModel .laTexFileDirectoryProperty ());
90+
91+ userSpecificFileDirectoryTooltip .setText (Localization .lang ("User-specific file directory: %0" , preferences .getFilePreferences ().getUserAndHost ()));
92+ userSpecificFileDirectory .setTooltip (userSpecificFileDirectoryTooltip );
8593
8694 librarySpecificFileDirectoryValidationVisualizer .setDecoration (new IconValidationDecorator ());
8795 userSpecificFileDirectoryValidationVisualizer .setDecoration (new IconValidationDecorator ());
88- laTexFileDirectoryValidationVisualizer .setDecoration (new IconValidationDecorator ());
96+ latexFileDirectoryValidationVisualizer .setDecoration (new IconValidationDecorator ());
8997
9098 libSpecificFileDirSwitchId .setDisable (this .databaseContext .getDatabasePath ().isEmpty ());
9199 userSpecificFileDirSwitchId .setDisable (this .databaseContext .getDatabasePath ().isEmpty ());
@@ -95,23 +103,27 @@ public void initialize() {
95103 boolean isAbsolute = Path .of (newValue ).isAbsolute ();
96104 libSpecificFileDirSwitchIcon .setGlyph (isAbsolute ? RELATIVE_PATH : ABSOLUTE_PATH );
97105 libSpecificFileDirSwitchTooltip .setText (isAbsolute ? switchToRelativeText : switchToAbsoluteText );
106+ librarySpecificFileDirectoryTooltip .setText (newValue .trim ().isEmpty () ?
107+ Localization .lang ("Library-specific file directory" ) : Localization .lang ("Library-specific file directory: %0" , newValue ));
98108 });
99109 userSpecificFileDirectory .textProperty ().addListener ((_ , _ , newValue ) -> {
100110 boolean isAbsolute = Path .of (newValue ).isAbsolute ();
101111 userSpecificFileDirSwitchIcon .setGlyph (isAbsolute ? RELATIVE_PATH : ABSOLUTE_PATH );
102112 userSpecificFileDirSwitchTooltip .setText (isAbsolute ? switchToRelativeText : switchToAbsoluteText );
103113 });
104114
105- laTexFileDirectory .textProperty ().addListener ((_ , _ , newValue ) -> {
115+ latexFileDirectory .textProperty ().addListener ((_ , _ , newValue ) -> {
106116 boolean isAbsolute = Path .of (newValue ).isAbsolute ();
107117 laTexSpecificFileDirSwitchIcon .setGlyph (isAbsolute ? RELATIVE_PATH : ABSOLUTE_PATH );
108118 laTexSpecificFileDirSwitchTooltip .setText (isAbsolute ? switchToRelativeText : switchToAbsoluteText );
119+ latexFileDirectoryTooltip .setText (newValue .trim ().isEmpty ()
120+ ? Localization .lang ("LaTeX file directory" ) : Localization .lang ("LaTeX file directory: %0" , newValue ));
109121 });
110122
111123 Platform .runLater (() -> {
112124 librarySpecificFileDirectoryValidationVisualizer .initVisualization (viewModel .librarySpecificFileDirectoryStatus (), librarySpecificFileDirectory );
113125 userSpecificFileDirectoryValidationVisualizer .initVisualization (viewModel .userSpecificFileDirectoryStatus (), userSpecificFileDirectory );
114- laTexFileDirectoryValidationVisualizer .initVisualization (viewModel .laTexFileDirectoryStatus (), laTexFileDirectory );
126+ latexFileDirectoryValidationVisualizer .initVisualization (viewModel .laTexFileDirectoryStatus (), latexFileDirectory );
115127
116128 librarySpecificFileDirectory .requestFocus ();
117129 });
0 commit comments