From a1221592688d7464bd0982c24e923a2890a098bc Mon Sep 17 00:00:00 2001 From: Sebastian Stenzel Date: Wed, 28 Aug 2019 14:17:34 +0200 Subject: [PATCH] Made tray menu localizable --- .../ui/fxapp/FxApplicationModule.java | 8 -------- .../ui/traymenu/TrayMenuController.java | 17 ++++++++++------- .../cryptomator/ui/traymenu/TrayMenuModule.java | 9 +++++++++ .../src/main/resources/i18n/strings.properties | 8 ++++++++ 4 files changed, 27 insertions(+), 15 deletions(-) diff --git a/main/ui/src/main/java/org/cryptomator/ui/fxapp/FxApplicationModule.java b/main/ui/src/main/java/org/cryptomator/ui/fxapp/FxApplicationModule.java index a1f0d2509..f735ba24e 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/fxapp/FxApplicationModule.java +++ b/main/ui/src/main/java/org/cryptomator/ui/fxapp/FxApplicationModule.java @@ -23,9 +23,7 @@ import org.cryptomator.ui.unlock.UnlockComponent; import javax.inject.Named; import java.io.IOException; import java.io.InputStream; -import java.io.UncheckedIOException; import java.util.Optional; -import java.util.ResourceBundle; @Module(includes = {KeychainModule.class, UpdateCheckerModule.class}, subcomponents = {MainWindowComponent.class, PreferencesComponent.class, UnlockComponent.class, QuitComponent.class}) abstract class FxApplicationModule { @@ -40,12 +38,6 @@ abstract class FxApplicationModule { return new SimpleObjectProperty<>(); } - @Provides - @FxApplicationScoped - static ResourceBundle provideLocalization() { - return ResourceBundle.getBundle("i18n.strings"); - } - @Provides @Named("windowIcon") @FxApplicationScoped diff --git a/main/ui/src/main/java/org/cryptomator/ui/traymenu/TrayMenuController.java b/main/ui/src/main/java/org/cryptomator/ui/traymenu/TrayMenuController.java index 69fecbd0a..7fdafb05c 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/traymenu/TrayMenuController.java +++ b/main/ui/src/main/java/org/cryptomator/ui/traymenu/TrayMenuController.java @@ -20,12 +20,14 @@ import java.awt.desktop.QuitResponse; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.EventObject; +import java.util.ResourceBundle; import java.util.concurrent.CountDownLatch; import java.util.function.Consumer; @TrayMenuScoped class TrayMenuController { + private final ResourceBundle resourceBundle; private final FxApplicationStarter fxApplicationStarter; private final CountDownLatch shutdownLatch; private final Settings settings; @@ -34,7 +36,8 @@ class TrayMenuController { private final BooleanBinding allLocked; @Inject - TrayMenuController(FxApplicationStarter fxApplicationStarter, @Named("shutdownLatch") CountDownLatch shutdownLatch, Settings settings, ObservableList vaults) { + TrayMenuController(ResourceBundle resourceBundle, FxApplicationStarter fxApplicationStarter, @Named("shutdownLatch") CountDownLatch shutdownLatch, Settings settings, ObservableList vaults) { + this.resourceBundle = resourceBundle; this.fxApplicationStarter = fxApplicationStarter; this.shutdownLatch = shutdownLatch; this.settings = settings; @@ -75,11 +78,11 @@ class TrayMenuController { private void rebuildMenu() { menu.removeAll(); - MenuItem showMainWindowItem = new MenuItem("TODO show"); + MenuItem showMainWindowItem = new MenuItem(resourceBundle.getString("traymenu.showMainWindow")); showMainWindowItem.addActionListener(this::showMainWindow); menu.add(showMainWindowItem); - MenuItem showPreferencesItem = new MenuItem("TODO preferences"); + MenuItem showPreferencesItem = new MenuItem(resourceBundle.getString("traymenu.showPreferencesWindow")); showPreferencesItem.addActionListener(this::showPreferencesWindow); menu.add(showPreferencesItem); @@ -90,7 +93,7 @@ class TrayMenuController { } menu.addSeparator(); - MenuItem quitApplicationItem = new MenuItem("TODO quit"); + MenuItem quitApplicationItem = new MenuItem(resourceBundle.getString("traymenu.quitApplication")); quitApplicationItem.addActionListener(this::quitApplication); menu.add(quitApplicationItem); } @@ -100,14 +103,14 @@ class TrayMenuController { // TODO add action listeners if (vault.isLocked()) { - MenuItem unlockItem = new MenuItem("TODO unlock"); + MenuItem unlockItem = new MenuItem(resourceBundle.getString("traymenu.vault.unlock")); unlockItem.addActionListener(createActionListenerForVault(vault, this::unlockVault)); submenu.add(unlockItem); } else if (vault.isUnlocked()) { - MenuItem lockItem = new MenuItem("TODO lock"); + MenuItem lockItem = new MenuItem(resourceBundle.getString("traymenu.vault.lock")); submenu.add(lockItem); - MenuItem revealItem = new MenuItem("TODO reveal"); + MenuItem revealItem = new MenuItem(resourceBundle.getString("traymenu.vault.reveal")); submenu.add(revealItem); } diff --git a/main/ui/src/main/java/org/cryptomator/ui/traymenu/TrayMenuModule.java b/main/ui/src/main/java/org/cryptomator/ui/traymenu/TrayMenuModule.java index 9fc9cbe96..d02cfe4b4 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/traymenu/TrayMenuModule.java +++ b/main/ui/src/main/java/org/cryptomator/ui/traymenu/TrayMenuModule.java @@ -1,10 +1,19 @@ package org.cryptomator.ui.traymenu; import dagger.Module; +import dagger.Provides; import org.cryptomator.common.JniModule; import org.cryptomator.ui.fxapp.FxApplicationComponent; +import java.util.ResourceBundle; + @Module(includes = {JniModule.class}, subcomponents = {FxApplicationComponent.class}) abstract class TrayMenuModule { + @Provides + @TrayMenuScoped + static ResourceBundle provideLocalization() { + return ResourceBundle.getBundle("i18n.strings"); + } + } diff --git a/main/ui/src/main/resources/i18n/strings.properties b/main/ui/src/main/resources/i18n/strings.properties index e9377d998..e314678ce 100644 --- a/main/ui/src/main/resources/i18n/strings.properties +++ b/main/ui/src/main/resources/i18n/strings.properties @@ -9,6 +9,14 @@ generic.button.create=Create generic.button.done=Done generic.button.next=Next +# Tray Menu +traymenu.showMainWindow=Show +traymenu.showPreferencesWindow=Preferences +traymenu.quitApplication=Quit +traymenu.vault.unlock=Unlock +traymenu.vault.lock=Lock +traymenu.vault.reveal=Reveal + # Add Vault Wizard addvaultwizard.title=Add Vault ## Welcome