Skip to content

Commit d2af45c

Browse files
authored
Fix/theme manager (#13764)
* fix: Force ThemeManager to apply font and theme settings to all new dialog and window * fix: Remove unnecessary manual font size updater * refactor: Rename the parameter name in the DialogService * fix: Small quick fix to BaseWindow * fix: Remove unnecessary WindowOverlay hack to get tooltip to be themed * Fix submodules * fix: Remove unnecessary call to updateFontStyle, which is now done automatically for all new Dialog that's created. * fix: Get dialog button to scale with the font size
1 parent fbb2b42 commit d2af45c

28 files changed

+154
-340
lines changed

jabgui/src/main/java/org/jabref/gui/JabRefDialogService.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -526,11 +526,11 @@ public Optional<Path> showFileOpenFromArchiveDialog(Path archivePath) throws IOE
526526
}
527527

528528
@Override
529-
public void showCustomDialog(BaseDialog<?> aboutDialogView) {
530-
if (aboutDialogView.getOwner() == null) {
531-
aboutDialogView.initOwner(mainWindow);
529+
public void showCustomDialog(BaseDialog<?> dialogView) {
530+
if (dialogView.getOwner() == null) {
531+
dialogView.initOwner(mainWindow);
532532
}
533-
aboutDialogView.show();
533+
dialogView.show();
534534
}
535535

536536
@Override

jabgui/src/main/java/org/jabref/gui/JabRefGUI.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,8 +181,8 @@ public void initialize() {
181181

182182
JabRefGUI.themeManager = new ThemeManager(
183183
preferences.getWorkspacePreferences(),
184-
fileUpdateMonitor,
185-
Runnable::run);
184+
fileUpdateMonitor
185+
);
186186
Injector.setModelOrService(ThemeManager.class, themeManager);
187187

188188
JabRefGUI.countingUndoManager = new CountingUndoManager();

jabgui/src/main/java/org/jabref/gui/auximport/FromAuxDialog.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import org.jabref.gui.DialogService;
1212
import org.jabref.gui.LibraryTabContainer;
1313
import org.jabref.gui.StateManager;
14-
import org.jabref.gui.theme.ThemeManager;
1514
import org.jabref.gui.util.BaseDialog;
1615
import org.jabref.gui.util.ViewModelListCellFactory;
1716
import org.jabref.logic.l10n.Localization;
@@ -34,7 +33,6 @@ public class FromAuxDialog extends BaseDialog<Void> {
3433

3534
@Inject private CliPreferences preferences;
3635
@Inject private DialogService dialogService;
37-
@Inject private ThemeManager themeManager;
3836
@Inject private StateManager stateManager;
3937

4038
private final LibraryTabContainer tabContainer;
@@ -57,8 +55,6 @@ public FromAuxDialog(LibraryTabContainer tabContainer) {
5755
}
5856
return null;
5957
});
60-
61-
themeManager.updateFontStyle(getDialogPane().getScene());
6258
}
6359

6460
@FXML

jabgui/src/main/java/org/jabref/gui/errorconsole/ErrorConsoleView.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import org.jabref.gui.keyboard.KeyBinding;
2525
import org.jabref.gui.keyboard.KeyBindingRepository;
2626
import org.jabref.gui.preferences.GuiPreferences;
27-
import org.jabref.gui.theme.ThemeManager;
2827
import org.jabref.gui.util.BaseDialog;
2928
import org.jabref.gui.util.ControlHelper;
3029
import org.jabref.logic.l10n.Localization;
@@ -48,7 +47,6 @@ public class ErrorConsoleView extends BaseDialog<Void> {
4847
@Inject private ClipBoardManager clipBoardManager;
4948
@Inject private BuildInfo buildInfo;
5049
@Inject private KeyBindingRepository keyBindingRepository;
51-
@Inject private ThemeManager themeManager;
5250

5351
public ErrorConsoleView() {
5452
this.setTitle(Localization.lang("Event log"));
@@ -61,8 +59,6 @@ public ErrorConsoleView() {
6159
ControlHelper.setAction(copyLogButton, getDialogPane(), event -> copyLog());
6260
ControlHelper.setAction(clearLogButton, getDialogPane(), event -> clearLog());
6361
ControlHelper.setAction(createIssueButton, getDialogPane(), event -> createIssue());
64-
65-
themeManager.updateFontStyle(getDialogPane().getScene());
6662
}
6763

6864
@FXML

jabgui/src/main/java/org/jabref/gui/externalfiles/UnlinkedFilesDialogView.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
import org.jabref.gui.actions.StandardActions;
3737
import org.jabref.gui.icon.JabRefIcon;
3838
import org.jabref.gui.preferences.GuiPreferences;
39-
import org.jabref.gui.theme.ThemeManager;
4039
import org.jabref.gui.util.BaseDialog;
4140
import org.jabref.gui.util.FileNodeViewModel;
4241
import org.jabref.gui.util.IconValidationDecorator;
@@ -59,7 +58,6 @@
5958
import org.controlsfx.control.CheckTreeView;
6059

6160
public class UnlinkedFilesDialogView extends BaseDialog<Void> {
62-
6361
private static final String REFRESH_CLASS = "refresh";
6462

6563
@FXML private TextField directoryPathField;
@@ -89,7 +87,6 @@ public class UnlinkedFilesDialogView extends BaseDialog<Void> {
8987
@Inject private UndoManager undoManager;
9088
@Inject private TaskExecutor taskExecutor;
9189
@Inject private FileUpdateMonitor fileUpdateMonitor;
92-
@Inject private ThemeManager themeManager;
9390

9491
private final ControlsFxVisualizer validationVisualizer;
9592
private UnlinkedFilesDialogViewModel viewModel;
@@ -112,8 +109,6 @@ public UnlinkedFilesDialogView() {
112109
saveConfiguration();
113110
return null;
114111
});
115-
116-
themeManager.updateFontStyle(getDialogPane().getScene());
117112
}
118113

119114
@FXML

jabgui/src/main/java/org/jabref/gui/frame/JabRefFrame.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@
4848
import org.jabref.gui.search.SearchType;
4949
import org.jabref.gui.sidepane.SidePane;
5050
import org.jabref.gui.sidepane.SidePaneType;
51-
import org.jabref.gui.theme.ThemeManager;
5251
import org.jabref.gui.undo.CountingUndoManager;
5352
import org.jabref.gui.undo.RedoAction;
5453
import org.jabref.gui.undo.UndoAction;
@@ -510,8 +509,7 @@ public void showWelcomeTab() {
510509
taskExecutor,
511510
fileHistory,
512511
Injector.instantiateModelOrService(BuildInfo.class),
513-
preferences.getWorkspacePreferences(),
514-
Injector.instantiateModelOrService(ThemeManager.class)
512+
preferences.getWorkspacePreferences()
515513
);
516514
tabbedPane.getTabs().add(welcomeTab);
517515
tabbedPane.getSelectionModel().select(welcomeTab);

jabgui/src/main/java/org/jabref/gui/help/AboutDialogView.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,6 @@ public AboutDialogView() {
3737
.setAsDialogPane(this);
3838

3939
ControlHelper.setAction(copyVersionButton, getDialogPane(), ignored -> copyVersionToClipboard());
40-
41-
getDialogPane()
42-
.sceneProperty()
43-
.addListener((_, ignored, newScene) -> {
44-
if (newScene != null) {
45-
themeManager.updateFontStyle(newScene);
46-
}
47-
});
4840
}
4941

5042
public AboutDialogViewModel getViewModel() {

jabgui/src/main/java/org/jabref/gui/integrity/IntegrityCheckDialog.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import org.jabref.gui.LibraryTab;
2222
import org.jabref.gui.StateManager;
2323
import org.jabref.gui.entryeditor.EntryEditor;
24-
import org.jabref.gui.theme.ThemeManager;
2524
import org.jabref.gui.util.BaseDialog;
2625
import org.jabref.gui.util.ValueTableCellFactory;
2726
import org.jabref.gui.util.ViewModelTableRowFactory;
@@ -49,7 +48,6 @@ public class IntegrityCheckDialog extends BaseDialog<Void> {
4948
@FXML private VBox dialogVBox;
5049

5150
@Inject private EntryEditor entryEditor;
52-
@Inject private ThemeManager themeManager;
5351
@Inject private StateManager stateManager;
5452
private final List<IntegrityMessage> messages;
5553
private final LibraryTab libraryTab;
@@ -58,6 +56,7 @@ public class IntegrityCheckDialog extends BaseDialog<Void> {
5856
private TableFilter<IntegrityMessage> tableFilter;
5957
private BibLogSettingsPane bibLogSettingsPane;
6058
private final List<IntegrityMessage> blgWarnings = new ArrayList<>();
59+
6160
public IntegrityCheckDialog(List<IntegrityMessage> messages, LibraryTab libraryTab, DialogService dialogService) {
6261
this.messages = messages;
6362
this.libraryTab = libraryTab;
@@ -69,8 +68,6 @@ public IntegrityCheckDialog(List<IntegrityMessage> messages, LibraryTab libraryT
6968
ViewLoader.view(this)
7069
.load()
7170
.setAsDialogPane(this);
72-
73-
themeManager.updateFontStyle(getDialogPane().getScene());
7471
}
7572

7673
private void handleRowClick(IntegrityMessage message, MouseEvent event) {

jabgui/src/main/java/org/jabref/gui/libraryproperties/LibraryPropertiesView.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,18 @@
66
import javafx.scene.control.Tab;
77
import javafx.scene.control.TabPane;
88

9-
import org.jabref.gui.theme.ThemeManager;
109
import org.jabref.gui.util.BaseDialog;
1110
import org.jabref.gui.util.ControlHelper;
1211
import org.jabref.logic.l10n.Localization;
1312
import org.jabref.model.database.BibDatabaseContext;
1413

1514
import com.airhacks.afterburner.views.ViewLoader;
16-
import jakarta.inject.Inject;
1715

1816
public class LibraryPropertiesView extends BaseDialog<LibraryPropertiesViewModel> {
1917

2018
@FXML private TabPane tabPane;
2119
@FXML private ButtonType saveButton;
2220

23-
@Inject private ThemeManager themeManager;
24-
2521
private final BibDatabaseContext databaseContext;
2622
private LibraryPropertiesViewModel viewModel;
2723

@@ -39,8 +35,6 @@ public LibraryPropertiesView(BibDatabaseContext databaseContext) {
3935
} else {
4036
setTitle(Localization.lang("Library properties"));
4137
}
42-
43-
themeManager.updateFontStyle(getDialogPane().getScene());
4438
}
4539

4640
@FXML

jabgui/src/main/java/org/jabref/gui/preferences/PreferencesDialogView.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import org.jabref.gui.DialogService;
1414
import org.jabref.gui.icon.IconTheme;
1515
import org.jabref.gui.keyboard.KeyBinding;
16-
import org.jabref.gui.theme.ThemeManager;
1716
import org.jabref.gui.util.BaseDialog;
1817
import org.jabref.gui.util.ControlHelper;
1918
import org.jabref.gui.util.ViewModelListCellFactory;
@@ -40,7 +39,6 @@ public class PreferencesDialogView extends BaseDialog<PreferencesDialogViewModel
4039

4140
@Inject private DialogService dialogService;
4241
@Inject private GuiPreferences preferences;
43-
@Inject private ThemeManager themeManager;
4442

4543
private PreferencesDialogViewModel viewModel;
4644
private final Class<? extends PreferencesTab> preferencesTabToSelectClass;
@@ -61,8 +59,6 @@ public PreferencesDialogView(Class<? extends PreferencesTab> preferencesTabToSel
6159
event.consume();
6260
}
6361
});
64-
65-
themeManager.updateFontStyle(getDialogPane().getScene());
6662
}
6763

6864
public PreferencesDialogViewModel getViewModel() {

0 commit comments

Comments
 (0)