ns-usbloader/src/main/java/nsusbloader/NSLMain.java

62 lines
2.3 KiB
Java
Raw Normal View History

2019-02-10 04:59:54 +03:00
package nsusbloader;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.stage.Stage;
2019-02-18 03:06:49 +03:00
import nsusbloader.Controllers.NSLMainController;
2019-02-10 04:59:54 +03:00
import java.util.Locale;
import java.util.ResourceBundle;
public class NSLMain extends Application {
2019-08-14 05:37:58 +03:00
public static final String appVersion = "v0.6";
2019-02-10 04:59:54 +03:00
@Override
public void start(Stage primaryStage) throws Exception{
2019-02-18 03:06:49 +03:00
FXMLLoader loader = new FXMLLoader(getClass().getResource("/NSLMain.fxml"));
Locale userLocale = new Locale(AppPreferences.getInstance().getLanguage()); // NOTE: user locale based on ISO3 Language codes
2019-03-14 23:41:17 +03:00
ResourceBundle rb = ResourceBundle.getBundle("locale", userLocale);
2019-02-10 04:59:54 +03:00
2019-02-11 05:13:31 +03:00
loader.setResources(rb);
Parent root = loader.load();
2019-02-10 04:59:54 +03:00
2019-02-11 05:13:31 +03:00
primaryStage.getIcons().addAll(
new Image(getClass().getResourceAsStream("/res/app_icon32x32.png")),
new Image(getClass().getResourceAsStream("/res/app_icon48x48.png")),
new Image(getClass().getResourceAsStream("/res/app_icon64x64.png")),
new Image(getClass().getResourceAsStream("/res/app_icon128x128.png"))
);
2019-02-10 04:59:54 +03:00
2019-03-13 06:45:07 +03:00
primaryStage.setTitle("NS-USBloader "+appVersion);
2019-02-11 05:13:31 +03:00
primaryStage.setMinWidth(600);
primaryStage.setMinHeight(375);
Scene mainScene = new Scene(root, 800, 400);
2019-02-18 03:06:49 +03:00
mainScene.getStylesheets().add(AppPreferences.getInstance().getTheme());
2019-02-11 05:13:31 +03:00
primaryStage.setScene(mainScene);
primaryStage.show();
2019-02-10 04:59:54 +03:00
2019-02-11 05:13:31 +03:00
primaryStage.setOnCloseRequest(e->{
if (MediatorControl.getInstance().getTransferActive())
if(! ServiceWindow.getConfirmationWindow(rb.getString("windowTitleConfirmExit"), rb.getString("windowBodyConfirmExit")))
e.consume();
});
2019-02-18 03:06:49 +03:00
NSLMainController controller = loader.getController();
controller.setHostServices(getHostServices());
2019-02-18 03:06:49 +03:00
primaryStage.setOnHidden(e-> controller.exit());
2019-02-10 04:59:54 +03:00
}
public static void main(String[] args) {
if ((args.length == 1) && (args[0].equals("-v") || args[0].equals("--version"))){
2019-02-11 05:13:31 +03:00
System.out.println("NS-USBloader "+NSLMain.appVersion);
2019-02-10 04:59:54 +03:00
}
else
launch(args);
}
}