mirror of
https://github.com/developersu/ns-usbloader.git
synced 2025-05-14 15:15:05 -04:00
v0.4.1:
Language could be selected by user manually. Minor changes to CSS.
This commit is contained in:
parent
082395bf80
commit
525262ebfe
12 changed files with 142 additions and 80 deletions
|
@ -1,5 +1,6 @@
|
|||
package nsusbloader;
|
||||
|
||||
import java.util.Locale;
|
||||
import java.util.prefs.Preferences;
|
||||
|
||||
public class AppPreferences {
|
||||
|
@ -105,4 +106,7 @@ public class AppPreferences {
|
|||
|
||||
public boolean getTfXCI(){return preferences.getBoolean("TF_XCI", false);}
|
||||
public void setTfXCI(boolean prop){ preferences.putBoolean("TF_XCI", prop); }
|
||||
|
||||
public String getLanguage(){return preferences.get("USR_LANG", Locale.getDefault().getISO3Language());}
|
||||
public void setLanguage(String langStr){preferences.put("USR_LANG", langStr);}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
package nsusbloader.Controllers;
|
||||
|
||||
import javafx.application.HostServices;
|
||||
import javafx.collections.FXCollections;
|
||||
import javafx.collections.ObservableList;
|
||||
import javafx.concurrent.Task;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.fxml.Initializable;
|
||||
|
@ -11,9 +13,10 @@ import nsusbloader.AppPreferences;
|
|||
import nsusbloader.ServiceWindow;
|
||||
import nsusbloader.ModelControllers.UpdatesChecker;
|
||||
|
||||
import javax.security.auth.callback.Callback;
|
||||
import java.io.File;
|
||||
import java.net.URL;
|
||||
import java.util.List;
|
||||
import java.util.ResourceBundle;
|
||||
import java.util.*;
|
||||
|
||||
public class SettingsController implements Initializable {
|
||||
|
||||
|
@ -48,6 +51,11 @@ public class SettingsController implements Initializable {
|
|||
@FXML
|
||||
private CheckBox tfXciSpprtCb;
|
||||
|
||||
@FXML
|
||||
private Button langBtn;
|
||||
@FXML
|
||||
private ChoiceBox<String> langCB;
|
||||
|
||||
private HostServices hs;
|
||||
|
||||
@Override
|
||||
|
@ -179,6 +187,31 @@ public class SettingsController implements Initializable {
|
|||
updates.start();
|
||||
});
|
||||
tfXciSpprtCb.setSelected(AppPreferences.getInstance().getTfXCI());
|
||||
|
||||
// Language settings area
|
||||
URL resourceURL = this.getClass().getResource("/");
|
||||
String[] filesList = new File(resourceURL.getFile()).list(); // Screw it. This WON'T produce NullPointerException
|
||||
|
||||
ObservableList<String> langCBObsList = FXCollections.observableArrayList();
|
||||
langCBObsList.add("eng");
|
||||
|
||||
for (String jarFileName : filesList)
|
||||
if (jarFileName.startsWith("locale_"))
|
||||
langCBObsList.add(jarFileName.substring(7, 10));
|
||||
|
||||
langCB.setItems(langCBObsList);
|
||||
if (langCBObsList.contains(AppPreferences.getInstance().getLanguage()))
|
||||
langCB.getSelectionModel().select(AppPreferences.getInstance().getLanguage());
|
||||
else
|
||||
langCB.getSelectionModel().select("eng");
|
||||
|
||||
langBtn.setOnAction(e->{
|
||||
AppPreferences.getInstance().setLanguage(langCB.getSelectionModel().getSelectedItem());
|
||||
ServiceWindow.getInfoNotification("",
|
||||
ResourceBundle.getBundle("locale", new Locale(langCB.getSelectionModel().getSelectedItem()))
|
||||
.getString("windowBodyRestartToApplyLang"));
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
public boolean getExpertModeSelected(){ return expertModeCb.isSelected(); }
|
||||
|
|
|
@ -18,7 +18,7 @@ public class NSLMain extends Application {
|
|||
|
||||
FXMLLoader loader = new FXMLLoader(getClass().getResource("/NSLMain.fxml"));
|
||||
|
||||
Locale userLocale = new Locale(Locale.getDefault().getISO3Language()); // NOTE: user locale based on ISO3 Language codes
|
||||
Locale userLocale = new Locale(AppPreferences.getInstance().getLanguage()); // NOTE: user locale based on ISO3 Language codes
|
||||
ResourceBundle rb = ResourceBundle.getBundle("locale", userLocale);
|
||||
|
||||
loader.setResources(rb);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue