inject resource bundle

This commit is contained in:
Sebastian Stenzel
2019-07-25 12:25:53 +02:00
parent 1d3900b86c
commit d0062b7e22
6 changed files with 22 additions and 10 deletions

View File

@@ -17,6 +17,8 @@ import org.cryptomator.ui.model.Vault;
import org.cryptomator.ui.model.VaultList;
import org.cryptomator.ui.preferences.PreferencesComponent;
import java.util.ResourceBundle;
@Module(includes = {UiModule.class}, subcomponents = {MainWindowComponent.class, PreferencesComponent.class})
abstract class FxApplicationModule {
@@ -32,5 +34,11 @@ abstract class FxApplicationModule {
static ObjectProperty<Vault> provideSelectedVault() {
return new SimpleObjectProperty<>();
}
@Provides
@FxApplicationScoped
static ResourceBundle provideLocalization() {
return ResourceBundle.getBundle("i18n.strings");
}
}

View File

@@ -19,6 +19,7 @@ import org.cryptomator.ui.model.Vault;
import javax.inject.Provider;
import java.nio.file.Path;
import java.util.Map;
import java.util.ResourceBundle;
@Module
public abstract class AddVaultModule {
@@ -26,8 +27,8 @@ public abstract class AddVaultModule {
@Provides
@AddVaultWizard
@AddVaultWizardScoped
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories) {
return new FXMLLoaderFactory(factories);
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, ResourceBundle resourceBundle) {
return new FXMLLoaderFactory(factories, resourceBundle);
}
@Provides

View File

@@ -17,9 +17,9 @@ public class FXMLLoaderFactory {
private final Map<Class<? extends FxController>, Provider<FxController>> factories;
private final ResourceBundle resourceBundle;
public FXMLLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories) {
public FXMLLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, ResourceBundle resourceBundle) {
this.factories = factories;
this.resourceBundle = ResourceBundle.getBundle("i18n.strings");
this.resourceBundle = resourceBundle;
}
/**

View File

@@ -14,6 +14,7 @@ import org.cryptomator.ui.unlock.UnlockComponent;
import javax.inject.Provider;
import java.util.Map;
import java.util.ResourceBundle;
@Module(subcomponents = {AddVaultWizardComponent.class, UnlockComponent.class})
abstract class MainWindowModule {
@@ -21,8 +22,8 @@ abstract class MainWindowModule {
@Provides
@MainWindow
@MainWindowScoped
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories) {
return new FXMLLoaderFactory(factories);
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, ResourceBundle resourceBundle) {
return new FXMLLoaderFactory(factories, resourceBundle);
}
@Provides

View File

@@ -12,6 +12,7 @@ import org.cryptomator.ui.common.FxControllerKey;
import javax.inject.Provider;
import java.util.Map;
import java.util.ResourceBundle;
@Module
abstract class PreferencesModule {
@@ -19,8 +20,8 @@ abstract class PreferencesModule {
@Provides
@PreferencesWindow
@PreferencesScoped
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories) {
return new FXMLLoaderFactory(factories);
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, ResourceBundle resourceBundle) {
return new FXMLLoaderFactory(factories, resourceBundle);
}
@Provides

View File

@@ -15,6 +15,7 @@ import org.cryptomator.ui.model.Vault;
import javax.inject.Provider;
import java.util.Map;
import java.util.ResourceBundle;
@Module
abstract class UnlockModule {
@@ -22,8 +23,8 @@ abstract class UnlockModule {
@Provides
@UnlockWindow
@UnlockScoped
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories) {
return new FXMLLoaderFactory(factories);
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, ResourceBundle resourceBundle) {
return new FXMLLoaderFactory(factories, resourceBundle);
}
@Provides