Procházet zdrojové kódy

inject resource bundle

Sebastian Stenzel před 6 roky
rodič
revize
d0062b7e22

+ 8 - 0
main/ui/src/main/java/org/cryptomator/ui/FxApplicationModule.java

@@ -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");
+	}
 
 }

+ 3 - 2
main/ui/src/main/java/org/cryptomator/ui/addvaultwizard/AddVaultModule.java

@@ -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

+ 2 - 2
main/ui/src/main/java/org/cryptomator/ui/common/FXMLLoaderFactory.java

@@ -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;
 	}
 
 	/**

+ 3 - 2
main/ui/src/main/java/org/cryptomator/ui/mainwindow/MainWindowModule.java

@@ -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

+ 3 - 2
main/ui/src/main/java/org/cryptomator/ui/preferences/PreferencesModule.java

@@ -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

+ 3 - 2
main/ui/src/main/java/org/cryptomator/ui/unlock/UnlockModule.java

@@ -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